public float detectionDist; //TODO: Move this to the AI weapon system public virtual void Init(string objectID, BaseEntityController controller, bool weaponsActive, VesselShipStats shipStats, SceneController sceneController) { this.objectID = objectID; this.controller = controller; this.shipStats = shipStats; gameManager = GameManager.Instance; }
public void Init(StatHandler statHandler, List <IWeaponItem> weaponItems, VesselShipStats stats, WeaponInfo weaponInfo) { this.statHandler = statHandler; this.weaponItems = weaponItems; this.shipStats = stats; this.weaponInfo = weaponInfo; this.fireRate = weaponInfo.weaponData.fireRate; }
/// <summary> /// Retrieves and intiialises the weapon system attached on the ship. /// </summary> void SetWeaponSystems(VesselShipStats vesselStats, SceneController sceneController) { IWeaponSystem weaponSystem; weaponSystem = this.GetComponent <IWeaponSystem>(); weaponSystem.Init(GetObjectID(), this, true, vesselStats, sceneController); //Load weapon/damage components. FighterDamageManager damageSystem = this.GetComponent <FighterDamageManager>(); damageSystem.Init(statHandler, audioSystem); }
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 Init(SpawnManager spawner, TeamColor team) { base.Init(spawner, team); this.spawner = spawner; this.teamColor = team; //Get singleton controllers GameManager gameaManager = GameManager.Instance; GameSettings gameSettings = GameManager.Instance.gameSettings; SceneController sceneController = gameaManager.sceneController; if (enemyState == null) { enemyState = this.gameObject.AddComponent <AIStateManager>(); } avoidanceSystem = this.GetComponent <AvoidanceSystem>(); //Initialise audio system audioSystem = this.GetComponent <VesselAudioSystem>(); audioSystem.Init(EntityType.AiComputer); //Initialise Stat Handler VesselShipStats vesselStats = gameSettings.vesselStats.Where(x => x.type == vesselSelection).First(); BaseStats enemyStats = vesselStats.baseShipStats; statHandler = new StatHandler(enemyStats, EntityType.AiComputer, this); //Initialises the movement systems AIMovementController movementController = this.GetComponent <AIMovementController>(); movementController.Init(vesselStats); // Initialise health system AIHealthSystem healthSystem = this.GetComponent <AIHealthSystem>(); healthSystem.Init(statHandler); //Set weapon systems and state SetWeaponSystems(vesselStats, sceneController); SetState <AIPursuit>(); //Returns pointer UI attachedPointer = GameManager.Instance.sceneController.dynamicHud.pointerManagerUI.CreateNewPointer(gameObject.transform, vesselStats.speed); }
public override void BeginState() { controller = this.GetComponent <BaseEntityController>(); controller.OnEntityDeath(); GameSettings gameSettings = GameManager.Instance.gameSettings; VesselShipStats vesselStats = gameSettings.vesselStats.Where(x => x.type == controller.vesselSelection).First(); shipSpeed = vesselStats.speed; entityRB = this.GetComponent <Rigidbody>(); //entityRB.isKinematic = true; RigidbodyConstraints deathConstraints = RigidbodyConstraints.None; entityRB.constraints = deathConstraints; Invoke("Explode", 2f); deathSelection = (DeathTypes)Random.Range(0, 3); }
/// <summary> /// Initialises the movemovent controller for player movement and necessary references. /// </summary> public void Init(PlayerController controller, CameraController cameraControl) { this.playerController = controller; this.cameraController = cameraControl; GameManager gameManager = GameManager.Instance; //Load shipstates. GameSettings gameSettings = gameManager.gameSettings; settings = gameSettings.playerSettings; VesselShipStats shipStats = gameSettings.vesselStats.Where(x => x.type.Equals(controller.vesselSelection)).First(); _speed = shipStats.speed; //Load Input Controllers ThrustUI thrustUI = gameManager.sceneController.dynamicHud.thrustUI; movementController = new InputMovementSystem(this, shipStats, thrustUI); rotationController = new InputRotationController(); movementController.OnShipThrust.AddListener(playerController.audioSystem.CalculateThrustSound); movementController.OnShipThrust.AddListener(playerController.audioSystem.CalculateEngineTempo); }
public override void Init(string objectID, BaseEntityController controller, bool weaponsActive, VesselShipStats shipStats, SceneController sceneController) { base.Init(objectID, controller, weaponsActive, shipStats, sceneController); //Create the aim assist object aimAssist = new AimAssist(); aimAssist.Init(this, sceneController.dynamicHud.aimSightUI); SetupWeapons(); }
/// <summary> /// Constructor for initialising important movement variables for calculation /// </summary> public InputMovementSystem(IMovementController controller, VesselShipStats shipStats, ThrustUI thrustUI) { this.movementController = controller; this.shipStats = shipStats; this.OnShipThrust.AddListener(thrustUI.SetThrustLevel); }
public void Init(VesselShipStats shipStats) { this.shipStats = shipStats; }
public override void Init(string objectID, BaseEntityController controller, bool weaponsActive, VesselShipStats shipStats, SceneController sceneController) { base.Init(objectID, controller, weaponsActive, shipStats, sceneController); // Retrieves interface for the target finder targetFinder = this.GetComponent <ITargetFinder>(); // creates new target checker for relative direction check targetChecker = new TargetDirectionCheck(); }
//AimAssist aimAssist; public override void Init(string objectID, BaseEntityController controller, bool weaponsActive, VesselShipStats shipStats, SceneController sceneController) { base.Init(objectID, controller, weaponsActive, shipStats, sceneController); aimAssist = new AimAssist(); aimAssist.Init(this, sceneController.dynamicHud.aimSightUI); targetChecker = new TargetDirectionCheck(); //shipTransforms = this.GetComponent<VesselTransforms>(); detectionDist = shipStats.maxProximityDist / 3; SetupWeapons(); }