public void RegisterClient(IClient client) { if (worldManager == null) { worldManager = PluginManager.GetPluginByType <UMWorldManager>(); } client.MessageReceived += Client_MessageReceived; }
public void RegisterClient(IClient client, WorldData World) { if (WorldManager == null) { WorldManager = PluginManager.GetPluginByType <UMWorldManager>(); } if (WorldManager.clients[client].World.PhysicsHost == null) { this.SetPhysicsHost(client); } BroadcastEntities(client, World); client.MessageReceived += Client_MessageReceived; }
void LoadCommandHandler(object sender, CommandEventArgs e) { if (WorldManager == null) { WorldManager = PluginManager.GetPluginByType <UMWorldManager>(); } string filename = e.Arguments[0] + ".json"; WorldData loadedWorld = null; if (File.Exists(filename)) { StreamReader reader = new StreamReader(filename); string json = reader.ReadToEnd(); reader.Close(); loadedWorld = JsonConvert.DeserializeObject <WorldData>(json); } else { Console.WriteLine(filename + " not found"); return; } foreach (WorldData World in WorldManager.Worlds) { if (World.WorldName == e.Arguments[0]) { World.copyFields(loadedWorld); //Sets the fields with the loaded data. //Rebroadcast the entities foreach (IClient c in World.GetClients()) { BroadcastEntities(c, World); } return; } } //We need to create a new world WorldData newWorld = new WorldData(loadedWorld.WorldName, loadedWorld.SceneEntityID, loadedWorld.SceneName); newWorld.copyFields(loadedWorld); //Sets the fields with the loaded data. WorldManager.Worlds.Add(newWorld); }
void SaveCommandHandler(object sender, CommandEventArgs e) { if (WorldManager == null) { WorldManager = PluginManager.GetPluginByType <UMWorldManager>(); } foreach (WorldData World in WorldManager.Worlds) { string json = JsonConvert.SerializeObject(World); if (!File.Exists(World.WorldName + ".json")) { File.Create(World.WorldName + ".json").Close(); } StreamWriter writer = new StreamWriter(World.WorldName + ".json"); writer.Write(json); writer.Close(); } }
public void RegisterClient(IClient client) { if (playerManager == null) { playerManager = PluginManager.GetPluginByType <UMPlayerManager>(); } if (worldManager == null) { worldManager = PluginManager.GetPluginByType <UMWorldManager>(); } Console.WriteLine("Weaponmanager registered player"); client.MessageReceived += Client_MessageReceived; WorldData World = worldManager.clients[client].World; foreach (Player p in World.players.Values) { if (p.WeaponEntityID != ushort.MaxValue) { using (DarkRiftWriter weaponSwitchWriter = DarkRiftWriter.Create()) { WeaponSwitchServerDTO switchData = new WeaponSwitchServerDTO(); switchData.playerId = client.ID; switchData.weaponEntityId = p.WeaponEntityID; switchData.weaponSlot = 0; weaponSwitchWriter.Write(switchData); using (Message fireStartMessage = Message.Create(Tags.WeaponSwitchTag, weaponSwitchWriter)) //Repeat the incoming tagname as all message bodies are the same { client.SendMessage(fireStartMessage, SendMode.Reliable); } } } } }
public void RegisterClient(IClient client, WorldData World) { if (WorldManager == null) { WorldManager = PluginManager.GetPluginByType <UMWorldManager>(); } if (WeaponManager == null) { WeaponManager = PluginManager.GetPluginByType <UMWeaponManager>(); } WorldManager.clients[client].World = World; client.MessageReceived += Client_MessageReceived; //Send exsisting players using (DarkRiftWriter playerWriter = DarkRiftWriter.Create()) { //PlayerSpawnServerDTO spawnData = new PlayerSpawnServerDTO(); foreach (Player player in World.players.Values) { this.WritePlayerSpawnData(playerWriter, player); } foreach (Player player in World.AIPlayers.Values) { this.WritePlayerSpawnData(playerWriter, player); } using (Message playerMessage = Message.Create(Tags.SpawnPlayerTag, playerWriter)) client.SendMessage(playerMessage, SendMode.Reliable); } //Register WeaponManager WeaponManager.RegisterClient(client); }