Пример #1
0
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



    IEnumerator AITRAshDestroy()
    {
        //--------------

        while (true)
        {
            yield return(delay1);

            if (enemyAiEnd == true && friendlyAiEnd == true)
            {
                TrashForAI.InTrash(gameObject);
            }
        }

        //--------------
    }
Пример #2
0
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



    void OnCollisionEnter(Collision collision)
    {
        //--------------

        if (dead == false)
        {
            collisionObject = collision.collider.gameObject;

            if (collisionObject.layer == 13)
            {
                if (collisionObject.CompareTag("Bullet Default"))
                {
                    currentDamage = 4;
                    counter6      = 3;
                    contusion     = true;
                }
                Damage();
            }

            if (collisionObject.layer == 12)
            {
                if (collisionObject.CompareTag("Bullet Destroyer"))
                {
                    currentDamage = 0.2f;
                    counter6      = 20;
                    contusion     = true;
                }
                Damage();
            }
        }

        if (collisionObject.gameObject.layer == 25)
        {
            TrashForAI.InTrash(gameObject);
        }

        //--------------
    }
Пример #3
0
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



    void OnCollisionEnter(Collision collision)
    {
        //--------------

        collisionObject = collision.collider.gameObject;

        if (dead == false)
        {
            if (collisionObject.layer == 12)
            {
                if (Class_Interface.powerEnabled == false)
                {
                    if (collisionObject.CompareTag("Bullet Default"))
                    {
                        currentDamage = 2;
                    }
                    if (collisionObject.CompareTag("Bullet Light"))
                    {
                        currentDamage = 4;
                        counter6      = 40;
                        contusion     = true;
                    }
                    if (collisionObject.CompareTag("Bullet Laser"))
                    {
                        currentDamage = 2;
                    }
                }
                else
                {
                    if (collisionObject.CompareTag("Bullet Default"))
                    {
                        currentDamage = 4;
                        counter6      = 3;
                        contusion     = true;
                    }
                    if (collisionObject.CompareTag("Bullet Light"))
                    {
                        currentDamage = 7;
                        counter6      = 80;
                        contusion     = true;
                    }
                    if (collisionObject.CompareTag("Bullet Laser"))
                    {
                        currentDamage = 3;
                    }
                }

                if (collisionObject.CompareTag("Bullet Destroyer"))
                {
                    currentDamage = 40;
                    counter6      = 30;
                    contusion     = true;
                }

                injuredByPlayer = true;
                Damage();
            }

            if (collisionObject.layer == 15)
            {
                if (collisionObject.CompareTag("Bullet Default"))
                {
                    currentDamage   = 4;
                    counter6        = 3;
                    contusion       = true;
                    injuredByPlayer = false;
                }
                Damage();
            }
        }

        if (collisionObject.gameObject.layer == 25)
        {
            TrashForAI.InTrash(gameObject);
        }

        //--------------

        if (dead == false && collisionObject.layer == 11 && collisionObject != null)
        {
            MineralsPool.TakeMineral(collisionObject);
            if (collisionObject.CompareTag("Mineral 0"))
            {
                amountDamage = 0;
            }
        }

        //--------------
    }
Пример #4
0
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



    IEnumerator Core()
    {
        //--------------

        yield return(delay4);

        //--------------

        while (dead == false)
        {
            SeesEnemiesOrPlayer();
            SetCurrentState();
            RandomAction();
            AvoidObstacles();

            if (distanceToPlayer < distanceLod0)
            {
                if (lodUpdate0 == true || lodUpdate1 == true)
                {
                    lodUpdate0 = lodUpdate1 = false;
                }
                if (lodSpeed != 1)
                {
                    lodSpeed = 1;
                }
                if (playerIsVisible == false && enemiesIsVisible == false)
                {
                    yield return(delay2);
                }
                else
                {
                    yield return(delay1);
                }
            }
            else if (distanceToPlayer >= distanceLod0 && distanceToPlayer < distanceLod1)
            {
                if (lodUpdate0 == false)
                {
                    lodUpdate0 = true;
                }
                if (lodUpdate1 == true)
                {
                    lodUpdate1 = false;
                }
                if (lodSpeed != 3)
                {
                    lodSpeed = 3;
                }
                if (playerIsVisible == false && enemiesIsVisible == false)
                {
                    yield return(delay3);
                }
                else
                {
                    yield return(delay2);
                }
            }
            else if (distanceToPlayer >= distanceLod1 && distanceToPlayer < distanceLod2)
            {
                if (lodUpdate1 == false)
                {
                    lodUpdate1 = true;
                }
                if (lodSpeed != 10)
                {
                    lodSpeed = 10;
                }
                if (playerIsVisible == false && enemiesIsVisible == false)
                {
                    yield return(delay4);
                }
                else
                {
                    yield return(delay3);
                }
            }
            else if (distanceToPlayer >= distanceLod2)
            {
                if (lodUpdate1 == false)
                {
                    lodUpdate1 = true;
                }
                if (playerIsVisible == false && enemiesIsVisible == false && planetSelectedLod == false)
                {
                    if (lodSpeed != 0)
                    {
                        lodSpeed = 0;
                    }
                    yield return(delay2a);
                }
                else
                {
                    if (lodSpeed != 10)
                    {
                        lodSpeed = 10;
                    }
                    yield return(delay3);
                }
            }
        }

        //--------------

        weaponSparks.SetActive(false);

        while (dead == true)
        {
            yield return(delay3);

            if (counter7 < deadHideTime)
            {
                counter7++;
                if (counter7 == 2)
                {
                    gameObject.layer = 28;
                }
            }
            else if (inVisible == true)
            {
                TrashForAI.InTrash(gameObject);
            }
        }

        //--------------
    }