Beispiel #1
0
 public void SetState(ButtonColorEnum state)
 {
     if (!isLock && state != currentState)
     {
         _currentState = state;
         if (this.onColorChange != null)
         {
             onColorChange(this, new ButtonColorArgs(state));
         }
     }
 }
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
            bool isLock = EditorGUILayout.Toggle("Lock", ctrl.isLock);

            if (Application.isPlaying && isLock != ctrl.isLock)
            {
                ctrl.SetLock(isLock);
            }
            if (Application.isPlaying && !isLock)
            {
                ButtonColorEnum state = (ButtonColorEnum)EditorGUILayout.EnumPopup("當前狀態", ctrl.currentState);
                if (Application.isPlaying && state != ctrl.currentState)
                {
                    ctrl.SetState(state);
                }
                if (GUILayout.Button("Trigger") && Application.isPlaying)
                {
                    ctrl.Trigger();
                }
            }
        }
Beispiel #3
0
        protected override void SetState(ButtonColorEnum state)
        {
            switch (state)
            {
            case ButtonColorEnum.HIGHT_LIGHTED:
                button.color = highlight;
                break;

            case ButtonColorEnum.PRESSED:
                button.color = pressed;
                break;

            case ButtonColorEnum.NORMALL:
                button.color = normall;
                break;

            case ButtonColorEnum.DISABLE:
                button.color = disable;
                break;

            default:
                break;
            }
        }
Beispiel #4
0
 protected abstract void SetState(ButtonColorEnum state);
Beispiel #5
0
 public ButtonColorArgs(ButtonColorEnum color)
 {
     this.color = color;
 }