Ejemplo n.º 1
0
	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 );
					}
				}
			}
		}
	}
Ejemplo n.º 2
0
 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;
         }
     }
 }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 7
0
    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);
    }
Ejemplo n.º 8
0
	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 );
					}
				}
			}
		}
	}
Ejemplo n.º 9
0
    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);
    }