Exemplo n.º 1
0
    private bool _inSwarm = true;                      //is this bot currently part of the players swarm

    #endregion

    private void Start()
    {
        _rb     = GetComponent <Rigidbody>();
        _player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerDrone>();
        _player?.swarm.Add(gameObject); //Add this bot to the swarm
        _carrot = GameObject.FindGameObjectWithTag("Carrot").transform;
        headTexture.material.color = Color.HSVToRGB(Random.Range(0f, 1f), Random.Range(.2f, 1f), Random.Range(.5f, 1f));

        InvokeRepeating(nameof(FlockingControl), 0, 1 / UpdateFrequency);
    }
Exemplo n.º 2
0
    private void GuardDroneFire()
    {
        foreach (GameObject go in guardDrones)
        {
            PlayerDrone drone = null;

            if (go.TryGetComponent(out drone))
            {
                drone.Attack();
            }
        }
    }
Exemplo n.º 3
0
    public void SpawnDrone()
    {
        guardDroneCount++;
        guardDrones.Add(Instantiate(guardDrone, ship.head.transform.position, Quaternion.identity, null));

        for (int i = 0; i < guardDrones.Count; i++)
        {
            PlayerDrone atk = null;

            if (guardDrones[i].TryGetComponent(out atk))
            {
                atk.side = i;
            }
        }

        AlignDrones();
    }
Exemplo n.º 4
0
    public void AlignDrones()
    {
        foreach (GameObject go in guardDrones)
        {
            PlayerDrone drone = go.GetComponent <PlayerDrone>();
            switch (drone.side)
            {
            case 0:
                drone.targetPosition = ship.head.transform.right + ship.head.transform.position;
                break;

            case 1:
                drone.targetPosition = ship.head.transform.up + ship.head.transform.position;
                break;

            case 2:
                drone.targetPosition = -ship.head.transform.right + ship.head.transform.position;
                break;
            }
        }
    }
Exemplo n.º 5
0
 public PlayerDroneMapUnit(Map map, PlayerDrone playerDrone, Vector movementOffset)
     : base(map, playerDrone, movementOffset)
 {
     this.playerDrone = playerDrone;
 }