Пример #1
0
    private void OnTriggerExit(Collider other)
    {
        LittleDude oLd = other.gameObject.GetComponent <LittleDude>();

        if (isRed)
        {
            if (other.gameObject.CompareTag("Blue"))
            {
                if (enemyTargets.Contains(oLd))
                {
                    enemyTargets.Remove(oLd);
                }
            }
        }
        if (isBlue)
        {
            if (other.gameObject.CompareTag("Red"))
            {
                if (enemyTargets.Contains(oLd))
                {
                    enemyTargets.Remove(oLd);
                }
            }
        }
    }
    public void EnemyDetection()
    {
        enemiesNearby.Clear();
        Collider[] hitColliders = Physics.OverlapSphere(transform.position, panicDistance);
        foreach (var hitCollider in hitColliders)
        {
            if (ld.isBlue && ld.isInOpponentArea)
            {
                if (hitCollider.gameObject.CompareTag("Red"))
                {
                    enemiesNearby.Add(hitCollider.GetComponent <LittleDude>());
                }
            }
            else if (ld.isRed && ld.isInOpponentArea)
            {
                if (hitCollider.gameObject.CompareTag("Blue"))
                {
                    enemiesNearby.Add(hitCollider.GetComponent <LittleDude>());
                }
            }
        }

        if (enemiesNearby.Count > 0)
        {
            emergencyOverride = true;
            closestEnemy      = GetClosestEnemy();
            ld.SetSprint();
        }
        else
        {
            emergencyOverride = false;
        }
    }
 private void Start()
 {
     if (!ld)
     {
         ld = GetComponent <LittleDude>();
     }
 }
Пример #4
0
    private void Start()
    {
        if (ld == null)
        {
            ld = GetComponent <LittleDude>();
        }

        if (!battleInfo)
        {
            battleInfo = BattleInfo.instance.battleInfo.GetComponent <BattleInfo>();
        }

        if (ld.isBlue)
        {
            enemyFlag = battleInfo.redFlag;
        }
        else
        {
            enemyFlag = battleInfo.blueFlag;
        }


        if (ld.navTarget != enemyFlag.transform.position)
        {
            ld.SetDestination(enemyFlag.transform.position);
        }
    }
Пример #5
0
    private void Start()
    {
        battleInfo = BattleInfo.instance.battleInfo.GetComponent <BattleInfo>();

        if (!ld)
        {
            ld = GetComponent <LittleDude>();
        }
    }
Пример #6
0
    private void FriendlyHitCheck()
    {
        LittleDude targ = hitBox.ClosestFriendlyTarget();

        if (targ != null)
        {
            targ.JailBreak();
        }
    }
Пример #7
0
    private void HitCheck()
    {
        LittleDude targ = hitBox.ClosestEnemyTarget();

        if (targ != null)
        {
            targ.Tag();
        }
    }
Пример #8
0
    public void PopulateTeamLists()
    {
        for (int i = 0; i < blueParent.childCount; i++)
        {
            LittleDude ldB = blueParent.GetChild(i).GetComponent <LittleDude>();
            blueTeam.Add(ldB);

            LittleDude ldR = redParent.GetChild(i).GetComponent <LittleDude>();
            redTeam.Add(ldR);
        }
    }
Пример #9
0
    private void Start()
    {
        if (!battleInfo)
        {
            battleInfo = BattleInfo.instance.battleInfo.GetComponent <BattleInfo>();
        }

        if (!ld)
        {
            ld = GetComponent <LittleDude>();
        }

        StartCoroutine(InvadersCheckRoutine());
    }
Пример #10
0
    private void Start()
    {
        // Outside scripts setup
        if (!battleInfo)
        {
            battleInfo = BattleInfo.instance.battleInfo.GetComponent <BattleInfo>();
        }

        if (!ld)
        {
            ld = GetComponent <LittleDude>();
        }

        // This template will use it's starting position as it's "return to base" position.
        startPosition = transform.position;
    }
Пример #11
0
    private void OnTriggerEnter(Collider other)
    {
        LittleDude oLd = other.gameObject.GetComponent <LittleDude>();

        if (isRed)
        {
            if (other.gameObject.CompareTag("Blue") && !oLd.tagged)
            {
                if (!enemyTargets.Contains(oLd))
                {
                    enemyTargets.Add(oLd);
                }
            }

            //Friendly
            if (other.gameObject.CompareTag("Red") && oLd.tagged && oLd.inJail)
            {
                if (oLd.transform != GetComponent <LittleDude>())
                {
                    if (!friendlyTargets.Contains(oLd))
                    {
                        friendlyTargets.Add(oLd);
                    }
                }
            }
        }
        if (isBlue)
        {
            if (other.gameObject.CompareTag("Red") && !oLd.tagged)
            {
                if (!enemyTargets.Contains(oLd))
                {
                    enemyTargets.Add(oLd);
                }
            }

            //Friendly
            if (other.gameObject.CompareTag("Blue") && oLd.tagged && oLd.inJail)
            {
                if (!friendlyTargets.Contains(oLd))
                {
                    friendlyTargets.Add(oLd);
                }
            }
        }
    }
Пример #12
0
 public void GetClosestInvader()
 {
     if (ld.isBlue)
     {
         if (battleInfo.redInvaders.Count > 0)
         {
             target = battleInfo.GetClosest(battleInfo.redInvaders, transform.position);
             if (target != null)
             {
                 hasTarget = true;
             }
             else
             {
                 hasTarget = false;
             }
         }
         else
         {
             hasTarget = false;
         }
     }
     else
     {
         if (battleInfo.blueInvaders.Count > 0)
         {
             target = battleInfo.GetClosest(battleInfo.blueInvaders, transform.position);
             if (target != null)
             {
                 hasTarget = true;
             }
             else
             {
                 hasTarget = false;
             }
         }
         else
         {
             hasTarget = false;
         }
     }
 }
Пример #13
0
    public void PickUp(Transform _flagSlot, LittleDude _ld)
    {
        atHomeBase = false;
        pickedUp   = true;
        dropped    = false;

        if (isBlue)
        {
            battleInfo.redHasBlueFlag     = true;
            battleInfo.blueFlagDropped    = false;
            battleInfo.redGuyWithBlueFlag = _ld;
        }
        else
        {
            battleInfo.blueHasRedFlag     = true;
            battleInfo.redFlagDropped     = false;
            battleInfo.blueGuyWithRedFlag = _ld;
        }

        transform.position = _flagSlot.position;
        transform.parent   = _flagSlot;
    }
Пример #14
0
    private void Update()
    {
        if (target != null)
        {
            if (target.tagged || !target.isInOpponentArea)
            {
                target    = null;
                hasTarget = false;
            }
        }

        if (!ld.tagged)
        {
            if (hasTarget)
            {
                if (ld.isBlue)
                {
                    if (battleInfo.redHasBlueFlag && target != battleInfo.redGuyWithBlueFlag)
                    {
                        target = battleInfo.redGuyWithBlueFlag;
                    }
                }
                else
                {
                    if (battleInfo.blueHasRedFlag && target != battleInfo.blueGuyWithRedFlag)
                    {
                        target = battleInfo.blueGuyWithRedFlag;
                    }
                }
                ld.SetDestination(target.transform.position);
                ld.SetSprint();
            }
            else
            {
                ld.SetDestination(transform.position);
            }
        }
    }