Esempio n. 1
0
 // Use this for initialization
 void Start()
 {
     gameManager  = GameObject.FindGameObjectWithTag("gameManager");
     enemyCreator = gameManager.GetComponent <EnemyCreator>();
     rb           = GetComponent <Rigidbody2D>();
     StartCoroutine("Action");
 }
    void Start()
    {
        //this will find the Player object
        initialPos = player.rbody.transform.position;         //sets the initial position of the player when the scene starts

        enemyCreator = GameObject.Find("EnemyManager").GetComponent <EnemyCreator>();
    }
        private void buildFinalBossWave(EnemyWave newWave, ContentManager _content)
        {
            _creator = new ConcreteFinalBossCreator();
            Vector2 pos = new Vector2(300, 50);

            newWave.addEnemy(_creator.CreateEnemy(pos, Vector2.One, _content, new EnemyMovements()));
        }
Esempio n. 4
0
        protected override void ProcessOneEntity(int entityId, float deltaTime)
        {
            // gather data for selection
            var enemySpawner = GameState.GameData.EnemySpawner[entityId];

            // selection
            if (enemySpawner == null)
            {
                return;
            }

            // process data
            var es         = enemySpawner.Value;
            var onCooldown = es.SpawnOnCooldown;

            if (onCooldown)
            {
                es.SpawnCooldownTime -= deltaTime;
                es.SpawnCooldownTime  = MathHelper.Clamp(es.SpawnCooldownTime, 0.0f, _cooldownTime);
            }
            else
            {
                // spawn enemy
                var   spawnPosition = new Vector2(RandomGenerator.Instance.GetRandomFloat(0, DeviceManager.Instance.ScreenWidth), -_distanceAboveScreenToSpawn);
                float velocity      = RandomGenerator.Instance.GetRandomFloat(_minimumEnemyVelocity, _maximumEnemyVelocity);
                EnemyCreator.Create(spawnPosition, new Vector2(0.0f, velocity), GameState);

                // put on cooldown
                es.SpawnCooldownTime = _cooldownTime;
            }

            // update data
            GameState.GameData.EnemySpawner[entityId] = es;
        }
    void Start()
    {
        PLAYER = GameObject.Find("Hero");
        ARMY = GameObject.Find("FellowHeroes");

        oc = GetComponentInChildren<ObstacleCreator>();
        ec = GetComponentInChildren<EnemyCreator>();
        bc = GetComponentInChildren<BoulderCreator>();

        timer = DifficultyIncreaseTimer;

        LEVEL_LENGTH_Z = LevelCreator.LengthConverter(LevelCreator.LEVEL_LENGTH) * 64 - 32;

        if (LevelCreator.INF_MODE)
        {
            SOLDIER_RATIO = 1;
            ec.RecalcTimer();
            CATAPULT_RATIO = 1;
            bc.RecalcTimer();
            OBSTACLE_RATIO = 1;
            oc.RecalcTimer();
            GUIScript.DIFFICULTY_INCREASE = 1;

            GUIScript.MAX_TIMER = DifficultyIncreaseTimer;
            GUIScript.INF_TIMER = 0;
        }
    }
Esempio n. 6
0
    private EnemyCreator enemy_creator = null;                  // 방해 캐릭터 크리에이터.

    // ================================================================ //
    // MonoBehaviour에서 상속.

    void    Start()
    {
        this.player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerControl>();

        //

        this.last_block.is_created = false;

        this.level_control = new LevelControl();
        this.level_control.initialize();
        this.level_control.loadLevelData(this.level_data_text);

        this.player.level_control = this.level_control;

        //

        this.game_root     = this.gameObject.GetComponent <GameRoot>();
        this.block_creator = this.gameObject.GetComponent <BlockCreator>();
        this.coin_creator  = this.gameObject.GetComponent <CoinCreator>();
        this.enemy_creator = this.gameObject.GetComponent <EnemyCreator>();

        this.block_creator.map_creator = this;
        this.coin_creator.map_creator  = this;
        this.enemy_creator.map_creator = this;

        //

        this.create_floor_block();
    }
Esempio n. 7
0
 private void OnTriggerEnter2D(Collider2D collider)
 {
     if (!isVisited && collider.tag == "Player")
     {
         ErrorActivator errorActivator;
         collider.gameObject.TryGetComponent <ErrorActivator>(out errorActivator);
         if (errorActivator != null)
         {
             errorActivator.FixAll();
             isVisited = true;
             SpriteRenderer renderer = GetComponent <SpriteRenderer>();
             unvisitedSprite.enabled = false;
             visitedSprite.enabled   = true;
             repairSound.Play();
             EnemyCreator enemyCreator = enemyManager.GetComponent <EnemyCreator>();
             enemyCreator.enemyDelayMin -= 0.2f;
             enemyCreator.enemyDelayMax -= 0.2f;
             if (enemyCreator.enemyDelayMin <= 0)
             {
                 enemyCreator.enemyDelayMin = 0;
             }
             if (enemyCreator.enemyDelayMax <= 0)
             {
                 enemyCreator.enemyDelayMax = 0;
             }
             enemyCreator.Enemies[0].spawnProbability -= 0.05f;
             enemyCreator.Enemies[1].spawnProbability += 0.05f;
             StartCoroutine(AddPlanetText());
         }
     }
 }
Esempio n. 8
0
    void Start()
    {
        Singleton = this;

        winMenu.SetActive(false);

        StartCoroutine(CreateWave(enemyWaveModels[waveIndex]));
    }
        // Adds each enemy to the enemy list, implementing Factory Pattern
        void AddEnemy(EnemyCreator creator)
        {
            int randY = random.Next(100, 400); // height of viewport is 400

            Enemy enemy = creator.AddEnemy(_content, randY);

            _enemies.Add(enemy);
        }
Esempio n. 10
0
 // Use this for initialization
 void Start()
 {
     target       = GameObject.FindGameObjectWithTag("Player");
     gameManager  = GameObject.FindGameObjectWithTag("gameManager");
     enemyCreator = gameManager.GetComponent <EnemyCreator>();
     player       = target.GetComponent <Player>();
     StartCoroutine("Action");
 }
Esempio n. 11
0
 void Start()
 {
     STOPPED              = false;
     levelManager         = this;
     levelStart           = false;
     enemyCreator         = GetComponent <EnemyCreator>();
     enemyCreator.enabled = false;
     joystick.SetActive(false);
 }
Esempio n. 12
0
 public void SetPool(Pool pool)
 {
     paths = pool.GetGroup(Matcher.PathsModel);
     enemies = pool.GetGroup(Matcher.EnemiesModel);
     difficulty = pool.GetGroup(Matcher.DifficultyController);
     enemyCreator = new EnemyCreator(pool);
     bossCreator = new BossCreator(pool);
     weaponProvider = new WeaponProvider();
     Random.seed = pool.count;
 }
Esempio n. 13
0
    void Start()
    {
        rbody          = GetComponentInChildren <Rigidbody2D>();
        currentHealth  = maxHealth;
        anim           = GetComponent <Animator>();
        moveSound      = GetComponent <AudioSource> ();
        moveSound.clip = footsteps[0];

        heartManager = FindObjectOfType <HeartManager> ().GetComponent <HeartManager> ();
        enemyCreator = GameObject.Find("EnemyManager").GetComponent <EnemyCreator>();        //new
    }
 private void buildGruntAWave2(EnemyWave newWave, ContentManager _content)
 {
     _creator = new ConcreteGruntACreator();
     for (int j = 0; j < 4; j++)
     {
         EnemyMovements moves = new EnemyMovements();
         for (int i = 0; i < 10; i++)
         {
             moves.addMovement(new MoveDown(3.0));
             moves.addMovement(new MoveUp(3.0));
         }
         Vector2 pos = new Vector2(j * 100, 0);
         Vector2 vel = new Vector2(-1, 1);
         newWave.addEnemy(_creator.CreateEnemy(pos, vel, _content, moves));
     }
 }
        private void buildGruntBWave1(EnemyWave newWave, ContentManager _content)
        {
            _creator = new ConcreteGruntBCreator();
            int height = 50;

            for (int j = 1; j < 5; j++)
            {
                EnemyMovements moves = new EnemyMovements();
                for (int i = 0; i < 10; i++)
                {
                    moves.addMovement(new MoveLeft(6.0));
                    moves.addMovement(new MoveRight(6.0));
                }
                Vector2 pos = new Vector2(800 - (j * 100), height);
                Vector2 vel = new Vector2(-1, 1);
                newWave.addEnemy(_creator.CreateEnemy(pos, vel, _content, moves));
                height += 100;
            }
        }
        private void buildGruntBWave2(EnemyWave newWave, ContentManager _content)
        {
            _creator = new ConcreteGruntBCreator();
            int width = 350;

            for (int j = 1; j < 5; j++)
            {
                EnemyMovements moves = new EnemyMovements();
                for (int i = 0; i < 10; i++)
                {
                    moves.addMovement(new MoveUp(3.0));
                    moves.addMovement(new MoveDown(3.0));
                }
                Vector2 pos = new Vector2(width, 300);
                Vector2 vel = new Vector2(-1, 1);
                newWave.addEnemy(_creator.CreateEnemy(pos, vel, _content, moves));
                width += 100;
            }
        }
Esempio n. 17
0
    public override void OnInspectorGUI()
    {
        EnemyCreator enemy = (EnemyCreator)target;

        EditorGUILayout.LabelField("Create an enemy bot");
        enemy.prefab       = (GameObject)EditorGUILayout.ObjectField("Enemy Prefab", enemy.prefab, typeof(GameObject), true);
        enemy.position     = (Vector3)EditorGUILayout.Vector3Field("Enemy Position", enemy.position);
        enemy.visionRadius = (float)EditorGUILayout.FloatField("Vision Collider Radius", enemy.visionRadius);
        enemy.speed        = (float)EditorGUILayout.FloatField("Enemy Speed", enemy.speed);
        if (GUILayout.Button("Create Enemy"))
        {
            if (enemy.CreateEnemy())
            {
                GUILayout.Box("Inimigo criado com sucesso!");
            }
            else
            {
                GUILayout.Box("Falha ao criar!");
            }
        }
    }
        private void buildWaveFromFile(EnemyWave newWave, String filename, ContentManager _content)
        {
            waveObj JSON = JsonConvert.DeserializeObject <waveObj>(File.ReadAllText(dirpath + filename));

            //'C:\Users\elifo\Desktop\MyStuff\School Projects\487sp19_bulletgame\content\BulletGame\wave5.json'.'
            for (int enemyIdx = 0; enemyIdx < JSON.enemies.Count; enemyIdx++)
            {
                if (JSON.enemies[enemyIdx].type == "GruntA")
                {
                    _creator = new ConcreteGruntACreator();
                }
                else if (JSON.enemies[enemyIdx].type == "GruntB")
                {
                    _creator = new ConcreteGruntBCreator();
                }
                else if (JSON.enemies[enemyIdx].type == "MidBoss")
                {
                    _creator = new ConcreteMidBossCreator();
                }
                else if (JSON.enemies[enemyIdx].type == "FinalBoss")
                {
                    _creator = new ConcreteFinalBossCreator();
                }
                EnemyMovements  moves           = new EnemyMovements();
                MovementFactory movementFactory = new MovementFactory();
                for (int rep = 0; rep < JSON.enemies[enemyIdx].movementRepetitions; rep++)
                {
                    for (int moveIdx = 0; moveIdx < JSON.enemies[enemyIdx].movements.Count; moveIdx++)
                    {
                        moves.addMovement(movementFactory.makeMovement(JSON.enemies[enemyIdx].movements[moveIdx].type, JSON.enemies[enemyIdx].movements[moveIdx].duration));
                    }
                }

                Vector2 pos = new Vector2(JSON.enemies[enemyIdx].startPos[0], JSON.enemies[enemyIdx].startPos[1]);
                Vector2 vel = new Vector2(JSON.enemies[enemyIdx].startVel[0], JSON.enemies[enemyIdx].startVel[1]);
                newWave.addEnemy(_creator.CreateEnemy(pos, vel, _content, moves));
            }
        }
Esempio n. 19
0
        private static void populateGameCharacters(__FloorPlan.__Room room, GridBoundList <GameCharacter> chars, Random rand, int dungeonLevel, int heroLevel)
        {
            switch (room.type)
            {
            case __FloorPlan.__Room.__RoomType.BOSS_ROOM:
                if (room.isFree(room.GetCenter()))
                {
                    chars.Add(EnemyCreator.GetRandomBoss(dungeonLevel), room.GetCenter());
                }
                break;

            case __FloorPlan.__Room.__RoomType.NOTHING_SPECIAL:
                foreach (var pos in room.GetCells())
                {
                    if (rand.NextDouble() > 0.98 && room.isFree(pos))
                    {
                        chars.Add(EnemyCreator.GetRandomEnemy(1, dungeonLevel)[0], pos);
                    }
                    //lights.Add(new ColorEnvironment(new Color(rand.Next(100,256), rand.Next(100,256), rand.Next(100,256)), false), position);
                }
                break;

            case __FloorPlan.__Room.__RoomType.MOB_ROOM:
                Enemy[] enemies = EnemyCreator.GetRandomEnemy(rand.Next(2, 6), dungeonLevel);
                int     dropped = 1;
                chars.Add(enemies[0], room.GetCenter());
                foreach (var dir in Direction.Values)
                {
                    if (dropped < enemies.Length && (room.isFree(room.GetCenter() + dir)))
                    {
                        chars.Add(enemies[dropped], room.GetCenter() + dir);
                        dropped++;
                    }
                }
                break;
            }
        }
Esempio n. 20
0
    private void updateEnemyInfo(AreaStatus curAS)
    {
        int enemyID = curAS.enemyID;

        if (enemyID < 0)
        {
            textEnemy.text     = "无敌人";
            textEstimated.text = "";
            return;
        }

        if (!curAS.enemy_alive)
        {
            textEnemy.text     = "敌人已被消灭";
            textEstimated.text = "";
            return;
        }

        Enemy enemy = new EnemyCreator().createByID(enemyID);

        textEnemy.text = enemy.name;

        Player player = GameController.Instance.CurrentPlayer;

        if (player)
        {
            FightResult efr = new Fight(new Fighter(player), enemy).estimatedResult();

            if (efr.result == (int)WinOrLose.Win)
            {
                textEstimated.text = "预计损失血量" + efr.damage;
                return;
            }
            textEstimated.text = "不可战胜";
        }
    }
Esempio n. 21
0
    // ================================================================ //
    // MonoBehaviour からの継承.
    void Start()
    {
        this.player = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerControl>();

        //

        this.last_block.is_created = false;

        this.level_control = new LevelControl();
        this.level_control.initialize();
        this.level_control.loadLevelData(this.level_data_text);

        this.player.level_control = this.level_control;

        //

        this.game_root     = this.gameObject.GetComponent<GameRoot>();
        this.block_creator = this.gameObject.GetComponent<BlockCreator>();
        this.coin_creator  = this.gameObject.GetComponent<CoinCreator>();
        this.enemy_creator = this.gameObject.GetComponent<EnemyCreator>();

        this.block_creator.map_creator = this;
        this.coin_creator.map_creator = this;
        this.enemy_creator.map_creator = this;

        //

        this.create_floor_block();
    }
 void Awake()
 {
     marchingSoundManager = GetComponent <MarchingSoundManager>();
     enemyCreator         = GetComponent <EnemyCreator>();
 }
 /// <summary>
 /// Set enemy creator to be used.
 /// </summary>
 public void SetEnemyCreator(EnemyCreator enemyCreator) => EnemyCreator = enemyCreator;