using UnityEngine;
namespace WS
{
///视图
public abstract class View : WSComponent
{
///UIObj
public GameObject UIGameObject;
///窗体类型
public ViewGroup Group = ViewGroup.From;
///窗体显示位置类型
public ViewShowModeType ShowModeType = ViewShowModeType.Screen;
///窗体状态
public ViewShowType ShowType = ViewShowType.Close;
///动画
public AnimationComponent AnimComponent;
///View对象被创建,UIGameObject被创建;还没有在Canvas渲染(作为数据、UI初始化操作)
public abstract void LoadInit();
///设置显示位置
public virtual void SetPosition() { }
///设置显示位置
public virtual void SetPosition(Vector3 pos, Quaternion rot)
{
#if PLATFORM_PICO
if (ShowModeType != ViewShowModeType.Screen)
{
UIGameObject.transform.parent.position = pos;
UIGameObject.transform.parent.rotation = rot;
return;
}
#endif
UIGameObject.transform.localPosition = pos;
UIGameObject.transform.localRotation = rot;
}
///打开View(在Canvas上渲染、或者是UI动画播放完成)
public virtual void OnOpen() { }
public override void Dispose()
{
base.Dispose();
UIGameObject = null;
Group = ViewGroup.From;
ShowType = ViewShowType.Close;
ShowModeType = ViewShowModeType.Screen;
}
}
}