public override void Init(SpawnManager spawner, TeamColor teamColor) { base.Init(spawner, teamColor); GameManager gameManager = GameManager.Instance; SceneController sceneController = gameManager.sceneController; if (playerState == null) { playerState = this.gameObject.AddComponent <PlayerStateManager>(); } audioSystem = this.GetComponent <VesselAudioSystem>(); audioSystem.Init(EntityType.Player); audioSystem.PlayFlightAudio(vesselSelection); PlayerSettings playerSettings = gameManager.gameSettings.playerSettings; //Initialise Stat Handler GameSettings gameSettings = gameManager.gameSettings; VesselShipStats vesselStats = gameSettings.vesselStats.Where(x => x.type == vesselSelection).First(); BaseStats playerStats = vesselStats.baseShipStats; statHandler = new StatHandler(playerStats, EntityType.Player, this); //Initialize Health Component HealthComponent healthComponent = this.GetComponent <HealthComponent>(); healthComponent.Init(statHandler, sceneController); //Initialise Weapon System IWeaponSystem weaponSystem = this.GetComponent <IWeaponSystem>(); weaponSystem.Init(GetObjectID(), this, false, vesselStats, sceneController); //Initializes the player's camera system cameraController = this.GetComponent <CameraController>(); cameraController.Init(virtualCamera, vesselSelection); //Load weapon/damage components. FighterDamageManager damageManager = this.GetComponent <FighterDamageManager>(); damageManager.Init(statHandler, audioSystem); //Load Movement Manager MovementRegister movementRegister = this.GetComponent <MovementRegister>(); Debug.Log(movementRegister); movementRegister.Init(this, cameraController); SetInitalState(); }
public override void BeginState() { //Load primary player components. playerSettings = GameManager.Instance.gameSettings.playerSettings; controller = this.GetComponent <PlayerController>(); objectID = controller.objectID; playerRB = this.GetComponent <Rigidbody>(); //Load game setting. GameSettings gameSettings = GameManager.Instance.gameSettings; //Load weapon/damage components. weaponSystem = this.GetComponent <IWeaponSystem>(); weaponAim = this.GetComponent <IWeaponAim>(); //Load movement controller movementController = this.GetComponent <MovementRegister>(); //Load Audio Variables shipAudioPause = this.GetComponent <IPausableAudio>(); }