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);
                    }
                }
            }
        }
Exemple #2
0
 public void SendMessage(ChildAgentPositionUpdate m)
 {
     m.ViewerCircuitCode = m_ViewerCircuitCode;
     m.SessionID         = m_Circuit.SessionID;
     m.AgentID           = m_Circuit.RemoteSceneID;
     m_Circuit.SendMessage(m);
 }
Exemple #3
0
 public abstract void HandleMessage(ChildAgentPositionUpdate m);
Exemple #4
0
 public override void HandleMessage(ChildAgentPositionUpdate m)
 {
 }