Пример #1
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "Enemy")
        {
            EnemyWalker walker = collision.gameObject.GetComponent <EnemyWalker>();
            if (walker)
            {
                walker.IsDead();
            }
            Destroy(gameObject);
        }
        if (collision.gameObject.tag == "Enemy")
        {
            EnemyTurret turret = collision.gameObject.GetComponent <EnemyTurret>();
            if (turret)
            {
                turret.IsDead();
            }
            Destroy(gameObject);
        }



        if (collision.gameObject.tag != "Player" && collision.gameObject.tag != "Pickup")
        {
            Destroy(gameObject);
        }
    }
Пример #2
0
        private Rectangle GetEnemyWalkerAnimation(EnemyWalker enemy)
        {
            if (enemy == null)
            {
                return(new Rectangle());
            }
            var res = new Rectangle(new Point(23 * 16 + enemy.CurrentFrame * 16, 11 * 16), new Size(16, 16));

            ChangeEnemyAnimation(enemy);
            return(res);
        }
Пример #3
0
        private void SpawnEnemies()
        {
            _chanceToSpawnEnemy += _difficulty;
            var randomX = Randomizer.Random(CurrentLevel.Width);
            var randomY = Randomizer.Random(CurrentLevel.Height);

            if (CurrentLevel[randomX, randomY].EntityEnumType != GameEntitiesEnum.EmptySpace ||
                _chanceToSpawnEnemy < Randomizer.Random(100))
            {
                return;
            }

            var chanceToSpawn = Randomizer.Random(101);

            if (CurrentLevel._chanceToSpawnSmartDevil > chanceToSpawn)
            {
                CurrentLevel[randomX, randomY] =
                    new SmartDevil(randomX, randomY, () => CurrentLevel, () => Player.PositionX,
                                   () => Player.PositionY, SubstractPlayerHp, () => Player, _playSound);
                _chanceToSpawnEnemy = 0;
            }

            else if (CurrentLevel._chanceToSpawnSmartSkeleton > chanceToSpawn)
            {
                CurrentLevel[randomX, randomY] =
                    new SmartSkeleton(randomX, randomY, () => CurrentLevel, () => Player.PositionX,
                                      () => Player.PositionY, SubstractPlayerHp, () => Player, _playSound);
                _chanceToSpawnEnemy = 0;
            }
            else if (CurrentLevel._chanceToSpawnSmartPeaceful > chanceToSpawn)
            {
                CurrentLevel[randomX, randomY] =
                    new SmartPeaceful(randomX, randomY, () => CurrentLevel, () => Player.PositionX,
                                      () => Player.PositionY, SubstractPlayerHp, () => Player, _playSound);
                _chanceToSpawnEnemy = 0;
            }
            else if (CurrentLevel._chanceToSpawnSmartDigger > chanceToSpawn)
            {
                CurrentLevel[randomX, randomY] =
                    new EnemyDigger(randomX, randomY, () => CurrentLevel, () => Player.PositionX,
                                    () => Player.PositionY, SubstractPlayerHp);
                _chanceToSpawnEnemy = 0;
            }
            else
            {
                CurrentLevel[randomX, randomY] =
                    new EnemyWalker(randomX, randomY, () => CurrentLevel, () => Player.PositionX,
                                    () => Player.PositionY, SubstractPlayerHp);
                _chanceToSpawnEnemy = 0;
            }
        }
Пример #4
0
    void OnTriggerEnter2D(Collider2D hitInfo)
    {
        Debug.Log(hitInfo.name);
        EnemyWalker enemy = hitInfo.GetComponent <EnemyWalker> ();

        if (enemy != null)
        {
            enemy.TakeDamage(damage);
            Vector2 m_NewForce = new Vector2(rb.velocity.x / 4f, 1.2f);
            enemy.GetComponent <Rigidbody2D> ().AddForce(m_NewForce, ForceMode2D.Impulse);
        }

        Instantiate(impactEffect, transform.position, Quaternion.identity);
        Destroy(gameObject);
    }
Пример #5
0
    void Behave()
    {
        EnemyWalker script = GetComponent <EnemyWalker>();

        script.enabled = true;
    }