Exemple #1
0
        public Entity Add()
        {
            Entity entity = new Entity();

            ServerComponent server = new ServerComponent()
            {
                Name = Environment.MachineName, Address = "127.0.0.1"
            };

            entity.Add(server);

            ServerOptionsComponent options = new ServerOptionsComponent();

            entity.Add(options);

            ServerStatusComponent status = new ServerStatusComponent();

            entity.Add(status);

            MachineComponent machine = new ServerMachineComponent();

            entity.Add(machine);

            SessionMapComponent sessions = new SessionMapComponent();

            entity.Add(sessions);
#if DEBUG
            LogComponent log = new LogComponent(LogController);
            entity.Add(log);
#endif
            Add(entity);

            return(entity);
        }
Exemple #2
0
        private void ServerEditCommand_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            DemonSaw.Entity.Entity entity = Server.SelectedItem;

            ServerComponent    server = entity.Get <ServerComponent>();
            ServerOptionWindow wnd    = new ServerOptionWindow()
            {
                Title = server.Name, Owner = this
            };

            ServerOptionsComponent options = entity.Get <ServerOptionsComponent>();

            wnd.MaxTransfers.Text = options.MaxTransfers.ToString();
            wnd.MaxChunks.Text    = options.MaxChunks.ToString();
            wnd.ChunkSize.Text    = (options.ChunkSize >> 10).ToString();

            //wnd.Ping.IsChecked = options.Ping;
            //wnd.Info.IsChecked = options.Info;

            bool result = (bool)wnd.ShowDialog();

            if (result)
            {
                options.MaxTransfers = int.Parse(wnd.MaxTransfers.Text);
                options.MaxChunks    = int.Parse(wnd.MaxChunks.Text);
                options.ChunkSize    = int.Parse(wnd.ChunkSize.Text) << 10;

                //options.Ping = (bool) wnd.Ping.IsChecked;
                //options.Info = (bool) wnd.Info.IsChecked;
            }
        }
Exemple #3
0
        public MapComponent(D3DEngine engine,
                            InputsManager inputManager,
                            MainScreen screen,
                            ServerComponent server,
                            WorldPlan plan,
                            IPlayerManager playerManager)
        {
            this.IsDefferedLoadContent = true;

            _playerManager = playerManager;
            _engine        = engine;
            _inputManager  = inputManager;
            _screen        = screen;
            _server        = server;

            _mapWindow        = new WindowControl();
            _mapWindow.Name   = "Map";
            _mapWindow.Title  = "World map";
            _mapWindow.Bounds = new UniRectangle(100, 100, 711, 400);


            _planGenerator = plan;
            _playerManager = playerManager;
            //_planGenerator.Parameters = _server.GameInformations.PlanGenerationParameters;
        }
Exemple #4
0
        public Entity Add()
        {
            Entity entity = new Entity();

            ServerComponent server = new ServerComponent()
            {
                Address = "127.0.0.1"
            };

            entity.Add(server);

            MachineComponent machine = new ServerMachineComponent();

            entity.Add(machine);

            SessionComponent session = new SessionComponent();

            entity.Add(session);
#if DEBUG
            LogComponent log = new LogComponent(LogController);
            entity.Add(log);
#endif
            Add(entity);

            return(entity);
        }
Exemple #5
0
        public void Add(ClientComponent client, ServerComponent server, GroupComponent group)
        {
            Entity entity = new Entity();

            entity.Add(client);

            ClientOptionsComponent options = new ClientOptionsComponent();

            entity.Add(options);

            entity.Add(server);

            entity.Add(group);

            FolderListComponent folderList = new FolderListComponent();

            entity.Add(folderList);

            FileMapComponent fileMap = new FileMapComponent();

            entity.Add(fileMap);

            FolderMapComponent folderMap = new FolderMapComponent();

            entity.Add(folderMap);

            ClientMachineComponent machine = new ClientMachineComponent();

            entity.Add <MachineComponent>(machine);

            SessionComponent session = new SessionComponent();

            entity.Add(session);

            FileComponent file = new FileComponent();

            entity.Add(file);

            SearchListComponent search = new SearchListComponent(SearchController.Dispatcher);

            entity.Add(search);

            BrowseComponent browse = new BrowseComponent();

            entity.Add(browse);

            DownloadListComponent download = new DownloadListComponent(DownloadController.Dispatcher);

            entity.Add(download);

            UploadListComponent upload = new UploadListComponent(UploadController.Dispatcher);

            entity.Add(upload);
#if DEBUG
            LogComponent log = new LogComponent(LogController);
            entity.Add(log);
#endif
            Add(entity);
        }
Exemple #6
0
        public RheinwerkGame()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
            graphics.IsFullScreen = false;
            IsMouseVisible        = true;

            Input             = new InputComponent(this);
            Input.UpdateOrder = 0;
            Components.Add(Input);

            Screen             = new ScreenComponent(this);
            Screen.UpdateOrder = 1;
            Screen.DrawOrder   = 2;
            Components.Add(Screen);

            Local             = new LocalComponent(this);
            Local.UpdateOrder = 2;
            Components.Add(Local);

            var client = new ClientComponent(this);

            Client             = client;
            client.UpdateOrder = 3;
            Components.Add(client);

            var server = new ServerComponent(this);

            Server             = server;
            server.UpdateOrder = 4;
            Components.Add(server);

            Simulation             = new SimulationComponent(this);
            Simulation.UpdateOrder = 5;
            Components.Add(Simulation);

            Scene             = new SceneComponent(this);
            Scene.UpdateOrder = 6;
            Scene.DrawOrder   = 0;
            Components.Add(Scene);

            Hud             = new HudComponent(this);
            Hud.UpdateOrder = 7;
            Hud.DrawOrder   = 1;
            Components.Add(Hud);

            Music             = new MusicComponent(this);
            Music.UpdateOrder = 8;
            Components.Add(Music);

            Sound             = new SoundComponent(this);
            Sound.UpdateOrder = 9;
            Components.Add(Sound);

            // Einstellungen laden
            Settings = Settings.LoadSettings();
        }
Exemple #7
0
 public Weather(IClock clock, ServerComponent server)
 {
     Wind                    = new Wind(false);
     MoistureOffset          = 0.0f;
     TemperatureOffset       = 0.0f;
     _clock                  = clock;
     _server                 = server;
     _server.MessageWeather += ServerConnection_MessageWeather;
 }
        public GlobalStateManager(ServerComponent serverComponent)
        {
            if (serverComponent == null)
            {
                throw new ArgumentNullException("serverComponent");
            }

            GlobalState = serverComponent.GameInformations.GlobalState;
        }
Exemple #9
0
        static void Main(string[] args)
        {
            Console.WriteLine("Start");
            var server    = new ServerInstance("Test Updated Server", new ExtensionsFactory());
            var component = new ServerComponent(server);

            StartLegacyServerAndExecuteFunctions(component);
            CheckExtensions(server);
            Console.WriteLine("Finish");
            Console.ReadKey();
        }
Exemple #10
0
        public Entity Add()
        {
            Entity entity = new Entity();

            ServerComponent server = new ServerComponent()
            {
                Name = Environment.MachineName, Address = "127.0.0.1"
            };

            entity.Add(server);

            ServerOptionsComponent options = new ServerOptionsComponent();

            entity.Add(options);

            ServerStatusComponent status = new ServerStatusComponent();

            entity.Add(status);

            MachineComponent machine = new RouterMachineComponent();

            entity.Add(machine);

            ServerListComponent servers = new ServerListComponent();

            entity.Add(servers);

            EntityMapComponent entities = new EntityMapComponent();

            entity.Add(entities);

            SessionMapComponent sessions = new SessionMapComponent();

            entity.Add(sessions);

            GroupListMapComponent groups = new GroupListMapComponent();

            entity.Add(groups);

            ClientMapComponent clients = new ClientMapComponent();

            entity.Add(clients);

            TransferMapComponent transfers = new TransferMapComponent();

            entity.Add(transfers);
#if DEBUG
            LogComponent log = new LogComponent(LogController);
            entity.Add(log);
#endif
            Add(entity);

            return(entity);
        }
Exemple #11
0
        public ClientClock(Game game, ServerComponent server)
        {
            _server = server;
            _game   = game;

            AssignTimeAndFactor(server.TimeFactor, server.WorldDateTime);
            _server.MessageDateTime  += ServerConnection_MessageDateTime;
            _game.OnRenderLoopFrozen += Game_OnRenderLoopFrozen;
            ShowDebugInfo             = true;
            this.UpdateOrder          = 9;
        }
Exemple #12
0
        public override void Save()
        {
            Servers.Sort(delegate(Entity entity1, Entity entity2)
            {
                ServerComponent server1 = entity1.Get <ServerComponent>();
                ServerComponent server2 = entity2.Get <ServerComponent>();
                return(server1.Name.CompareTo(server2.Name));
            });

            base.Save();
        }
Exemple #13
0
 void SearchForServerComp()
 {
     ServerComponent[] scs = FindObjectsOfType <ServerComponent>();
     if (scs.Length != 1)
     {
         Debug.LogError("Wrong number of ServerComponents: " + scs.Length + " (should be 1).");
         return;
     }
     sc = scs[0];
     sc.server.MessagesHandler = MessageReceived;
 }
Exemple #14
0
        private void RouterEditWindow_Loaded(object sender, RoutedEventArgs e)
        {
            // Router
            ServerComponent server = _entity.Get <ServerComponent>();

            RouterName.Text = server.Name;
            Address.Text    = server.Address;
            Port.Text       = server.Port.ToString();
            Passphrase.Text = server.Passphrase;
            RouterName.Focus();
        }
Exemple #15
0
        private void WriteRouter(XmlWriter writer, Entity entity)
        {
            ServerComponent server = entity.Get <ServerComponent>();

            writer.WriteStartElement(XmlTag.Router);

            writer.WriteElementString(XmlTag.Name, server.Name);
            writer.WriteElementString(XmlTag.Passphrase, server.Passphrase);
            writer.WriteElementString(XmlTag.Address, server.Address.ToString());
            writer.WriteElementString(XmlTag.Port, server.Port.ToString());

            writer.WriteEndElement();
        }
        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));
        }
Exemple #17
0
        public void Toggle(Entity entity)
        {
            ServerComponent  server  = entity.Get <ServerComponent>();
            MachineComponent machine = entity.Get <MachineComponent>();

            server.Enabled = !server.Enabled;

            if (server.Enabled)
            {
                machine.Start();
            }
            else
            {
                machine.Stop();
            }
        }
Exemple #18
0
 public AdminConsole(ChatComponent chatComp,
                     IWorldChunks worldChunk,
                     D3DEngine engine,
                     Game mainGameLoop,
                     ServerComponent server,
                     IClock gameClock)
 {
     _chatComp             = chatComp;
     _chatComp.Console     = this;
     _worldChunk           = worldChunk;
     _engine               = engine;
     _mainGameLoop         = mainGameLoop;
     _server               = server;
     _gameClock            = gameClock;
     _chatComp.MessageOut += _chatComp_MessageOut;
 }
Exemple #19
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();
        }
Exemple #20
0
        private (int sequence, string payload) CreateSerializedServerComponent(
            ServerComponentInvocationSequence invocationId,
            Type rootComponent)
        {
            var sequence = invocationId.Next();

            var serverComponent = new ServerComponent(
                sequence,
                rootComponent.Assembly.GetName().Name,
                rootComponent.FullName,
                invocationId.Value);

            var serializedServerComponent = JsonSerializer.Serialize(serverComponent, ServerComponentSerializationSettings.JsonSerializationOptions);

            return(serverComponent.Sequence, _dataProtector.Protect(serializedServerComponent, ServerComponentSerializationSettings.DataExpiration));
        }
Exemple #21
0
        private void RouterListView_Address_DropDownClosed(object sender, EventArgs e)
        {
            DemonSaw.Entity.Entity entity = RouterController.SelectedItem;
            if (entity == null)
            {
                return;
            }

            ComboBox        control = (ComboBox)sender;
            ServerComponent server  = entity.Get <ServerComponent>();

            if (!server.Address.Equals(control.SelectedItem))
            {
                server.Address = (string)control.SelectedItem;
                RouterController.Restart(entity);
            }
        }
Exemple #22
0
        private void WriteServer(XmlWriter writer, Entity entity)
        {
            writer.WriteStartElement(XmlTag.Server);

            ServerComponent server = entity.Get <ServerComponent>();

            writer.WriteAttributeString(XmlTag.Enabled, server.Enabled.ToString());

            writer.WriteElementString(XmlTag.Id, entity.Id);
            writer.WriteElementString(XmlTag.Name, server.Name);
            writer.WriteElementString(XmlTag.Passphrase, server.Passphrase);
            writer.WriteElementString(XmlTag.Address, server.Address.ToString());
            writer.WriteElementString(XmlTag.Port, server.Port.ToString());

            WriteOptions(writer, entity);

            writer.WriteEndElement();
        }
Exemple #23
0
        void CurrentGameScope_Disposed(object sender, EventArgs e)
        {
            _inputsManager.ActionsManager.KeyboardAction -= ActionsManager_KeyboardAction;
            _inputsManager = null;

            _serverComponent.ConnectionStatusChanged -= ServerComponentOnConnectionStausChanged;
            _serverComponent = null;

            _hud.CraftingButton.Pressed  -= CraftingButton_Pressed;
            _hud.InventoryButton.Pressed -= InventoryButton_Pressed;
            _hud = null;

            _playerEntityManager.NeedToShowInventory -= playerEntityManager_NeedToShowInventory;
            _playerEntityManager = null;

            var chat = _ioc.Get <ChatComponent>();

            chat.ActivatedChanged -= chat_ActivatedChanged;
        }
Exemple #24
0
        public void OnEnable()
        {
            if (_profile == null)
            {
                Debug.LogError("Please drag a CubizerProfile into Inspector.");
            }

            _context                 = new CubizerContext();
            _context.profile         = _profile;
            _context.behaviour       = this;
            _context.materialFactory = _materialFactory;

            _lives           = AddComponent(new LiveManagerComponent());
            _chunkManager    = AddComponent(new ChunkManagerComponent());
            _biomeManager    = AddComponent(new BiomeManagerComponent());
            _playerComponent = AddComponent(new PlayerComponent());
            _timeComponent   = AddComponent(new TimeComponent());
            _dbComponent     = AddComponent(new DbComponent());
            _serverComponent = AddComponent(new ServerComponent());
            _clientComponent = AddComponent(new ClientComponent());

            _lives.Init(_context, _profile.lives);

            _chunkManager.Init(_context, _profile.chunk);
            _chunkManager.callbacks.OnLoadChunkBefore   += this.OnLoadChunkDataBefore;
            _chunkManager.callbacks.OnLoadChunkAfter    += this.OnLoadChunkDataAfter;
            _chunkManager.callbacks.OnDestroyChunk      += this.OnDestroyChunkData;
            _chunkManager.callbacks.OnAddBlockBefore    += this.OnAddBlockBefore;
            _chunkManager.callbacks.OnAddBlockAfter     += this.OnAddBlockAfter;
            _chunkManager.callbacks.OnRemoveBlockBefore += this.OnRemoveBlockBefore;
            _chunkManager.callbacks.OnRemoveBlockAfter  += this.OnRemoveBlockAfter;

            _biomeManager.Init(_context, _profile.biome);
            _playerComponent.Init(_context, _profile.players);
            _timeComponent.Init(_context, _profile.time);
            _dbComponent.Init(_context, _profile.database);
            _serverComponent.Init(_context, _profile.network);
            _clientComponent.Init(_context, _profile.network);

            this.EnableComponents();

            StartCoroutine("UpdateComponentsWithCoroutine");
        }
        public void LateInitialization(ServerComponent server,
                                       SingleArrayChunkContainer cubesHolder,
                                       IWorldChunks worldChunks,
                                       IChunkStorageManager chunkStorageManager,
                                       ILightingManager lightManager,
                                       VisualWorldParameters visualWorldParameters
                                       )
        {
            _server                     = server;
            _lightManager               = lightManager;
            _worldChunks                = worldChunks;
            _chunkStorageManager        = chunkStorageManager;
            _server.MessageBlockChange += ServerConnection_MessageBlockChange;
            _visualWorldParameters      = visualWorldParameters;
            _wp          = _visualWorldParameters.WorldParameters;
            _cubesHolder = cubesHolder;


            _initialized = true;
        }
Exemple #26
0
        private void ClientAddCommand_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            ClientAddWindow wnd = new ClientAddWindow();

            wnd.Owner = this;

            bool result = (bool)wnd.ShowDialog();

            if (result)
            {
                if (!NetworkUtil.IsPortValid(wnd.Port.Text))
                {
                    return;
                }

                // Client
                ClientComponent client = new ClientComponent();
                client.Name     = wnd.ClientName.Text;
                client.Download = wnd.DownloadFolder.Text;
                client.Enabled  = true;

                // Router
                ServerComponent server = new ServerComponent();
                server.Address    = wnd.Address.Text;
                server.Port       = int.Parse(wnd.Port.Text);
                server.Passphrase = wnd.Passphrase.Text;

                // Group
                GroupComponent group = new GroupComponent();
                group.Path        = wnd.GroupPath.Text;
                GroupImage.Source = group.Image;

                ClientController.Add(client, server, group);
                ClientListView.SelectedIndex = ClientController.Count - 1;
                ClientController.Select();

                // Controller
                MenuController.Update();
                BrowseController.Select();
            }
        }
Exemple #27
0
        //private void RouterListView_Port_TextChanged(object sender, TextChangedEventArgs e)
        //{
        //	RouterData data = RouterController.SelectedItem;
        //	if (data == null)
        //		return;

        //	TextBox control = (TextBox) sender;
        //	if (NetworkUtil.IsPortValid(control.Text))
        //	{
        //		e.Handled = true;
        //		data.Port = int.Parse(control.Text);
        //		data.Restart();
        //	}
        //}
        #endregion

        #region Server
        private void ServerListView_Enabled_CheckedChanged(object sender, RoutedEventArgs e)
        {
            DataGridRow row = WpfUtil.GetGridRow(e.OriginalSource);

            if (row != null)
            {
                DemonSaw.Entity.Entity entity = (DemonSaw.Entity.Entity)row.Item;

                if (entity != null)
                {
                    CheckBox        control = (CheckBox)sender;
                    bool            enabled = (bool)control.IsChecked;
                    ServerComponent server  = entity.Get <ServerComponent>();

                    if (server.Enabled != enabled)
                    {
                        ServerController.Toggle(entity);
                    }
                }
            }
        }
Exemple #28
0
        public override void Select(BrowseComponent browse)
        {
            if (browse != null)
            {
                Entity          entity = MenuController.Entity;
                ServerComponent server = entity.Get <ServerComponent>();
                string          path   = server.Name;

                if (string.IsNullOrEmpty(path))
                {
                    GroupComponent group = entity.Get <GroupComponent>();
                    path = group.Name;
                }

                browse = entity.Get <BrowseComponent>();
                browse.ComponentChanged += Update;
                browse.Path              = path;
            }

            base.Select(browse);
        }
Exemple #29
0
    private (int sequence, string payload) CreateSerializedServerComponent(
        ServerComponentInvocationSequence invocationId,
        Type rootComponent,
        ParameterView parameters)
    {
        var sequence = invocationId.Next();

        var(definitions, values) = ComponentParameter.FromParameterView(parameters);

        var serverComponent = new ServerComponent(
            sequence,
            rootComponent.Assembly.GetName().Name,
            rootComponent.FullName,
            definitions,
            values,
            invocationId.Value);

        var serializedServerComponentBytes = JsonSerializer.SerializeToUtf8Bytes(serverComponent, ServerComponentSerializationSettings.JsonSerializationOptions);
        var protectedBytes = _dataProtector.Protect(serializedServerComponentBytes, ServerComponentSerializationSettings.DataExpiration);

        return(serverComponent.Sequence, Convert.ToBase64String(protectedBytes));
    }
Exemple #30
0
        private void WriteServers(XmlWriter writer, Entity router)
        {
            ServerListComponent servers = router.Get <ServerListComponent>();

            if (servers.Empty)
            {
                return;
            }

            servers.Sort(delegate(Entity entity1, Entity entity2)
            {
                ServerComponent server1 = entity1.Get <ServerComponent>();
                ServerComponent server2 = entity2.Get <ServerComponent>();
                return(server1.Name.CompareTo(server2.Name));
            });

            writer.WriteStartElement(XmlTag.Servers);

            lock (servers)
            {
                foreach (Entity entity in servers)
                {
                    writer.WriteStartElement(XmlTag.Server);

                    ServerComponent server = entity.Get <ServerComponent>();
                    writer.WriteAttributeString(XmlTag.Enabled, server.Enabled.ToString());

                    writer.WriteElementString(XmlTag.Id, entity.Id);
                    writer.WriteElementString(XmlTag.Name, server.Name);
                    writer.WriteElementString(XmlTag.Passphrase, server.Passphrase);
                    writer.WriteElementString(XmlTag.Address, server.Address.ToString());
                    writer.WriteElementString(XmlTag.Port, server.Port.ToString());

                    writer.WriteEndElement();
                }
            }

            writer.WriteEndElement();
        }