private void ChildUpdateOnPositionChange(IObject own) { AgentCircuit c; if (Circuits.TryGetValue(SceneID, out c)) { var scene = c.Scene; if (scene != null) { foreach (var kvp in ActiveChilds) { var m = new ChildAgentPositionUpdate { AgentID = ID, AgentPosition = GlobalPosition, AgentVelocity = Velocity, ChangedGrid = false, AtAxis = CameraAtAxis, Center = CameraPosition, LeftAxis = CameraLeftAxis, RegionLocation = scene.GridPosition, SessionID = SessionID, Size = Size, UpAxis = CameraUpAxis }; var childUpdater = kvp.Value.ChildAgentUpdateService; childUpdater?.SendMessage(m); } } } }
public void SendMessage(ChildAgentPositionUpdate m) { m.ViewerCircuitCode = m_ViewerCircuitCode; m.SessionID = m_Circuit.SessionID; m.AgentID = m_Circuit.RemoteSceneID; m_Circuit.SendMessage(m); }
public abstract void HandleMessage(ChildAgentPositionUpdate m);
public override void HandleMessage(ChildAgentPositionUpdate m) { }