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(); } } }
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; } }
protected abstract void SetState(ButtonColorEnum state);
public ButtonColorArgs(ButtonColorEnum color) { this.color = color; }