public void AddActionItem(ARAction action, UnityAction callback) { GameObject item = Object.Instantiate(Item.gameObject, Group.transform) as GameObject; ActionItem actionItem = item.GetComponent <ActionItem>(); actionItem.InitItem(action, callback); actionItem.gameObject.SetActive(true); }
protected override void Init() { ActionQueue = new ARQueue <ARAction>(); ActionCombineTypeDic = new Dictionary <ActionLib, List <ActionLib> >(); isOnActionExcuting = false; currentExcutingAction = null; RegisterMsg((int)MsgLib.AddAction, this); RegisterMsg((int)MsgLib.ActionFinish, this); }
public void OnActionFinish() { isOnActionExcuting = false; if (currentExcutingAction != null && !ActionQueue.Contains(currentExcutingAction)) { currentExcutingAction.GainBenefit(); } currentExcutingAction = null; }
public void AddAction(ActionLib type, float time, int exp) { if (ActionQueue == null) { ActionQueue = new ARQueue <ARAction>(); } if (ActionQueue.Count >= 7) { Debug.Log("Current action queue is full"); return; } ARAction action = new ARAction(); action.InitAction(type, time, exp); TestButtons.Instance.AddActionItem(action, OnActionFinish); ActionQueue.EnQueue(action); }
public void ExcuteAction() { if (ActionQueue == null || ActionQueue.Count == 0) { return; } if (isOnActionExcuting) { return; } if (currentExcutingAction != null) { return; } currentExcutingAction = ActionQueue.DeQueue(); currentExcutingAction.ActionStart(); isOnActionExcuting = true; }