void Start () { if (CheckErrors() == true) { return; } turretScript = GetComponent<ST_FireTurret>(); if ( GetComponent<MF_AbstractTargeting>() ) { targetingScript = GetComponent<MF_AbstractTargeting>(); } // cache scripts for all weapons if ( weapons.Length > 0 ) { for (int wd=0; wd < weapons.Length; wd++) { if (weapons[wd].weapon) { weapons[wd].script = weapons[wd].weapon.GetComponent<MF_FireWeapon>(); } } //set fixed converge angle of weapons relative to weaponMount forward direction, to converge at given range. 0 = no fixed convergence if (fixedConvergeRange > 0) { for (int w=0; w < weapons.Length; w++) { if (weapons[w].weapon) { weapons[w].weapon.transform.rotation = Quaternion.LookRotation( turretScript.weaponMount.transform.position + ( turretScript.weaponMount.transform.forward * fixedConvergeRange ) - weapons[w].weapon.transform.position, turretScript.weaponMount.transform.up ); } } } } }
public virtual void Awake() { if (CheckErrors() == true) { return; } if (receivingObject) { platformScript = receivingObject.GetComponent <MF_AbstractPlatform>(); navScript = receivingObject.GetComponent <MF_AbstractNavigation>(); receivingControllerScript = receivingObject.GetComponent <MF_AbstractPlatformControl>(); } if (dontAddToSelectScript == false) { MF_AbstractSelection selScript = transform.root.GetComponent <MF_AbstractSelection>(); if (selScript) { MF_AbstractTargeting[] temp = new MF_AbstractTargeting[selScript.otherTargScripts.Length + 1]; for (int i = 0; i < selScript.otherTargScripts.Length; i++) { temp[i] = selScript.otherTargScripts[i]; } temp[selScript.otherTargScripts.Length] = this; selScript.otherTargScripts = temp; } } }
public virtual bool CheckErrors() { error = false; if (weapons.Length > 0) { for (int cw = 0; cw < weapons.Length; cw++) { if (weapons[cw].weapon == false) { Debug.Log(this + ": TurretControl weapon index " + cw + " hasn't been defined."); error = true; } } } if (!targetingScript) { targetingScript = UtilityMF.GetComponentInParent <MF_AbstractTargeting>(transform); } if (!GetComponent <MF_AbstractPlatform>()) { Debug.Log(this + ": No platform script found."); error = true; } return(error); }
public virtual bool CheckErrors() { error = false; Transform rps; if (weapons.Length > 0) { for (int cw = 0; cw < weapons.Length; cw++) { if (weapons[cw].weapon == false) { Debug.Log(this + ": TurretControl weapon index " + cw + " hasn't been defined."); error = true; } } } // look for defined targeting script if (!targetingScript) { rps = UtilityMF.RecursiveParentComponentSearch("MF_AbstractTargeting", transform); if (rps != null) { targetingScript = rps.GetComponent <MF_AbstractTargeting>(); } } return(error); }
bool CheckErrors() { error = false; if (!mobilityScript) { mobilityScript = UtilityMF.GetComponentInParent <MF_AbstractMobility>(transform); } if (!targetingScript) { targetingScript = GetComponent <MF_AbstractTargeting>(); } return(error); }
public virtual bool CheckErrors() { error = false; Transform rps; if (selectionManager) { if (!selectionManager.GetComponent <MF_SelectionManager>()) { Debug.Log(this + ": No MF_SelectionManager script found on defined selection manager."); error = true; } } else { Debug.Log(this + ": No Selection Manager defined."); error = true; } if (!targetListScript && NoTargetList == false) { rps = UtilityMF.RecursiveParentComponentSearch("MF_AbstractTargetList", transform); if (rps != null) { targetListScript = rps.GetComponent <MF_AbstractTargetList>(); } } if (!targetingScript && NoTargetingScript == false) { rps = UtilityMF.RecursiveParentComponentSearch("MF_AbstractTargeting", transform); if (rps != null) { targetingScript = rps.GetComponent <MF_AbstractTargeting>(); } } if (!navigationScript && NoNavigationScript == false) { rps = UtilityMF.RecursiveParentComponentSearch("MF_AbstractNavigation", transform); if (rps != null) { navigationScript = rps.GetComponent <MF_AbstractNavigation>(); } } return(error); }
public virtual bool CheckErrors() { error = false; if (!targetListScript && NoTargetList == false) { targetListScript = UtilityMF.GetComponentInParent <MF_AbstractTargetList>(transform); } if (!targetingScript && NoTargetingScript == false) { targetingScript = UtilityMF.GetComponentInParent <MF_AbstractTargeting>(transform); } if (!navigationScript && NoNavigationScript == false) { navigationScript = UtilityMF.GetComponentInParent <MF_AbstractNavigation>(transform); } return(error); }
void Start () { if(weapons.Length == 0) { MF_ElectroWeapon[] w = this.GetComponentsInChildren<MF_ElectroWeapon>(); weapons = new WeaponData[w.Length]; for(int i = 0;i<w.Length;i++) { weapons[i] = new WeaponData(); weapons[i].weapon = w[i].gameObject; weapons[i].script = w[i]; } } if (CheckErrors() == true) { return; } turretScript = GetComponent<ST_ElectroTurret>(); if ( GetComponent<MF_AbstractTargeting>() ) { targetingScript = GetComponent<MF_AbstractTargeting>(); } // cache scripts for all weapons if ( weapons.Length > 0 ) { for (int wd=0; wd < weapons.Length; wd++) { if (weapons[wd].weapon) { weapons[wd].script = weapons[wd].weapon.GetComponent<MF_ElectroWeapon>(); } } //set fixed converge angle of weapons relative to weaponMount forward direction, to converge at given range. 0 = no fixed convergence if (fixedConvergeRange > 0) { for (int w=0; w < weapons.Length; w++) { if (weapons[w].weapon) { weapons[w].weapon.transform.rotation = Quaternion.LookRotation( turretScript.weaponMount.transform.position + ( turretScript.weaponMount.transform.forward * fixedConvergeRange ) - weapons[w].weapon.transform.position, turretScript.weaponMount.transform.up ); } } } } }
bool CheckErrors() { error = false; Transform rps = null; if (!mobilityScript) { rps = UtilityMF.RecursiveParentComponentSearch("MF_AbstractMobility", transform); if (rps != null) { mobilityScript = rps.GetComponent <MF_AbstractMobility>(); } } if (!targetingScript) { if (GetComponent <MF_AbstractTargeting>()) { targetingScript = GetComponent <MF_AbstractTargeting>(); } } return(error); }