ArcadeRPG.MonsterEngine.fire C# (CSharp) Метод

fire() приватный Метод

private fire ( ArcadeRPG.Enemy monster ) : void
monster ArcadeRPG.Enemy
Результат void
        void fire(Enemy monster)
        {
            int player_x = game_state.local_player.getX();
            int player_y = game_state.local_player.getY();
            int monster_x = monster.getX();
            int monster_y = monster.getY();
            int fire_x = 0;
            int fire_y = 0;
            int min = 0;
            int max = 0;
            PlayerDir dir = PlayerDir.UP;
            Random random = new Random();
            bool fire = false;

            if (player_x < monster_x + monster.getWidth() && player_x > monster_x - monster.getWidth())
            {
                fire = true;
                min = monster.getX();
                max = monster.getX()+monster.getWidth();
                fire_x = random.Next(min,max);
                if (monster_y - player_y >= 0)
                {
                    dir = PlayerDir.UP;
                    fire_y = monster.getY() + 5;
                }
                else
                {
                    dir = PlayerDir.DOWN;
                    fire_y = monster.getY() + monster.getHeight();
                }
            }
            else if (player_y < monster_y + monster.getHeight() && player_y > monster_y - monster.getHeight())
            {
                fire = true;
                min = monster.getY();
                max = monster.getY() + monster.getHeight();
                fire_y = random.Next(min, max);
                if (monster_x - player_x >= 0)
                {
                    dir = PlayerDir.LEFT;
                    fire_x = monster.getX() - 5;
                }
                else
                {
                    dir = PlayerDir.RIGHT;
                    fire_x = monster.getX() + monster.getWidth();
                }
            }
            if (fire)
            {
                game_state.bullet_engine.fire(fire_x, fire_y, dir, bulletOwner.ENEMY, bulletType.SMALL);
                fire = false;
            }
            else
            {
                this.advance(monster);
            }
             //Place holder till bullet system works
        }