static PacketBase AddType(this PacketBase packet, TypeOfGun.myType info) { var list = packet.typeInfo != null?packet.typeInfo.ToList() : new List <TypeOfGun.myType>(); list.Add(info); packet.typeInfo = list.ToArray(); return(packet); }
void PlayerSpawnLargeBox(Player player, TypeOfGun.myType type) { DestroyableObject largeBox = Instantiate(ServerManager.instance.objectsToSpawn[3]).GetComponent <DestroyableObject>(); largeBox.transform.position = player.gun.transform.position; largeBox.transform.right = player.transform.right; largeBox.playerId = player.connectionId; largeBox.Setup(lifeLargeBox); NetworkServer.Spawn(largeBox.gameObject); }
void PlayerThrowGrenade(Player player, TypeOfGun.myType type) { Grenade grenade = Instantiate(ServerManager.instance.objectsToSpawn[1]).GetComponent <Grenade>(); grenade.playerId = player.connectionId; grenade.transform.position = player.gun.transform.position; grenade.transform.right = player.transform.right; grenade.Setup(grenadeSpeed, grenadeLife, grenadeDamage, Server_Dammaged, player.transform.right); NetworkServer.Spawn(grenade.gameObject); }
void PlayerShoot(Player player, TypeOfGun.myType type) { Bullet bullet = Instantiate(ServerManager.instance.objectsToSpawn[0]).GetComponent <Bullet>(); bullet.transform.position = player.gun.transform.GetChild(0).transform.position; bullet.transform.right = player.gun.transform.GetChild(0).transform.right; bullet.playerId = player.connectionId; bullet.Setup(bulletSpeed, bulletDamage, Server_Dammaged); NetworkServer.Spawn(bullet.gameObject); }
//Shoot public void Server_ShootCommand(TypeOfGun.myType type, int playerId) { var player = ServerManager.instance.myPlayers[playerId]; if (type == TypeOfGun.myType.pistol) { PlayerShoot(player, type); return; } if (player.ammoAmount[type] <= 0) { return; } if (type == TypeOfGun.myType.rifle) { PlayerShoot(player, type); } else if (type == TypeOfGun.myType.throwable) { PlayerThrowGrenade(player, type); } else if (type == TypeOfGun.myType.box) { PlayerSpawnBox(player, type); } else if (type == TypeOfGun.myType.largebox) { PlayerSpawnLargeBox(player, type); } player.ammoAmount[type]--; player.UpdateAmmo(); new PacketBase(PacketIDs.UpdateAmmo_Command).Add(type).Add(playerId).Add(1).SendAsServer(); }
public void UpdateAmmo_Command(TypeOfGun.myType type, int playerid, int less) { myPlayers[playerid].ammoAmount[type] -= less; myPlayers[playerid].UpdateAmmo(); }