Exemplo n.º 1
0
 /// <summary>
 /// 只允许UIManager调用,关闭面板
 /// </summary>
 public virtual void Close()
 {
     this.gameObject.SetActive(false);
     _viewShowStatus = ViewShowStatus.Hide;
     _viewOpenStatus = ViewOpenStatus.Close;
     CloseCallback();
 }
Exemplo n.º 2
0
        public override void OnInspectorGUI()
        {
            //获取脚本对象
            BaseView script = target as BaseView;

            // 面板打开状态
            ViewOpenStatus viewStatus = script.ViewOpenStatus;

            switch (viewStatus)
            {
            case ViewOpenStatus.Close:
                EditorGUILayout.LabelField("面板打开状态:关闭");
                break;

            case ViewOpenStatus.Open:
                EditorGUILayout.LabelField("面板打开状态:打开");

                // 面板显示状态
                ViewShowStatus viewShowStatus = script.ViewShowStatus;
                switch (viewShowStatus)
                {
                case ViewShowStatus.Show:
                    EditorGUILayout.LabelField("面板显示状态:显示");
                    break;

                case ViewShowStatus.Hide:
                    EditorGUILayout.LabelField("面板显示状态:隐藏");
                    break;

                default:
                    break;
                }
                break;

            default:
                break;
            }

            script.uiType.uiViewType = (UIViewType)EditorGUILayout.EnumPopup("面板类型:", script.uiType.uiViewType);
            if (script.uiType.uiViewType == UIViewType.Normal)
            {
                script.uiType.uiViewShowMode   = (UIViewShowMode)EditorGUILayout.EnumPopup("面板显示类型:", script.uiType.uiViewShowMode);
                script.uiType.uiViewLucenyType = (UIViewLucenyType)EditorGUILayout.EnumPopup("面板背景类型:", script.uiType.uiViewLucenyType);
            }

            if (script.uiType.uiViewType != UIViewType.PopUp)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("释放秒数:");
                script.disposeTime = EditorGUILayout.FloatField(script.disposeTime);
                EditorGUILayout.EndHorizontal();
            }

            Undo.RecordObject(target, GetType().ToString());  // 用了这个才能让EditorGUILayout.EnumPopup更改触发保存
            if (GUI.changed)
            {
                EditorUtility.SetDirty(target);
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// 只允许UIManager调用,打开面板
 /// </summary>
 public virtual void Open()
 {
     _viewOpenStatus = ViewOpenStatus.Open;
     OpenCallback();
 }