public void Fire() { ProjectileSpawnerComponent projectileSpawner = gameObject.GetComponentInChildren <ProjectileSpawnerComponent>(); if (!projectileSpawner) { return; } projectileSpawner.SpawnProjectile(); }
public override void _Ready() { _projectileSpawnerComponent = this.GetFirstNodeOfType <ProjectileSpawnerComponent>(); _chooseStreamPlayerComponent = this.GetFirstNodeOfType <ChooseStreamPlayerComponent>(); _chamberPosition = GetNode <Position2D>("ChamberPosition"); _sprite = GetNode <Sprite>("Sprite"); _animationPlayer = GetNode <AnimationPlayer>("AnimationPlayer"); Connect(nameof(Fired), this, nameof(OnFired)); _projectileSpawnerComponent.Connect(nameof(ProjectileSpawnerComponent.ProjectileSpawned), this, nameof(OnProjectileSpawned)); }