Esempio n. 1
0
        internal Shard(Logic.Shard server)
        {
            _server = server;

            Name = _server.Configuration.Name;
            Type = _server.Configuration.ShardType;
        }
Esempio n. 2
0
        public GameForm()
        {
            InitializeComponent();

            RoomList.ItemSelectionChanged += RoomList_ItemSelectionChanged;

            _game = Logic.Shard.Create(new Logic.ShardConfiguration()
            {
                ShardType = Client.ShardTypes.Local,
                MapType   = Logic.MapTypes.Square,
                Name      = "Test",
            });

            _game.GameEvent += GameEvent;

            Text = string.Format("Screeps Game: {0}", _game.Configuration.Name);

            var clientGame = _game.Games.FirstOrDefault();

            if (clientGame != null)
            {
                var rooms = clientGame.Rooms.Where(r => r.IsAvailable);

                if (rooms != null && rooms.Count() > 0)
                {
                    // populate the list of rooms in the ui
                    RoomList.Items.Clear();
                    List <ListViewItem> currentRooms = new List <ListViewItem>();

                    foreach (var room in rooms)
                    {
                        var item = new ListViewItem()
                        {
                            Name = room.Name, Tag = room, Text = room.Name, ToolTipText = room.ID
                        };
                        RoomList.Items.Add(item);
                        currentRooms.Add(item);
                    }

                    // Select any new rooms
                    foreach (var newRoom in currentRooms.Where(cr => !_knownRooms.Any(kr => kr.ID == ((Client.Room)cr.Tag).ID)))
                    {
                        newRoom.Selected = true;
                        _knownRooms.Add((Client.Room)newRoom.Tag);
                    }
                }

                _player = clientGame.AddPlayer("user", typeof(Player1.Controller));
            }

            _game.FinishInit(clientGame);
        }
Esempio n. 3
0
 internal Game(Logic.Shard server)
 {
     Server = server;
     Time   = server.Time;
     Memory = new Dictionary <string, Dictionary <string, object> >();
 }