private static void OnStatChangedMessage(long entityId, List <StatInfo> changedStats) { MyEntity entity; if (!MyEntities.TryGetEntityById(entityId, out entity)) { return; } MyEntityStatComponent statComp = null; if (!entity.Components.TryGet <MyEntityStatComponent>(out statComp)) { return; } foreach (var statChange in 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; } }
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 OnStatChangedMessage(long entityId, List <StatInfo> changedStats) { MyEntity entity; if (MyEntities.TryGetEntityById(entityId, out entity, false)) { MyEntityStatComponent component = null; if (entity.Components.TryGet <MyEntityStatComponent>(out component)) { foreach (StatInfo info in changedStats) { MyEntityStat stat; if (component.TryGetStat(info.StatId, out stat)) { stat.Value = info.Amount; stat.StatRegenLeft = info.RegenLeft; } } } } }