private void CompleteElements(ActionObj element, bool undo) { lockQueue.Remove(element); var active = lockQueue.Find(x => x.Name == element.Name); if (active == null) { for (int i = 0; i < elementPool.Count; i++) { if (log) { Debug.Log("CompleteElements:" + element.Name + elementPool[i].Active); } if (elementPool[i].Active) { if (undo) { elementPool[i].StepUnDo(); } else { elementPool[i].StepComplete(); } } } } }
public void OnUpdate() { if (!_IsWorking) { if (nodes.Count == 0) { return; } if (headNode == null) { headNode = nodes[0]; } switch (headNode.Working) { case 1: nodes.RemoveAt(0); headNode.StartWorking(); break; case 3: headNode = nodes.Count > 0 ? nodes[0] : null; OnUpdate(); break; } } }
protected virtual void Awake() { actionObj = gameObject.GetComponent <ActionObj>(); actionObj.onStartExecute.AddListener(OnBeforeActive); actionObj.onBeforeComplete.AddListener(OnBeforeComplete); actionObj.onUnDoExecute.AddListener(OnBeforeUnDo); }
/// <summary> /// 点击NPC处理路牌相关(路牌是NPC的一种类型) /// </summary> private void ClickNPC_Street() { if (ActionObj != null) { playerState.StreetID = ClickInteractiveNPCID; IGameState iGameState = GameState.Instance.GetEntity <IGameState>(); playerState.StreetScene = iGameState.SceneName; ActionObj.SetActive(true); } }
private void ActiveElements(ActionObj element) { var actived = lockQueue.Find(x => x.Name == element.Name); if (actived == null) { for (int i = 0; i < elementPool.Count; i++) { if (log) { Debug.Log("ActiveElements:" + element.Name + (!elementPool[i].Active && !elementPool[i].HaveBinding)); } if (!elementPool[i].Active && !elementPool[i].HaveBinding) { elementPool[i].StepActive(); } } } lockQueue.Add(element); }
public void Dispose() { headNode = null; nodes.Clear(); }