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); }
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 }
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!"); }