Пример #1
0
 public static void LoadEnemyEncounter(Character character, GameData.EnemyEncounter enemyEncounter)
 {
     OvermapHandler.SaveAllCharacterPositions();
     BattleHandler.character      = character;
     BattleHandler.enemyEncounter = enemyEncounter;
     Loader.Load(Loader.Scene.BattleScene);
 }
Пример #2
0
    public void Start(CameraFollow cameraFollow)
    {
        this.cameraFollow = cameraFollow;
        cameraFollow.Setup(() => Vector3.zero, () => 50f, true, true);
        cameraFollow.SetCameraMoveSpeed(10f);
        cameraFollow.SetCameraZoomSpeed(10f);
        ResetCamera();

        // Set up Battle Scene
        foreach (Character character in GameData.characterList)
        {
            if (character.isInPlayerTeam)
            {
                LanePosition lanePosition;
                switch (character.type)
                {
                default:
                case Character.Type.Player:
                    lanePosition = LanePosition.Middle;
                    break;

                case Character.Type.Tank:
                    lanePosition = LanePosition.Down;
                    break;

                case Character.Type.Healer:
                    lanePosition = LanePosition.Up;
                    break;
                }

                SpawnCharacter(character.type, lanePosition, true, character.stats);
            }
        }

        GameData.EnemyEncounter enemyEncounter = BattleHandler.enemyEncounter;
        for (int i = 0; i < enemyEncounter.enemyBattleArray.Length; i++)
        {
            GameData.EnemyEncounter.EnemyBattle enemyBattle = enemyEncounter.enemyBattleArray[i];
            SpawnCharacter(enemyBattle.characterType, enemyBattle.lanePosition, false,
                           new Character(enemyBattle.characterType).stats);
        }

        SetActiveCharacterBattle(GetAliveTeamCharacterBattleList(true)[0]);
        SetSelectedTargetCharacterBattle(GetAliveTeamCharacterBattleList(false)[0]);

        lastPlayerActiveLanePosition = GetAliveTeamCharacterBattleList(true)[0].GetLanePosition();
        lastEnemyActiveLanePosition  =
            GetNextLanePosition(GetAliveTeamCharacterBattleList(false)[0].GetLanePosition(), true);

        state = State.WaitingForPlayer;
    }
    private void Awake()
    {
        new BattleHandler();

        if (BattleHandler.enemyEncounter == null)
        {
            Debug.Log("#### Debug Enemy Encounter");
            GameData.EnemyEncounter enemyEncounter = new GameData.EnemyEncounter {
                enemyBattleArray = new GameData.EnemyEncounter.EnemyBattle[] {
                    new GameData.EnemyEncounter.EnemyBattle {
                        characterType = Character.Type.Enemy_MinionOrange, lanePosition = BattleHandler.LanePosition.Middle
                    },
                    new GameData.EnemyEncounter.EnemyBattle {
                        characterType = Character.Type.Enemy_MinionOrange, lanePosition = BattleHandler.LanePosition.Up
                    },
                    new GameData.EnemyEncounter.EnemyBattle {
                        characterType = Character.Type.Enemy_MinionOrange, lanePosition = BattleHandler.LanePosition.Down
                    },
                },
            };
            BattleHandler.LoadEnemyEncounter(new Character(Character.Type.Enemy_MinionOrange), enemyEncounter);
        }
    }