public void FireStarboard() { foreach (Transform t in starboardShootSpawnPoints) { NetworkProjectile p = Instantiate(projectilePrefab).GetComponent <NetworkProjectile>(); p.transform.position = t.position; p.transform.rotation = t.rotation; p.body.velocity = body.velocity + (p.transform.forward * projectileVelocity); NetworkServer.Spawn(p.gameObject); } }
public void CmdFire(Vector3 position, Quaternion rotation, float damage) { GameObject obj = projectilePool.ReuseObject(position, rotation); NetworkProjectile projectile = obj == null ? null : obj.GetComponent <NetworkProjectile> (); projectile.damage = damage; projectile.SetLayerMask(hitMask.value); projectile.SetSpeed(gunObject.bulletSpeed); // obj.GetComponentInChildren<SpriteRenderer> ().color = gunObject.bulletColour; NetworkServer.Spawn(obj); }
void doFireMain(NetworkProjectile aNetworkProjectile) { if (Time.time > reloadTimeMain + lastShotMain) { lastShotMain = Time.time; Vector3 tPos = fireStartVector.position; NetworkProjectile tProjectile = (NetworkProjectile) GameObject.Instantiate(aNetworkProjectile, tPos, gameObject.transform.rotation); tProjectile.shoot(); } }
protected void DisableProjectileArrow(ProjectileScript pro) { if (StatMaster.isHosting && !StatMaster.isLocalSim) { NetworkProjectile netProjectile = pro.GetComponent <NetworkProjectile>(); ProjectileManager.Instance.Despawn(netProjectile); } else { gameObject.SetActive(false); pro.projectileInfo.Rigidbody.isKinematic = true; } if (!Object.ReferenceEquals(pro.firecontrol, null) && pro.firecontrol.onFire && pro.firecontrol.gameObject.activeInHierarchy) { pro.firecontrol.DouseFire(); } pro.hasAttached = false; }