public void SpawnRequest(MClient c, MNetMessage m) { MSpawnMessage sm = MSpawnMessage.Deserialize <MSpawnMessage>(m.Payload); //List<MServerObject> spawns = JsonConvert.DeserializeObject<List<MServerObject>>(sm.Spawnables); foreach (DataRow dr in sm.SpawnTable.Rows) { if (string.IsNullOrEmpty((string)dr["instanceid"])) { dr[DB.INSTANCEID] = UidGen.GUID(); dr[DB.DATECREATED] = DateTime.Now; dr[DB.DATEMODIFIED] = DateTime.Now; } } _DataBase.AddToWorld(sm.SpawnTable); MNetMessage mn = new MNetMessage(); mn.Command = MNetMessage.SPAWN; mn.Version = 1; mn.Payload = sm.Serialize(); SendToAllClients(c, mn.Serialize()); UniverseChanged?.Invoke(this, new ServerEvent("+1", 3)); }
public void DeleteObject(MClient c, MNetMessage m) { MDeleteMessage mp = MDeleteMessage.Deserialize <MDeleteMessage>(m.Payload); _DataBase.DeleteObject(mp.InstanceID, c.Account.UserID); c.Account.TotalObjects -= _DataBase.DeleteObject(mp.InstanceID, c.Account.UserID); if (c.Account.TotalObjects < 0) { c.Account.TotalObjects = 0; } MNetMessage mn = new MNetMessage(); mn.Command = MNetMessage.DELETE; mn.Payload = mp.Serialize(); SendToAllClients(c, mn.Serialize()); UniverseChanged?.Invoke(this, new ServerEvent("-1", 3)); }