void Awake() { healthScript = GetComponent<HealthTransport> (); engineScript = GetComponent<EnginesFighter> (); //myRenderer = GetComponent<SpriteRenderer> (); //myRigidbody = GetComponent<Rigidbody2D> (); if (whichSide == WhichSide.Ally) { myCommander = GameObject.FindGameObjectWithTag("AIManager").transform.FindChild("PMC Commander").GetComponent<AICommander> (); enemyCommander = GameObject.FindGameObjectWithTag("AIManager").transform.FindChild("Enemy Commander").GetComponent<AICommander> (); } else if (whichSide == WhichSide.Enemy) { myCommander = GameObject.FindGameObjectWithTag("AIManager").transform.FindChild("Enemy Commander").GetComponent<AICommander> (); enemyCommander = GameObject.FindGameObjectWithTag("AIManager").transform.FindChild("PMC Commander").GetComponent<AICommander> (); } myCommander.myTransports.Add (this.gameObject); foreach(GameObject turret in myTurrets) { if(!myCommander.myTurrets.Contains(turret)) { myCommander.myTurrets.Add(turret); } } loadingUpLookAtPoint = myCommander.transform.position; carrySpots = new Transform[]{carry1, carry2, carry3}; }
void Start() { animator = transform.parent.parent.GetComponent<Animator> (); hitCollider = transform.parent.parent.GetComponent<Collider2D> (); rollTime = rollDuration; myAudioSource = GetComponent<AudioSource>(); playerMovementScript = transform.parent.transform.parent.GetComponent<PlayerFighterMovement>(); enginesFighterScript = transform.parent.transform.parent.GetComponent<EnginesFighter>(); if(playerControlled) { dodgeCooldownImage = GameObject.Find("Dodge Cooldown Image").GetComponent<Image>(); dodgeCooldownImageText = dodgeCooldownImage.GetComponentInChildren<Text>(); awarenessManaFillImage = GameObject.Find("Awareness Image").GetComponent<Image>(); awarenessMeterAudioSource = awarenessManaFillImage.GetComponent<AudioSource>(); powerupReadyImage = GameObject.Find("Powerup Image").GetComponent<Image>(); if(powerupMechanicEnabled) { awarenessManaFillImage.fillAmount = (float)currentAwarenessLevel/maxAwarenessLevel; if(currentAwarenessLevel != maxAwarenessLevel) powerupReadyImage.transform.localScale = Vector3.zero; else { powerupReadyImage.transform.localScale = Vector3.one; _battleEventManager.instance.playerHasOneHitKills = true; } } else { awarenessManaFillImage.gameObject.SetActive(false); } } }
void Awake() { healthScript = GetComponent<HealthFighter> (); engineScript = GetComponent<EnginesFighter> (); shootScript = GetComponentInChildren<WeaponsPrimaryFighter> (); missilesScript = GetComponentInChildren<WeaponsSecondaryFighter> (); myRigidbody = GetComponent<Rigidbody2D> (); if (whichSide == WhichSide.Ally) { myCommander = GameObject.FindGameObjectWithTag("AIManager").transform.FindChild("PMC Commander").GetComponent<AICommander> (); enemyCommander = GameObject.FindGameObjectWithTag("AIManager").transform.FindChild("Enemy Commander").GetComponent<AICommander> (); } else if (whichSide == WhichSide.Enemy) { myCommander = GameObject.FindGameObjectWithTag("AIManager").transform.FindChild("Enemy Commander").GetComponent<AICommander> (); enemyCommander = GameObject.FindGameObjectWithTag("AIManager").transform.FindChild("PMC Commander").GetComponent<AICommander> (); } myCommander.myFighters.Add (this.gameObject); normalStates = new StateMachine[]{StateMachine.Patroling}; combatStates = new StateMachine[]{StateMachine.Dogfight}; formUpStates = new StateMachine[]{StateMachine.FormUp}; coverMeStates = new StateMachine[]{StateMachine.Covering}; retreatStates = new StateMachine[] {StateMachine.Evade, StateMachine.Retreat}; deathStates = new StateMachine[] {StateMachine.NA}; }
void Awake () { AwakeBaseClass (); myAIScript = GetComponent<AITransport> (); engineScript = GetComponent<EnginesFighter> (); flames.transform.position += (Vector3)Random.insideUnitCircle * 0.5f; smoke.transform.position = flames.transform.position - transform.up * 0.22f; }
protected void DogfightingFunction(EnginesFighter engineScript, GameObject target, WeaponsPrimaryFighter shootScript, float constantForwardThrustProportion) { //NB: It's important that we move before look, because the firing solution (in look) requires knowing the new movement position of the target engineScript.LookAtTarget (target); if(Vector2.Angle(transform.up, target.transform.position - transform.position) < 60) { engineScript.MoveToTarget (target, constantForwardThrustProportion); } if(Time.time > shootScript.nextFire && (ReadyAimFire(target, transform, shootScript.weaponsRange) == true || TakePotshot(transform, shootScript.weaponsRange) == true)) { if(shootScript.enabled) { shootScript.FirePrimary(false); } } }
void Awake () { myEngines = GetComponent<EnginesFighter> (); target = GameObject.FindGameObjectWithTag ("Player"); }
}//end of ReelInPassengers public void SetUpReferences() { if(reelingInPlayerGroup) { carryFighter1 = GameObject.FindGameObjectWithTag("PlayerFighter"); carryFighter1.GetComponent<PlayerFighterMovement>().enabled = false; //we'll have to take over certain animation functions here, then. carryFighter1.GetComponentInChildren<Dodge>().enabled = false; carryFighter1Engines = carryFighter1.GetComponent<EnginesFighter>(); carryFighter1Health = carryFighter1.GetComponent<HealthFighter>(); playerHadAutoDodge = carryFighter1Health.playerHasAutoDodge; playerManaToRestore = carryFighter1Health.manaToRestoreOnAHit; carryFighter1Health.manaToRestoreOnAHit = 0; carryFighter1Health.playerHasAutoDodge = false; carryFighter1.SendMessage("ToggleWeaponsOnOff", false); } else { //TODO: let the AI groups do this too somehow } //change the squad's orders behaviour carryFighter1.GetComponentInChildren<SquadronLeader>().firstFlightOrders = SquadronLeader.Orders.Extraction; //TODO: check if it's actually the first flight, or if 2nd - 4th //get the wingmen and create arrays of engine and fighter references if(carryFighter1.GetComponentInChildren<SquadronLeader>().activeWingmen.Count >= 1) { carryFighter2 = carryFighter1.GetComponentInChildren<SquadronLeader>().activeWingmen[0]; carryFighter2Engines = carryFighter2.GetComponent<EnginesFighter>(); fighterEngineScripts = new EnginesFighter[]{carryFighter1Engines, carryFighter2Engines}; carryFighter2Health = carryFighter2.GetComponent<HealthFighter>(); fighterHealthScripts = new HealthFighter[] {carryFighter1Health, carryFighter2Health}; fightersToCarry = new GameObject[]{carryFighter1, carryFighter2}; if(carryFighter1.GetComponentInChildren<SquadronLeader>().activeWingmen.Count >= 2) { carryFighter3 = carryFighter1.GetComponentInChildren<SquadronLeader>().activeWingmen[1]; carryFighter3Engines = carryFighter3.GetComponent<EnginesFighter>(); fighterEngineScripts = new EnginesFighter[]{carryFighter1Engines, carryFighter2Engines, carryFighter3Engines}; carryFighter3Health = carryFighter3.GetComponent<HealthFighter>(); fighterHealthScripts = new HealthFighter[] {carryFighter1Health, carryFighter2Health, carryFighter3Health}; fightersToCarry = new GameObject[]{carryFighter1, carryFighter2, carryFighter3}; } } else { fightersToCarry = new GameObject[]{carryFighter1}; fighterEngineScripts = new EnginesFighter[]{carryFighter1Engines}; fighterHealthScripts = new HealthFighter[] {carryFighter1Health}; } //change states and disable components foreach(GameObject fighter in fightersToCarry) { if(fighter.tag == "Fighter") { AIFighter fighterAIScript = fighter.GetComponent<AIFighter>(); fighterAIScript.ChangeToNewState(new AIFighter.StateMachine[]{AIFighter.StateMachine.Docking}, new float[]{1}); fighterAIScript.dockingWith = this.gameObject; fighterAIScript.healthScript.hasDodge = false; fighter.transform.FindChild("Breathing Room").gameObject.SetActive(false); fighter.SendMessage("ToggleWeaponsOnOff", false); } } foreach(EnginesFighter engScript in fighterEngineScripts) { engScript.linedUp = false; engScript.secured = false; } }//end of SetUpReferences