Esempio n. 1
0
    public Turret CreateTurret(TurretType turretType)
    {
        Turret     Turret     = null;
        GameObject TurretGO   = FactoryManager.assetFactory.LoadTurret(turretType.ToString());
        TurretAttr TurretAttr = FactoryManager.attrFactory.GetTurretAttr(turretType);

        switch (turretType)
        {
        case TurretType.ShellTurret:
            Turret = new TurretShell(TurretGO, TurretAttr);
            break;

        case TurretType.MissileLauncher:
            Turret = new TurretMissile(TurretGO, TurretAttr);
            break;

        case TurretType.LaserBeamer:
            Turret = new TurretLaser(TurretGO, TurretAttr);
            break;

        case TurretType.CanonTurret:
            Turret = new TurretCanon(TurretGO, TurretAttr);
            break;
        }
        return(Turret);
    }
Esempio n. 2
0
    void missileLaunch()
    {
        // Reference to a missile that instantiated, [Object casting]
        GameObject    tempMissile = (GameObject)Instantiate(missilePrefab, launchingPoint.position, missilePrefab.transform.rotation);
        TurretMissile missile     = tempMissile.GetComponent <TurretMissile>();

        if (missile != null)                // If the component was found succesful
        {
            missile.TargetToFollow(target); // Pass the target transform
        }
        //missilePrefab.transform.Rotate(0, -90, 0); // Rotate the missile upon instatiation
    }
Esempio n. 3
0
    void Shoot()
    {
        GameObject    missileGO = (GameObject)Instantiate(missilePrefab, firePoint.position, firePoint.rotation);
        TurretMissile missile   = missileGO.GetComponent <TurretMissile> ();

        audioSource.PlayOneShot(shotSFX);

        if (missile != null)
        {
            missile.Seek(target);
        }


        Debug.Log("Shoot!");
    }