Пример #1
0
    protected override void DoInit(BaseEntityDependencies deps)
    {
        _playerData = ((PlayerData)_entityData);

        name     = "Player";
        _hpTrait = new HPTrait();
        _hpTrait.Init(this, _playerData.HPData, deps.GameEvents.Health);

        _speed = _playerData.Speed;

        _movingTrait = _playerData.MovingTraitData.CreateRuntimeTrait();

        _playerEvents = deps.GameEvents.Player;
        _healthEvents = deps.GameEvents.Health;
        _healthEvents.HealthExhausted += OnDied;

        _battleTrait = new BattleTrait();
        _battleTrait.Init(_entityController, _mapController, _playerData.BattleData, this, deps.GameEvents);
    }
Пример #2
0
    protected override void DoInit(BaseEntityDependencies deps)
    {
        _monsterData = ((MonsterData)_entityData);
        name         = _monsterData.name;
        _hpTrait     = new HPTrait();
        _hpTrait.Init(this, _monsterData.HPData, deps.GameEvents.Health);

        _decisionDelay     = _monsterData.ThinkingDelay;
        _elapsedNextAction = 0.0f;
        _elapsedPathUpdate = 0.0f;

        _movingTrait = _monsterData.MovingTraitData.CreateRuntimeTrait();

        _monsterEvents = deps.GameEvents.Monsters;

        _currentState = _monsterData.InitialState;
        _currentStateTimeUnitsElapsed = 0.0f;

        _battleTrait = new BattleTrait();
        _battleTrait.Init(_entityController, _mapController, _monsterData.BattleData, this, deps.GameEvents);
    }
Пример #3
0
 public Boolean Has(BattleTrait trait) => this.traits.Contains(trait);