Beispiel #1
0
    public void Init(IEntityController entityController, BaseGameEvents gameEvents, float defaultTimescale)
    {
        _timeScale         = defaultTimescale;
        _scheduledEntities = new List <IScheduledEntity>();
        _gameEvents        = gameEvents;

        _entityController = entityController;
    }
Beispiel #2
0
    public void Init(IMapController mapController, BaseEntityCreationData entityCreationData, BaseGameEvents gameEvents)
    {
        _mapController      = mapController;
        _entityCreationData = entityCreationData;
        _allEntities        = new List <BaseEntity>();
        _entitiesToAdd      = new List <BaseEntity>();
        _entitiesToRemove   = new List <BaseEntity>();

        _gameEvents = gameEvents;
    }
Beispiel #3
0
    void ResetGame()
    {
        UnRegisterEntityEvents();

        _gameEvents = null;
        _cameraController.Cleanup();
        _monsterCreator.Cleanup();
        _mapController.Cleanup();

        _entityController.Cleanup();
        _timeController.Cleanup();

        _input.OnLayoutChanged += _hud.OnInputLayoutChanged;
        _hud.Cleanup();
        Destroy(_hud.gameObject);
    }
Beispiel #4
0
 public void Init(IEntityController entityController, IMapController mapController, BattleTraitData data, IBattleEntity owner, BaseGameEvents gameEvents)
 {
     _targets          = new List <IBattleEntity>();
     _data             = data;
     _entityController = entityController;
     _owner            = owner;
     _attacks          = new List <BaseAttack>();
     _currentAttackIdx = 0;
     _gameEvents       = gameEvents;
     _battleEvents     = gameEvents.Battle;
     foreach (var attackData in data.Attacks)
     {
         var attack = attackData.SpawnRuntime();
         attack.Init(entityController, mapController);
         _attacks.Add(attack);
     }
 }
Beispiel #5
0
    void StartGame()
    {
        _gameEvents = CreateGameEvents();

        // Init game control / time vars
        _timeController.Init(_entityController, _gameEvents, _gameData.DefaultTimescale);
        _timeController.Start();

        _inputDelay = _gameData.InputDelay;
        _input.Init(_gameData.InputData, _inputDelay);

        _mapController.Init(_gameData.MapData);

        _entityController.Init(_mapController, _gameData.EntityCreationData, _gameEvents);

        _monsterCreator.Init(_entityController, _mapController, _timeController, _gameEvents.Monsters, _gameData.EntityCreationData.MonsterData);

        _eventLogger.Init(_timeController, _gameEvents);

        _hud = CreateGameHUD();

        _input.OnLayoutChanged += _hud.OnInputLayoutChanged;


        // populate the level
        PopulateLevel();

        foreach (var stateContext in _playStatesData.Values)
        {
            stateContext.Init(this);
        }
        ;

        _playStateID     = PlayStates.Action;
        _nextPlayStateID = PlayStates.Action;
        _result          = GameResult.Running;

        _hud.Init(_eventLogger, _entityController.Player, _timeController, _cameraController.UICamera);
        RegisterEntityEvents();
        _gameEvents.Flow.SendStarted();
    }
Beispiel #6
0
 public virtual void Init(TimeController timeController, BaseGameEvents events)
 {
     _gameEvents     = events;
     _eventRecord    = new List <EventLogMessage>();
     _timeController = timeController;
 }
 public override void Init(GameController gameController)
 {
     Refresh(gameController);
     Events = gameController.GameEvents;
 }
Beispiel #8
0
 public override void Init(TimeController timeController, BaseGameEvents events)
 {
     base.Init(timeController, events);
     ConnectEvents();
 }
Beispiel #9
0
 internal void Init(Rect mapBounds, Transform cameraTarget, BaseGameEvents gameEvents)
 {
     gameEvents.Player.Moved += PlayerMoved;
     SetBounds(mapBounds);
     SetTarget(cameraTarget);
 }