Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
        public void OnActionFinish()
        {
            isOnActionExcuting = false;
            if (currentExcutingAction != null && !ActionQueue.Contains(currentExcutingAction))
            {
                currentExcutingAction.GainBenefit();
            }

            currentExcutingAction = null;
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        public void ExcuteAction()
        {
            if (ActionQueue == null || ActionQueue.Count == 0)
            {
                return;
            }

            if (isOnActionExcuting)
            {
                return;
            }

            if (currentExcutingAction != null)
            {
                return;
            }

            currentExcutingAction = ActionQueue.DeQueue();
            currentExcutingAction.ActionStart();
            isOnActionExcuting = true;
        }