Пример #1
0
        void LeftClick()
        {
            //左键单击
            // CurMemInfo = null;
            TimeLineData data = TimeLineDataManager.Instance.GetCurSelectTimeLine();

            if (data == null)
            {
                return;
            }
            data.InitDefaultTime();
            Type t = data.GetType();

            data.SetFieldValue(data);
            var memInfo = t.GetMethods();

            TimeLineDataManager.Instance.memDic.Clear();
            int selectKey = -1;

            TimeLineDataManager.Instance.curOperationAction = null;
            foreach (MethodInfo info in memInfo)
            {
                foreach (var item in data.GetActionDic())
                {
                    ActionItemData ad = item.Value;
                    if (ad.IsSelect())
                    {
                        foreach (var name in ad.methodNameList)
                        {
                            if (name == info.Name)
                            {
                                TimeLineDataManager.Instance.AddGUIMemInfo(info);
                            }
                        }
                        //移除要操作的action 用临时变量保存
                        TimeLineDataManager.Instance.curOperationAction = ad.Clone();
                        selectKey = ad.index;
                    }
                    else
                    {
                        if (LastSelectGridY != CurSelectGridY)
                        {
                            //更换timeline
                            //  TimeLineDataManager.Instance.curOperationAction = null;
                        }
                    }
                }
            }

            data.DeleteAction(selectKey);
        }
Пример #2
0
 public ActionItemData GetCurActionItemData()
 {
     if (actionDic != null)
     {
         foreach (var itemdata in actionDic)
         {
             ActionItemData ad = itemdata.Value;
             if (ad.IsSelect())
             {
                 return(ad);
             }
         }
     }
     return(null);
 }
Пример #3
0
        public void InitDefaultTime()
        {
            ActionItemData ad = GetCurActionItemData();

            if (ad != null)
            {
                if (ad.IsSelect())
                {
                    endTime   = ad.actionEndTime;
                    startTime = ad.actionStartTime;
                    return;
                }
            }
            endTime   = (TimeLineDataManager.Instance.SelectColumn) * TimeLineDataManager.Instance.TickDelta;
            startTime = TimeLineDataManager.Instance.SelectColumn * TimeLineDataManager.Instance.TickDelta;
        }
Пример #4
0
        void ShowMenu()
        {
            GenericMenu menu = new GenericMenu();

            if (CurSelectGridY < 0)
            {
                return;
            }
            if (CurSelectGridY < TimeLineDataManager.Instance.GetTimeLineCount())
            {
                var data = TimeLineDataManager.Instance.GetTimeLineByIndex(CurSelectGridY);
                foreach (var item in data.GetActionDic())
                {
                    ActionItemData ad = item.Value;
                    if (ad.IsSelect())
                    {
                        int index = Mathf.CeilToInt(ad.actionStartTime / TimeLineDataManager.Instance.TickDelta);
                        if (index != CurSelectGridX)
                        {
                            return;
                        }
                    }
                }

                Type   t        = data.GetType();
                string testName = GetTimeLineName(t);

                menu.AddDisabledItem(new GUIContent(testName));
                menu.AddSeparator("");
                var memInfo = t.GetMethods();

                foreach (MethodInfo info in memInfo)
                {
                    GridMenuItemAttribute[] attrArray = info.GetCustomAttributes(typeof(GridMenuItemAttribute), false) as GridMenuItemAttribute[];
                    for (int i = 0; i < attrArray.Length; i++)
                    {
                        GridMenuItemAttribute attrbute = attrArray[i];
                        // menu.AddItem(new GUIContent(attrbute.MenuDescription), false, (GenericMenu.MenuFunction2)DelegateCreate(info, typeof(GenericMenu.MenuFunction2), target), "adc");
                        menu.AddItem(new GUIContent(attrbute.MenuDescription), false, ClickMenuItem, info);
                    }
                }

                menu.ShowAsContext();
            }
        }