public void ControllableEntityMoved(ControllableEntity e) { /* * //Log.Trace("Controllable Entity Moved", "ControllableEntityAdded"); * var notice = new SEGarden.Notifications.AlertNotification() { * Text = "Controllable Entity " + e.EntityId + " Moved", * DisplaySeconds = 5 * }; * notice.Raise(); */ ObservingEntity observer = e as ObservingEntity; if (observer != null) { UpdateObservingGridPosition(observer); } RevealedGrid grid = e as RevealedGrid; if (grid != null) { UpdateRememberedGridPosition(grid); } }
public Main() { Log.Trace("Registering session components", "Main"); UpdateManager.RegisterSessionComponent(new ServerConcealSession()); UpdateManager.RegisterSessionComponent(new ClientConcealSession()); Log.Trace("Registering character component", "Main"); UpdateManager.RegisterEntityComponent( ((e) => { //Log.Trace("Running constructor", "ctr"); Character c = new Character(e); return(c); }), typeof(MyObjectBuilder_Character), RunLocation.Server); Log.Trace("Registering grid component", "Main"); UpdateManager.RegisterEntityComponent( ((e) => { //Log.Trace("Running constructor", "ctr"); RevealedGrid c = new RevealedGrid(e); return(c); }), typeof(MyObjectBuilder_CubeGrid), RunLocation.Server); }
// can occur from messaging and entity hooks so safed // provide instruction queue for managed resource updates // wait to conceal after notifying other mods for a few frames public bool QueueConceal(long entityId) { RevealedGrid grid = Revealed.GetGrid(entityId); if (grid == null) { Log.Error("Couldn't find grid to conceal " + entityId, "QueueConceal"); return(false); } return(QueueConceal(grid)); }
private void ForgetGrid(RevealedGrid e) { long id = e.EntityId; if (!Grids.ContainsKey(id)) { Log.Error("Not stored " + id, "ForgetGrid"); return; } Log.Trace("Removing " + id, "ForgetGrid"); Grids.Remove(id); GridTree.Remove(e); }
private void RememberGrid(RevealedGrid e) { long id = e.EntityId; if (Grids.ContainsKey(id)) { Log.Error("Already added " + id, "RememberGrid"); return; } Log.Trace("Adding " + id, "RememberGrid"); Grids.Add(id, e); GridTree.Add(e); }
public bool QueueConceal(RevealedGrid grid) { if (!grid.IsConcealable) { Log.Warning("Is not concealable: " + grid.EntityId, "QueueConceal"); return(false); } Log.Trace("Equeuing grid for conceal " + grid.EntityId, "QueueConceal"); GridConcealQueue.Enqueue(grid); ConcealQueuedMessage msg = new ConcealQueuedMessage(grid.EntityId); msg.SendToAll(); return(true); }
public static RevealedGridsResponse FromBytes(byte[] bytes) { VRage.ByteStream stream = new VRage.ByteStream(bytes, bytes.Length); RevealedGridsResponse response = new RevealedGridsResponse(); response.LoadFromByteStream(stream); RevealedGrid grid; ushort count = stream.getUShort(); //Log.Trace("Retrieving " + count + " grids from response", "ToBytes"); for (int i = 0; i < count; i++) { grid = new RevealedGrid(stream); response.RevealedGrids.Add(grid); //Log.Trace("Added grid " + grid.EntityId, "ToBytes"); } return(response); }
public void ControllableEntityRemoved(ControllableEntity e) { Log.Trace("Controllable Entity Removed", "ControllableEntityRemoved"); //if (e.IsControlled) ForgetControlledEntity(e); ObservingEntity observer = e as ObservingEntity; if (observer != null) { ForgetObservingEntity(observer); } RevealedGrid grid = e as RevealedGrid; if (grid != null) { ForgetGrid(grid); } //Character character = e as Character; //if (character != null) ForgetCharacter(character); }
public void ControllableEntityAdded(ControllableEntity e) { Log.Trace("Controllable Entity Added", "ControllableEntityAdded"); //if (e.IsControlled) RememberControlledEntity(e); ObservingEntity observer = e as ObservingEntity; if (observer != null) { RememberObservingEntity(observer); } RevealedGrid grid = e as RevealedGrid; if (grid != null) { RememberGrid(grid); } //Character character = e as Character; //if (character != null) RememberCharacter(character); }
private void UpdateRememberedGridPosition(RevealedGrid e) { GridTree.Move(e); }