public void ResetEntity(MyEntity entity) { Debug.Assert(entity.EntityId.HasValue); if (IsControlledByMe(entity)) { MyEventEntityReset msg = new MyEventEntityReset(); msg.EntityId = entity.EntityId.Value.NumericValue; Peers.SendToAll(ref msg); } }
private void OnReset(ref MyEventEntityReset msg) { MyEntity entity; if (MyEntities.TryGetEntityById(new MyEntityIdentifier(msg.EntityId), out entity) && entity.IsDummy) { var resetableEntity = entity as IResetable; entity.IsDummy = false; resetableEntity.Reset(); entity.IsDummy = true; } }