예제 #1
0
 static int AddState(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UI.StateHandle obj = (UI.StateHandle)ToLua.CheckObject(L, 1, typeof(UI.StateHandle));
         obj.AddState();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #2
0
        public override void OnInspectorGUI()
        {
            using (new AutoLabelWidth(100))
            {
                //初始状态
                GUI.changed      = false;
                m_cur.m_curState = EditorGUILayout.Popup("初始状态", m_cur.m_curState, m_cur.StateName);
                float duration   = UnityEditor.EditorGUILayout.FloatField("持续时间", m_cur.Duration);
                bool  isRealtime = UnityEditor.EditorGUILayout.Toggle("真实时间", m_cur.IsRealTime);
                if (GUI.changed)
                {
                    m_cur.SetState(m_cur.m_curState, false);
                    if (duration != m_cur.Duration)
                    {
                        m_cur.Duration = duration;
                    }
                    if (isRealtime != m_cur.IsRealTime)
                    {
                        m_cur.IsRealTime = isRealtime;
                    }
                    EditorUtil.SetDirty(m_cur);
                }

                if (m_cur.EnableCtrlState)
                {
                    GUI.changed      = false;
                    m_cur.m_ctrlType = (StateHandle.CtrlType)EditorGUILayout.EnumPopup("控制类型", m_cur.m_ctrlType);
                    if (GUI.changed)
                    {
                        EditorUtil.SetDirty(m_cur);
                    }
                }


                //共有状态的操作对象
                DrawPublicGo();

                //状态们
                for (int i = 0; i < m_cur.m_states.Count; ++i)
                {
                    DrawState(m_cur.m_states[i], i);
                }

                //增加状态按钮
                if (GUILayout.Button("增加状态", GUILayout.Height(30)))
                {
                    m_cur.AddState();
                }
            }
        }