internal RealSpaceEngineers(GameSession gameSession, ILog log, PluginConfig config)
        {
            var lowLevelObserver = new LowLevelObserver(gameSession)
            {
                Log = log
            };

            Observer = new Observer(lowLevelObserver)
            {
                Log    = log,
                Radius = config.ObservationRadius
            };
            Session = new SessionController()
            {
                Log = log
            };
            Items       = new Items(gameSession, lowLevelObserver);
            Definitions = new Definitions();
            var characterController = new CharacterController(gameSession, Observer, lowLevelObserver, log);

            Character = characterController;
            var blocks = new Blocks(gameSession, lowLevelObserver);

            Blocks  = blocks;
            Admin   = new SpaceEngineersAdmin(characterController, blocks, new ObserverAdmin(lowLevelObserver));
            Screens = new Screens();
        }
예제 #2
0
 public CharacterController(IGameSession session, IObserver observer, LowLevelObserver lowLevelObserver,
                            ILog log)
 {
     m_session          = session;
     m_observer         = observer;
     m_lowLevelObserver = lowLevelObserver;
     Log = log;
 }
예제 #3
0
 public Blocks(IGameSession session, LowLevelObserver observer)
 {
     m_session  = session;
     m_observer = observer;
 }
예제 #4
0
 public ObserverAdmin(LowLevelObserver lowLevelObserver)
 {
     m_lowLevelObserver = lowLevelObserver;
 }