public override async void _Ready() { _crystal = GetNode <Character>("Crystal"); _waveSpawner = GetNode <WaveSpawner>("WaveSpawner"); _enemyContainer = _waveSpawner.GetEnemyContainer(); _moneyNode = GetNode <MoneyNode>("Hud/Money"); _global = GetTree().Root.GetNode <Global>("Global"); _sceneChanger = GetTree().Root.GetNode <SceneChanger>("SceneChanger"); _jumpScreen = GetNode <JumpScreen>("JumpScreen"); _fireworks = GetNode <Fireworks>("Fireworks"); _deathScreen = GetNode <DeathScreen>("DeathScreen"); _musicPlayer = GetNode <BattleGroundMusicPlayer>("BattleGroundMusicPlayer"); _enemyContainer.Connect(nameof(EnemyContainer.Updated), this, nameof(_OnEnemyContainerUpdated)); _enemyContainer.Connect(nameof(EnemyContainer.EnemyDeath), this, nameof(_OnEnemyDeath)); _stateMachine = new StateMachine(); PauseState = new PauseState(this, _stateMachine); PlayerAttackState = new PlayerAttackState(this, _stateMachine); _stateMachine.Initialize(PlayerAttackState); _jumpScreen.EnterAnimation(); await ToSignal(_jumpScreen, nameof(JumpScreen.AnimationFinished)); foreach (var effect in GetNode <HBoxContainer>("Hud/Effects").GetChildren()) { (effect as Effect).Init(this); } Start(3, _global.Level); }
public void SetMoneyNode(MoneyNode node) { _moneyNode = node; }
public void Init(BattleGround battleGround) { _battleGround = battleGround; _moneyNode = _battleGround.GetNode <MoneyNode>("Hud/Money"); _isInit = true; }