using ShadowStudio.Tool;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace ShadowStudio.Model
{
///
/// 美术资源容器
///
public interface ArtContainer
{
///
/// 获取物体的信息
///
///
GoodsInfo GetGoodsInfo();
void AddArtComponent(ArtComponent component);
///
/// 添加到容器
///
///
void AddToContainer(UnityEngine.Object art, ArtInfo info);
///
/// 获取容器类型
///
///
ArtType GetArtType();
///
/// 获取容器的实例
///
///
GameObject GetInstace();
///
/// 销毁容器
///
void DestroyArt();
///
/// 设置当前的容器的显示或隐藏
///
///
void SetArtActive(bool isShow);
///
/// 播放动效
///
void PlayEffect();
///
/// 发送当前的姿态
/// 此函数已失效,请使用SendTransfer(int state, int status);
///
//void SendTransfer(int state, bool isEditting);
void SendTransfer(int state, int status);
///
/// 同步容器的状态
///
void TransferSyn(GoodsInfo goods, bool smooth = true);
///
/// 锁定此容器
///
void LockContainer();
///
/// 解锁此容器
///
void UnLockContainer();
///
/// 能否被编辑
///
///
bool CanEditor();
///
/// 获取容器的缩略图
///
///
Texture GetContainerIcon();
void GetContainerIcon(Action load);
///
/// 设置资源的帮助实例化类
///
///
void SetArtHandler(ArtHandler handler);
///
/// 设置物体选中状态
///
void SetSelect();
///
/// 设置物体非选中状态
///
void UnSetSelect();
///
/// 重置编辑菜单的位置
///
void ResetEditorPosition();
///
/// 获取物体编辑节点
///
///
Transform GetEditorCenter();
///
/// 后退
///
bool GoBack();
///
/// 前进
///
bool GoAhead();
///
/// 获取可后退的步数
///
///
int BackCount();
///
/// 获取可前进的步数
///
///
int AheadCount();
///
/// 克隆此物体
///
void CloneContainer();
///
/// 物体的坐标,本地相对坐标
///
Vector3 Position { get; set; }
///
/// 物体的角度,本地相对角度
///
Vector3 Angle { get; set; }
///
/// 物体的缩放值
///
Vector3 Scale { get; set; }
///
/// 此物体距离头部的距离
///
float Distance { get; }
///
/// 物体的透明度
///
float Alpha { get; set; }
///
/// 物体的颜色值
///
Color GoodsColor { get; set; }
///
/// 物体编辑
///
TransferCell Transfer { get; set; }
ArtComponent ArtComponent{ get; }
void UpdateProcess(float process);
}
}