public void Shoot() { GameObject projectile = (GameObject)Instantiate(projectilePrefab, transform.position, transform.rotation); projectile.transform.forward = (player.transform.position - transform.position).normalized; ProjectileBase newProjectile = projectile.GetComponent <ProjectileBase> (); newProjectile.SetStartPosition(transform.position); newProjectile.SetCreationTime(Time.time); }
public void Shoot() { GameObject projectile = (GameObject)Instantiate(projectilePrefab, projectileEmitter.transform.position, transform.rotation); projectile.transform.forward = Camera.main.transform.forward; ProjectileBase newProjectile = projectile.GetComponent <ProjectileBase> (); newProjectile.SetStartPosition(projectileEmitter.transform.position); newProjectile.SetCreationTime(Time.time); }
public void CreateProjectile(Vector3 position, Quaternion rotation, double createTime, int projectileId) { m_LastShootTime = Time.realtimeSinceStartup; //Every player receives this so we create the prefabs locally instead of calling PhotonNetwork.Instantiate //By having its start position, start rotation and time when it was created, we can calculate where the laser is at all times //Check out Part 1 Lesson 3 http://youtu.be/ozBmZ9FoN_o for more detailed explanations GameObject newProjectileObject = (GameObject)Instantiate(Resources.Load <GameObject>("Laser1"), new Vector3(0, -100, 0), rotation); newProjectileObject.name = "ZZZ_" + newProjectileObject.name; ProjectileBase newProjectile = newProjectileObject.GetComponent <ProjectileBase>(); newProjectile.SetCreationTime(createTime); newProjectile.SetStartPosition(position); newProjectile.SetProjectileId(projectileId); newProjectile.Owner = Ship; m_Projectiles.Add(newProjectile); }