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); }
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); }