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; } } }