static void EditFactionSuccess(ref EditFactionMsg msg, MyNetworkClient sender) { var faction = MySession.Static.Factions.TryGetFactionById(msg.FactionId) as MyFaction; Debug.Assert(faction != null, "Editing a non-existent faction!"); if (faction == null) { return; } MySession.Static.Factions.UnregisterFactionTag(faction); faction.Tag = msg.FactionTag; faction.Name = msg.FactionName; faction.Description = msg.FactionDescription; faction.PrivateInfo = msg.FactionPrivateInfo; MySession.Static.Factions.RegisterFactionTag(faction); var handler = MySession.Static.Factions.FactionEdited; if (handler != null) { handler(msg.FactionId); } }
void SendEditFaction(long factionId, string factionTag, string factionName, string factionDesc, string factionPrivate) { var msg = new EditFactionMsg(); msg.FactionId = factionId; msg.FactionTag = factionTag; msg.FactionName = factionName; msg.FactionDescription = factionDesc; msg.FactionPrivateInfo = factionPrivate; Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }
static void EditFactionSuccess(ref EditFactionMsg msg, MyNetworkClient sender) { MySession.Static.Factions[msg.FactionId].Tag = msg.FactionTag; MySession.Static.Factions[msg.FactionId].Name = msg.FactionName; MySession.Static.Factions[msg.FactionId].Description = msg.FactionDescription; MySession.Static.Factions[msg.FactionId].PrivateInfo = msg.FactionPrivateInfo; var handler = MySession.Static.Factions.FactionEdited; if (handler != null) { handler(msg.FactionId); } }
static void EditFactionRequest(ref EditFactionMsg msg, MyNetworkClient sender) { var faction = MySession.Static.Factions.TryGetFactionById(msg.FactionId); if (faction != null && !MySession.Static.Factions.FactionTagExists(msg.FactionTag, faction) && !MySession.Static.Factions.FactionNameExists(msg.FactionName, faction)) { Sync.Layer.SendMessageToAllAndSelf(ref msg, MyTransportMessageEnum.Success); } /*else * { * Sync.Layer.SendMessage(ref msg, SteamSDK.sender.SteamUserId, MyTransportMessageEnum.Failure); * }*/ }