private static void OnStatChangedMessage(ref EntityStatChangedMsg msg, MyNetworkClient sender) { MyEntity entity; if (!MyEntities.TryGetEntityById(msg.EntityId, out entity)) { return; } MyEntityStatComponent statComp = null; if (!entity.Components.TryGet <MyEntityStatComponent>(out statComp)) { return; } foreach (var statChange in msg.ChangedStats) { MyEntityStat localStat; if (!statComp.TryGetStat(statChange.StatId, out localStat)) { continue; } localStat.Value = statChange.Amount; localStat.StatRegenLeft = statChange.RegenLeft; } }
private static void OnStatChangedRequest(ref EntityStatChangedMsg msg, MyNetworkClient sender) { Debug.Assert(Sync.IsServer); MyEntity entity; if (!MyEntities.TryGetEntityById(msg.EntityId, out entity)) { return; } MyEntityStatComponent statComp = null; if (!entity.Components.TryGet <MyEntityStatComponent>(out statComp)) { return; } foreach (var statChange in msg.ChangedStats) { MyEntityStat localStat; if (!statComp.TryGetStat(statChange.StatId, out localStat)) { continue; } localStat.Value = statChange.Amount; } }
public void RequestStatChange(MyEntityStat stat) { EntityStatChangedMsg msg = new EntityStatChangedMsg(); msg.EntityId = Entity.EntityId; msg.ChangedStats = new List<StatInfo>(); msg.ChangedStats.Add(new StatInfo() { StatId = stat.StatId, Amount = stat.Value }); // Regen left not used MySession.Static.SyncLayer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }
public void RequestStatChange(MyEntityStat stat) { EntityStatChangedMsg msg = new EntityStatChangedMsg(); msg.EntityId = Entity.EntityId; msg.ChangedStats = new List <StatInfo>(); msg.ChangedStats.Add(new StatInfo() { StatId = stat.StatId, Amount = stat.Value }); // Regen left not used MySession.Static.SyncLayer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }
private void SendStatsChanged(List <MyEntityStat> stats) { Debug.Assert(Sync.IsServer); EntityStatChangedMsg msg = new EntityStatChangedMsg(); msg.EntityId = Entity.EntityId; msg.ChangedStats = new List <StatPair>(); foreach (var stat in stats) { msg.ChangedStats.Add(new StatPair() { StatId = stat.StatId, Amount = stat.Value }); } MySession.Static.SyncLayer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); }
private void SendStatsChanged(List <MyEntityStat> stats) { Debug.Assert(Sync.IsServer); EntityStatChangedMsg msg = new EntityStatChangedMsg(); msg.EntityId = Entity.EntityId; msg.ChangedStats = new List <StatInfo>(); foreach (var stat in stats) { stat.CalculateRegenLeftForLongestEffect(); msg.ChangedStats.Add(new StatInfo() { StatId = stat.StatId, Amount = stat.Value, RegenLeft = stat.StatRegenLeft, }); } MySession.Static.SyncLayer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); }
private static void OnStatChangedRequest(ref EntityStatChangedMsg msg, MyNetworkClient sender) { Debug.Assert(Sync.IsServer); MyEntity entity; if (!MyEntities.TryGetEntityById(msg.EntityId, out entity)) return; MyEntityStatComponent statComp = null; if (!entity.Components.TryGet<MyEntityStatComponent>(out statComp)) return; foreach (var statChange in msg.ChangedStats) { MyEntityStat localStat; if (!statComp.TryGetStat(statChange.StatId, out localStat)) continue; localStat.Value = statChange.Amount; } }
private static void OnStatChangedMessage(ref EntityStatChangedMsg msg, MyNetworkClient sender) { MyEntity entity; if (!MyEntities.TryGetEntityById(msg.EntityId, out entity)) return; MyEntityStatComponent statComp = null; if (!entity.Components.TryGet<MyEntityStatComponent>(out statComp)) return; foreach (var statChange in msg.ChangedStats) { MyEntityStat localStat; if (!statComp.TryGetStat(statChange.StatId, out localStat)) continue; localStat.Value = statChange.Amount; localStat.StatRegenLeft = statChange.RegenLeft; } }
private void SendStatsChanged(List<MyEntityStat> stats) { Debug.Assert(Sync.IsServer); EntityStatChangedMsg msg = new EntityStatChangedMsg(); msg.EntityId = Entity.EntityId; msg.ChangedStats = new List<StatInfo>(); foreach (var stat in stats) { stat.CalculateRegenLeftForLongestEffect(); msg.ChangedStats.Add(new StatInfo() { StatId = stat.StatId, Amount = stat.Value, RegenLeft = stat.StatRegenLeft, }); } MySession.Static.SyncLayer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); }
private void SendStatsChanged(List<MyEntityStat> stats) { Debug.Assert(Sync.IsServer); EntityStatChangedMsg msg = new EntityStatChangedMsg(); msg.EntityId = Entity.EntityId; msg.ChangedStats = new List<StatPair>(); foreach (var stat in stats) msg.ChangedStats.Add(new StatPair() { StatId = stat.StatId, Amount = stat.Value }); MySession.Static.SyncLayer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); }