static void ShowOnHudSuccess(ref ChangeShowOnHudMsg msg, MyNetworkClient sender) { Dictionary <int, MyGps> gpsList; var result = MySession.Static.Gpss.m_playerGpss.TryGetValue(msg.IdentityId, out gpsList); if (result) { MyGps gps; result = gpsList.TryGetValue(msg.Hash, out gps); if (result) { gps.ShowOnHud = msg.Show == 1; gps.DiscardAt = null;//finalize var handler = MySession.Static.Gpss.GpsChanged; if (handler != null) { handler(msg.IdentityId, msg.Hash); } if (msg.IdentityId == MySession.LocalPlayerId) { if (gps.ShowOnHud) { MyHud.GpsMarkers.RegisterMarker(gps); } else { MyHud.GpsMarkers.UnregisterMarker(gps); } } } } }
static void ShowOnHudRequest(ref ChangeShowOnHudMsg msg, MyNetworkClient sender) { Dictionary <int, MyGps> gpsList; var result = MySession.Static.Gpss.m_playerGpss.TryGetValue(msg.IdentityId, out gpsList); if (result != null) { Sync.Layer.SendMessageToAllAndSelf(ref msg, MyTransportMessageEnum.Success); } }
void SendChangeShowOnHud(long identityId, int gpsHash, bool show) { var msg = new ChangeShowOnHudMsg(); msg.IdentityId = identityId; msg.Hash = gpsHash; msg.Show = (byte)(show?1:0); Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }
static void ShowOnHudSuccess(ref ChangeShowOnHudMsg msg, MyNetworkClient sender) { Dictionary<int,MyGps> gpsList; var result = MySession.Static.Gpss.m_playerGpss.TryGetValue(msg.IdentityId, out gpsList); if (result) { MyGps gps; result = gpsList.TryGetValue(msg.Hash, out gps); if(result) { gps.ShowOnHud = msg.Show == 1; gps.DiscardAt = null;//finalize var handler = MySession.Static.Gpss.GpsChanged; if (handler != null) handler(msg.IdentityId,msg.Hash); if (msg.IdentityId == MySession.LocalPlayerId) { if (gps.ShowOnHud) MyHud.GpsMarkers.RegisterMarker(gps); else MyHud.GpsMarkers.UnregisterMarker(gps); } } } }
static void ShowOnHudRequest(ref ChangeShowOnHudMsg msg, MyNetworkClient sender) { Dictionary<int,MyGps> gpsList; var result=MySession.Static.Gpss.m_playerGpss.TryGetValue(msg.IdentityId,out gpsList); if (result != null) { Sync.Layer.SendMessageToAllAndSelf(ref msg, MyTransportMessageEnum.Success); } }
void SendChangeShowOnHud(long identityId, int gpsHash, bool show) { var msg = new ChangeShowOnHudMsg(); msg.IdentityId=identityId; msg.Hash=gpsHash; msg.Show=(byte)(show?1:0); Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }