private void Factions_FactionStateChanged(VRage.Game.ModAPI.MyFactionStateChange arg1, long arg2, long arg3, long arg4, long arg5) { _log.Debug($"Factions_FactionStateChanged {arg1} {arg2} {arg3} {arg4} {arg5}"); }
private void Factions_FactionStateChanged(VRage.Game.ModAPI.MyFactionStateChange action, long fromFactionId, long toFactionId, long playerId, long senderId) { _log.Warn($"Factions_FactionStateChanged {action} {fromFactionId} {toFactionId} {playerId} {senderId}"); switch (action) { case VRage.Game.ModAPI.MyFactionStateChange.RemoveFaction: _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_REMOVED, raw = new JavaScriptSerializer().Serialize(new FactionRemoveEvent { FactionId = toFactionId, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.SendPeaceRequest: _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_SEND_PEACE_REQUEST, raw = new JavaScriptSerializer().Serialize(new FactionPeaceWarEvent { FromFactionId = fromFactionId, ToFactionId = toFactionId, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.CancelPeaceRequest: _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_CANCEL_PEACE_REQUEST, raw = new JavaScriptSerializer().Serialize(new FactionPeaceWarEvent { FromFactionId = fromFactionId, ToFactionId = toFactionId, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.AcceptPeace: _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_ACCEPT_PEACE, raw = new JavaScriptSerializer().Serialize(new FactionPeaceWarEvent { FromFactionId = fromFactionId, ToFactionId = toFactionId, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.DeclareWar: _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_DECLARE_WAR, raw = new JavaScriptSerializer().Serialize(new FactionPeaceWarEvent { FromFactionId = fromFactionId, ToFactionId = toFactionId, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.FactionMemberSendJoin: var steamId = MySession.Static.Players.TryGetSteamId(playerId); var name = MySession.Static.Players.TryGetIdentityNameFromSteamId(steamId); _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_MEMBER_SEND_JOIN, raw = new JavaScriptSerializer().Serialize(new FactionMemberEvent { FactionId = toFactionId, PlayerId = playerId, PlayerSteamId = steamId, PlayerName = name, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.FactionMemberCancelJoin: steamId = MySession.Static.Players.TryGetSteamId(playerId); name = MySession.Static.Players.TryGetIdentityNameFromSteamId(steamId); _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_MEMBER_CANCEL_JOIN, raw = new JavaScriptSerializer().Serialize(new FactionMemberEvent { FactionId = toFactionId, PlayerId = playerId, PlayerSteamId = steamId, PlayerName = name, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.FactionMemberAcceptJoin: steamId = MySession.Static.Players.TryGetSteamId(playerId); name = MySession.Static.Players.TryGetIdentityNameFromSteamId(steamId); _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_MEMBER_ACCEPT_JOIN, raw = new JavaScriptSerializer().Serialize(new FactionMemberEvent { FactionId = toFactionId, PlayerId = playerId, PlayerSteamId = steamId, PlayerName = name, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.FactionMemberKick: steamId = MySession.Static.Players.TryGetSteamId(playerId); name = MySession.Static.Players.TryGetIdentityNameFromSteamId(steamId); _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_MEMBER_KICK, raw = new JavaScriptSerializer().Serialize(new FactionMemberEvent { FactionId = toFactionId, PlayerId = playerId, PlayerSteamId = steamId, PlayerName = name, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.FactionMemberPromote: steamId = MySession.Static.Players.TryGetSteamId(playerId); name = MySession.Static.Players.TryGetIdentityNameFromSteamId(steamId); _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_MEMBER_PROMOTE, raw = new JavaScriptSerializer().Serialize(new FactionMemberEvent { FactionId = toFactionId, PlayerId = playerId, PlayerSteamId = steamId, PlayerName = name, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.FactionMemberDemote: steamId = MySession.Static.Players.TryGetSteamId(playerId); name = MySession.Static.Players.TryGetIdentityNameFromSteamId(steamId); _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_MEMBER_PROMOTE, raw = new JavaScriptSerializer().Serialize(new FactionMemberEvent { FactionId = toFactionId, PlayerId = playerId, PlayerSteamId = steamId, PlayerName = name, }), }); break; case VRage.Game.ModAPI.MyFactionStateChange.FactionMemberLeave: steamId = MySession.Static.Players.TryGetSteamId(playerId); name = MySession.Static.Players.TryGetIdentityNameFromSteamId(steamId); _uplinkManager.PublishChange(new HiveChangeEvent { type = EVENT_TYPE_FACTION_MEMBER_LEAVE, raw = new JavaScriptSerializer().Serialize(new FactionMemberEvent { FactionId = toFactionId, PlayerId = playerId, PlayerSteamId = steamId, PlayerName = name, }), }); break; } }