Ejemplo n.º 1
0
    public void Refactor()
    {
        allParts    = null;
        weaponParts = null;


        allParts = GetComponentsInChildren <TankyHealth>();

        numberOfWeapons = 0;

        foreach (TankyHealth indivPart in allParts)
        {
            if (indivPart.ownPart.partType == partTypes.Weapon)
            {
                numberOfWeapons++;
            }
        }

        weaponParts     = new GameObject[numberOfWeapons];
        numberOfWeapons = 0;

        foreach (TankyHealth indivPart in allParts)
        {
            switch (indivPart.ownPart.partType)
            {
            case (partTypes.Weapon):
                TankyWeapon weaponPart = (TankyWeapon)indivPart.ownPart;
                weaponParts[numberOfWeapons] = indivPart.gameObject;
                numberOfWeapons++;
                break;

            case (partTypes.Body):

                break;

            case (partTypes.Mobility):
                TankyMobility mobilityPart = (TankyMobility)indivPart.ownPart;
                accelSpeed = mobilityPart.accelSpeed;
                maxSpeed   = mobilityPart.maxSpeed;
                turnSpeed  = mobilityPart.turnSpeed;

                ownMoving.turnSpeed  = turnSpeed;
                ownMoving.moveAccel  = accelSpeed;
                ownMoving.maxSpeed   = maxSpeed;
                ownMoving.maxReverse = maxSpeed * -1;

                ownNavMeshAgent.speed        = 0;
                ownNavMeshAgent.angularSpeed = turnSpeed;
                ownNavMeshAgent.radius       = 1;
                break;
            }
        }
    }
Ejemplo n.º 2
0
    // Start is called before the first frame update
    void Start()
    {
        thisWeapon     = (TankyWeapon)GetComponent <TankyHealth>().ownPart;
        fireOffset     = thisWeapon.firingOffset;
        refireRate     = thisWeapon.weaponRateoffire;
        fireObject     = thisWeapon.fireResult;
        maxRange       = thisWeapon.maxRange;
        barrageSize    = thisWeapon.barrageSize;
        barrageDelay   = thisWeapon.barrageDelay;
        barrageCount   = thisWeapon.barrageCount;
        standardDamage = thisWeapon.standardDamage;
        weaponAccuracy = thisWeapon.weaponAccuracy;
        shotLifetime   = thisWeapon.shotLifetime;
        shotVelocity   = thisWeapon.shotVelocity;
        firingObject   = thisWeapon.firingObject;
        fireScript     = thisWeapon.fireScript;
        fireScriptType = fireScript.GetType();


        sinceLastShot = 0;
    }
Ejemplo n.º 3
0
 void GenerateWeapon(TankyWeapon partToSpawn)
 {
     newWeaponPart = newPart;
     newWeaponPart.AddComponent <WeaponFire>();
 }