예제 #1
0
        public void Init(Frame frame)
        {
            mFrame  = frame;
            mConfig = new ViewerConfig(frame.Name);

            mViewerController = new ViewerController(mConfig.ViewerToggleHUDKey, mFrame.Name);
            if (mConfig.BackwardsCompatible)
            {
                mProxyController = new BackwardCompatibleController(frame);
            }
            else
            {
                mProxyController = new FullController(frame);
            }
            mProxyController.Offset = mConfig.Offset;

            mExitListener = new Action(mViewerController_Exited);

            mFrame.Core.DeltaUpdated           += new Action <Core, DeltaUpdateEventArgs>(Coordinator_DeltaUpdated);
            mFrame.Core.CameraUpdated          += new Action <Core, CameraUpdateEventArgs>(Coordinator_CameraUpdated);
            mFrame.Core.ControlModeChanged     += new Action <Core, ControlMode>(Coordinator_CameraModeChanged);
            mFrame.Core.EyeUpdated             += new Action <Core, EventArgs>(Coordinator_EyeUpdated);
            mFrame.Core.InitialisationComplete += new Action(Core_InitialisationComplete);
            mFrame.Core.Tick                  += new Action(CheckTimeoutThread);
            mFrame.Changed                    += new Action <Chimera.Frame, EventArgs>(mFrame_Changed);
            mFrame.MonitorChanged             += new Action <Chimera.Frame, Screen>(mFrame_MonitorChanged);
            mProxyController.OnClientLoggedIn += new EventHandler(mProxyController_OnClientLoggedIn);
            mProxyController.PositionChanged  += new Action <Vector3, Rotation>(mProxyController_PositionChanged);
            mViewerController.Exited          += mExitListener;
        }
        public ProxyControllerPacketThread(Core core, ProxyControllerBase controller)
        {
            mControllers.Add(controller);
            mCore = core;

            Thread t = new Thread(UpdateThread);
            t.Name = "CameraUpdate";
            t.Start();
        }
예제 #3
0
        public ProxyControllerPacketThread(Core core, ProxyControllerBase controller)
        {
            mControllers.Add(controller);
            mCore = core;

            Thread t = new Thread(UpdateThread);

            t.Name = "CameraUpdate";
            t.Start();
        }
예제 #4
0
 public void AddController(ProxyControllerBase controller)
 {
     mControllers.Add(controller);
 }
예제 #5
0
        public void Init(Frame frame)
        {
            mFrame = frame;
            mConfig = new ViewerConfig(frame.Name);

            mViewerController = new ViewerController(mConfig.ViewerToggleHUDKey, mFrame.Name);
            if (mConfig.BackwardsCompatible)
                mProxyController = new BackwardCompatibleController(frame);
            else
                mProxyController = new FullController(frame);
            mProxyController.Offset = mConfig.Offset;

            mExitListener = new Action(mViewerController_Exited);

            mFrame.Core.DeltaUpdated += new Action<Core, DeltaUpdateEventArgs>(Coordinator_DeltaUpdated);
            mFrame.Core.CameraUpdated += new Action<Core, CameraUpdateEventArgs>(Coordinator_CameraUpdated);
            mFrame.Core.ControlModeChanged += new Action<Core, ControlMode>(Coordinator_CameraModeChanged);
            mFrame.Core.EyeUpdated += new Action<Core, EventArgs>(Coordinator_EyeUpdated);
            mFrame.Core.InitialisationComplete += new Action(Core_InitialisationComplete);
            mFrame.Changed += new Action<Chimera.Frame, EventArgs>(mFrame_Changed);
            mFrame.MonitorChanged += new Action<Chimera.Frame, Screen>(mFrame_MonitorChanged);
            mProxyController.OnClientLoggedIn += new EventHandler(mProxyController_OnClientLoggedIn);
            mProxyController.PositionChanged += new Action<Vector3, Rotation>(mProxyController_PositionChanged);
            mViewerController.Exited += mExitListener;
        }
 public void AddController(ProxyControllerBase controller)
 {
     mControllers.Add(controller);
 }