//clones another dropdown item from template private tk2dUIDropDownItem CreateAnotherDropDownItem() { GameObject go = Instantiate(dropDownItemTemplate.gameObject) as GameObject; go.name = "DropDownItem"; go.transform.parent = transform; go.transform.localPosition = dropDownItemTemplate.transform.localPosition; go.transform.localRotation = dropDownItemTemplate.transform.localRotation; go.transform.localScale = dropDownItemTemplate.transform.localScale; tk2dUIDropDownItem item = go.GetComponent <tk2dUIDropDownItem>(); item.OnItemSelected += ItemSelected; tk2dUIUpDownHoverButton itemUpDownHoverBtn = go.GetComponent <tk2dUIUpDownHoverButton>(); item.upDownHoverBtn = itemUpDownHoverBtn; itemUpDownHoverBtn.OnToggleOver += DropDownItemHoverBtnToggle; #if UNITY_3_0 || UNITY_3_1 || UNITY_3_2 || UNITY_3_3 || UNITY_3_4 || UNITY_3_5 || UNITY_3_6 || UNITY_3_7 || UNITY_3_8 || UNITY_3_9 go.SetActiveRecursively(false); #endif return(item); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); tk2dUIUpDownHoverButton upDownHoverButton = (tk2dUIUpDownHoverButton)target; upDownHoverButton.upStateGO = tk2dUICustomEditorGUILayout.SceneObjectField("Up State GameObject", upDownHoverButton.upStateGO, target); upDownHoverButton.downStateGO = tk2dUICustomEditorGUILayout.SceneObjectField("Down State GameObject", upDownHoverButton.downStateGO, target); upDownHoverButton.hoverOverStateGO = tk2dUICustomEditorGUILayout.SceneObjectField("Hover State GameObject", upDownHoverButton.hoverOverStateGO, target); EditorGUIUtility.LookLikeControls(200); bool newUseOnReleaseInsteadOfOnUp = EditorGUILayout.Toggle("Use OnRelease Instead of OnUp", upDownHoverButton.UseOnReleaseInsteadOfOnUp); if (newUseOnReleaseInsteadOfOnUp != upDownHoverButton.UseOnReleaseInsteadOfOnUp) { upDownHoverButton.InternalSetUseOnReleaseInsteadOfOnUp(newUseOnReleaseInsteadOfOnUp); GUI.changed = true; } if (GUI.changed) { EditorUtility.SetDirty(upDownHoverButton); } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); tk2dUIUpDownHoverButton upDownHoverButton = (tk2dUIUpDownHoverButton)target; upDownHoverButton.upStateGO = tk2dUICustomEditorGUILayout.SceneObjectField("Up State GameObject", upDownHoverButton.upStateGO, target); upDownHoverButton.downStateGO = tk2dUICustomEditorGUILayout.SceneObjectField("Down State GameObject", upDownHoverButton.downStateGO, target); upDownHoverButton.hoverOverStateGO = tk2dUICustomEditorGUILayout.SceneObjectField("Hover State GameObject", upDownHoverButton.hoverOverStateGO, target); EditorGUIUtility.LookLikeControls(200); bool newUseOnReleaseInsteadOfOnUp = EditorGUILayout.Toggle("Use OnRelease Instead of OnUp", upDownHoverButton.UseOnReleaseInsteadOfOnUp); if (newUseOnReleaseInsteadOfOnUp != upDownHoverButton.UseOnReleaseInsteadOfOnUp) { upDownHoverButton.InternalSetUseOnReleaseInsteadOfOnUp(newUseOnReleaseInsteadOfOnUp); GUI.changed = true; } BeginMessageGUI(); methodBindingUtil.MethodBinding("On Toggle Over", typeof(tk2dUIUpDownHoverButton), upDownHoverButton.SendMessageTarget, ref upDownHoverButton.SendMessageOnToggleOverMethodName); EndMessageGUI(); if (GUI.changed) { EditorUtility.SetDirty(upDownHoverButton); } }
private void DropDownItemHoverBtnToggle(tk2dUIUpDownHoverButton upDownHoverButton) { if (upDownHoverButton.IsOver) { foreach (tk2dUIDropDownItem item in dropDownItems) { if (item.upDownHoverBtn != upDownHoverButton && item.upDownHoverBtn != null) { item.upDownHoverBtn.IsOver = false; } } } }
private void DropDownItemHoverBtnToggle(tk2dUIUpDownHoverButton upDownHoverButton) { if (upDownHoverButton.IsOver) { foreach (tk2dUIDropDownItem item in this.dropDownItems) { if ((item.upDownHoverBtn != upDownHoverButton) && (item.upDownHoverBtn != null)) { item.upDownHoverBtn.IsOver = false; } } } }