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); }
public ActionItemData GetCurActionItemData() { if (actionDic != null) { foreach (var itemdata in actionDic) { ActionItemData ad = itemdata.Value; if (ad.IsSelect()) { return(ad); } } } return(null); }
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; }
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(); } }