public void Init(Skelsp player) { _player = player; _player.AddObserver(_DiedObject); _player.OnMoved += OnPlayerMoved; _player.OnPosSetted += OnPlayerPosSetted; _player.IsControlable = false; _player.OnAmmoChanged += (ammo) => { _playerAmmoText.text = String.Format("A: {0}", ammo); }; _player.OnCarringWeapoChanged += (carringWeapo) => { _playerGunText.text = String.Format("G: {0}", carringWeapo.ToString()); }; _player.OnParamChanged += (name, prev, val) => { if (name == "Health") { _playerHeathText.text = String.Format("H: {0}", Convert.ToSingle(val)); return; } if (name == "Score") { _playerScoreText.text = String.Format("S: {0}", Convert.ToInt32(val)); return; } }; _enemyManager.Init(player); _enemyManager.OnEnemyAdded += () => { _enemyCountText.text = String.Format("E: {0}", _enemyManager.Count.ToString()); }; _enemyManager.OnEnemyRemoved += () => { _enemyCountText.text = String.Format("E: {0}", _enemyManager.Count.ToString()); }; }
private void _LevelOn() { if (!_bLevelSetup) { _bLevelSetup = true; _gameLevel = GetComponentInChildren <GameLevel>(); _player = EGHelpers.CreateObjectByPrefab <Skelsp>(Vector3.zero, prefabPlayer); _gameLevel.Init(_player); _inputManager.SetPlayer(_player); _gameLevel.OnLevelWin += OnLevelWin; _gameLevel.OnGameOver += OnGameOver; _gameLevel.OnUserExit += OnUserExit; } _player.gameObject.SetActive(true); DebugLogger.WriteInfo("_LevelOn _levelNumber = {0}", _levelNumber); _gameLevel.Number = _levelNumber; _gameLevel.LoadLevel(_textLevels[_levelNumber - 1].text); }