Ejemplo n.º 1
0
        public override void Execute()
        {
            MovementController mc = initiator.GetComponent <MovementController>();
            ObjectInfo         oi = initiator.GetComponent <ObjectInfo>();

            switch (type)
            {
            case ActionType.HARVEST:
            {
                mc.Move(targetObject.transform.position);
                oi.status = UnitStatus.GATHERING;
            }
            break;

            case ActionType.ATTACK:
            {
                mc.Move(targetObject.transform.position);
                oi.status = UnitStatus.ATTACKING;
                oi.GetComponent <DamageDealer>().SetTarget(targetObject.GetComponent <Destroyable>());
            }
            break;

            default: Debug.LogError("No such type of action"); break;
            }
        }
Ejemplo n.º 2
0
        void SetPrimary(ObjectInfo objectInfo)
        {
            Debug.Log("primary selected");
            if (primaryObject != null && primaryObject != objectInfo) //if we already have a primary, clear the unit display
            {
                Debug.Log("we still have a primary");
                ReleaseUI();
            }
            primaryObject       = objectInfo;
            taskManagerSelected = objectInfo.GetComponent <TaskManager>();
            if (FindObjectOfType <GameController>().UIon)
            {
                taskQueuePanelControl.ClearActionDisplay();
                taskQueuePanelControl.DisplayActions(taskManagerSelected);

                BindUI(objectInfo.gameObject);
                Debug.Log("Unit Selected Trigger Released");
            }
        }