示例#1
0
    void PerformedClickOnTerrain(int mouse_button, bool queue_order, ref RaycastHit hit)
    {
        if (mouse_button == 1)
        {
            if (!queue_order)
            {
                orders.Clear();
            }

            MoveOrder move_order = new MoveOrder(stats, transform.position);
            orders.Add(move_order);
            move_order.hasStarted = true;

            seeker.StartPath(transform.position, hit.point, move_order.SetNewPath);
        }
        else if (mouse_button == 0)
        {
            if (!queue_order)
            {
                orders.Clear();
            }

            AttackMoveOrder attack_move_order = new AttackMoveOrder(stats, transform.position, seeker, hit.point, gameObject);
            attack_move_order.SetProjectilePrefab(projectilePrefab);
            orders.Add(attack_move_order);
        }
    }
示例#2
0
    // Use this for initialization
    void Start()
    {
        seeker  = GetComponent <Seeker>();
        stats   = GetComponent <UnitStatsComponent>();
        goal_go = GameObject.FindGameObjectWithTag("goal");

        if (!goal_go)
        {
            Debug.Log("Could not find goal.");
        }

        attackMoveOrder = new AttackMoveOrder(stats, transform.position, seeker, goal_go.transform.position, gameObject);
        attackMoveOrder.SetProjectilePrefab(projectilePrefab);
        attackMoveOrder.enemyLayer = LayerMasks.Ally10;
    }