コード例 #1
0
        public GodEntityManager(D3DEngine engine,
                                GodEntity playerEntity,
                                InputsManager inputsManager,
                                SingleArrayChunkContainer cubesHolder,
                                CameraManager <ICameraFocused> cameraManager,
                                LandscapeBufferManager bufferManager,
                                VisualWorldParameters visParameters,
                                GlobalStateManager globalStateManager)
        {
            if (engine == null)
            {
                throw new ArgumentNullException("engine");
            }
            if (playerEntity == null)
            {
                throw new ArgumentNullException("playerEntity");
            }
            if (inputsManager == null)
            {
                throw new ArgumentNullException("inputsManager");
            }
            if (cubesHolder == null)
            {
                throw new ArgumentNullException("cubesHolder");
            }
            if (cameraManager == null)
            {
                throw new ArgumentNullException("cameraManager");
            }
            if (bufferManager == null)
            {
                throw new ArgumentNullException("bufferManager");
            }
            if (visParameters == null)
            {
                throw new ArgumentNullException("visParameters");
            }

            GodEntity = playerEntity;

            _faction = globalStateManager.GlobalState.Factions[GodEntity.FactionId];

            _eyeOrientation  = GodEntity.HeadRotation;
            _bodyOrientation = GodEntity.BodyRotation;

            _engine        = engine;
            _inputsManager = inputsManager;
            _cubesHolder   = cubesHolder;
            _cameraManager = cameraManager;
            _bufferManager = bufferManager;
            _visParameters = visParameters;
        }
コード例 #2
0
        public UtopiaProcessor(WorldParameters worldParameters, EntityFactory entityFactory, LandscapeBufferManager landscapeEntityManager)
        {
            _worldParameters        = worldParameters;
            _entityFactory          = entityFactory;
            _config                 = (UtopiaWorldConfiguration)worldParameters.Configuration;
            _biomeHelper            = new BiomeHelper(_config);
            _worldGeneratedHeight   = _config.ProcessorParam.WorldGeneratedHeight;
            _landscapeBufferManager = landscapeEntityManager;
            LandscapeEntities       = new LandscapeEntities(_landscapeBufferManager, _worldParameters);
            _spawnControler         = new UtopiaEntitySpawningControler(_config);

            landscapeEntityManager.Processor = this;
        }
コード例 #3
0
        public PlayerEntityManager(CameraManager <ICameraFocused> cameraManager,
                                   InputsManager inputsManager,
                                   SingleArrayChunkContainer cubesHolder,
                                   ServerComponent server,
                                   VoxelModelManager voxelModelManager,
                                   VisualWorldParameters visualWorldParameters,
                                   EntityFactory factory,
                                   LandscapeBufferManager bufferManager,
                                   ILandscapeManager landscapeManager,
                                   ChatComponent chatComponent,
                                   PostEffectComponent postEffectComponent,
                                   GuiManager guiManager,
                                   ISoundEngine soundEngine,
                                   TimerManager timerManager
                                   )
        {
            _cameraManager         = cameraManager;
            _inputsManager         = inputsManager;
            _soundEngine           = soundEngine;
            _cubesHolder           = cubesHolder;
            _visualWorldParameters = visualWorldParameters;
            _factory             = factory;
            _bufferManager       = bufferManager;
            _landscapeManager    = landscapeManager;
            _chatComponent       = chatComponent;
            _postEffectComponent = postEffectComponent;
            OnLanding           += PlayerEntityManager_OnLanding;
            _guiManager          = guiManager;

            PlayerCharacter = (PlayerCharacter)server.Player;

            ShowDebugInfo = true;

            // Create a visualVoxelEntity (== Assign a voxel body to the PlayerCharacter)
            VisualVoxelEntity = new VisualVoxelEntity(PlayerCharacter, voxelModelManager);

            //Add a new Timer trigger
            _energyUpdateTimer = timerManager.AddTimer(1000); //A timer that will be raised every second
            _energyUpdateTimer.OnTimerRaised += energyUpdateTimer_OnTimerRaised;

            HasMouseFocus = Updatable;
            UpdateOrder   = 0;

            // create "real" random
            var entropySource = RNGCryptoServiceProvider.Create();
            var bytes         = new byte[4];

            entropySource.GetBytes(bytes);
            random = new Random(BitConverter.ToInt32(bytes, 0));
        }
コード例 #4
0
        public LandscapeManager(ServerComponent server, IChunkStorageManager chunkStorageManager, TimerManager timerManager, VoxelModelManager voxelModelManager, LandscapeBufferManager landscapeEntityManager)
        {
            _chunkStorageManager = chunkStorageManager;
            _voxelModelManager   = voxelModelManager;

            _server = server;
            _receivedServerChunks     = new Dictionary <Vector3I, ChunkDataMessage>(1024);
            _server.MessageChunkData += ServerConnection_MessageChunkData;
            _landscapeEntityManager   = landscapeEntityManager;

            //Add a new Timer trigger
            _timer = timerManager.AddTimer(10000);
            _timer.OnTimerRaised += _timer_OnTimerRaised;

            Initialize();
        }
コード例 #5
0
 public LandscapeEntities(LandscapeBufferManager entityManager, WorldParameters worldParameters)
 {
     _entityManager   = entityManager;
     _worldParameters = worldParameters;
 }
コード例 #6
0
ファイル: LocalServer.cs プロジェクト: ErtyHackward/utopia
 public LocalServer(RealmRuntimeVariables vars, LandscapeBufferManager landscapeEntityManager)
 {
     _vars = vars;
     _landscapeEntityManager = landscapeEntityManager;
 }