Esempio n. 1
0
        private void RoomList_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            Client.Room room = e.Item.Tag as Client.Room;

            if (room != null)
            {
                if (e.Item.Selected)
                {
                    ShowRoom(room);
                }
                else
                {
                    var view = _roomViews.FirstOrDefault(r => r.Room.ID == room.ID);

                    if (view != null)
                    {
                        CloseRoomView(view);
                        view.Close();
                    }
                }
            }
        }
Esempio n. 2
0
        internal LocalShard(ShardConfiguration config)
            : base(config)
        {
            var game = Games.FirstOrDefault();

            if (game != null)
            {
                var room = new Client.Room()
                {
                    ID = CreateID(), Name = "Local", IsAvailable = true, Game = game, Memory = new Dictionary <string, object>()
                };

                room.Memory["#"] = 1;
                game.Memory.Add(room.ID, room.Memory);

                int x, y;

                for (x = 1; x <= 12; x++)
                {
                    room._terrain.Add(new Terrain()
                    {
                        Pos = new Client.RoomPosition()
                        {
                            X = x, Y = 1, Room = room
                        }, Type = TerrainTypes.Wall
                    });
                    room._terrain.Add(new Terrain()
                    {
                        Pos = new Client.RoomPosition()
                        {
                            X = x, Y = 12, Room = room
                        }, Type = TerrainTypes.Wall
                    });
                }

                for (y = 1; y <= 12; y++)
                {
                    room._terrain.Add(new Terrain()
                    {
                        Pos = new Client.RoomPosition()
                        {
                            X = 1, Y = y, Room = room
                        }, Type = TerrainTypes.Wall
                    });
                    room._terrain.Add(new Terrain()
                    {
                        Pos = new Client.RoomPosition()
                        {
                            X = 12, Y = y, Room = room
                        }, Type = TerrainTypes.Wall
                    });
                }

                room._terrain.Add(new Terrain()
                {
                    Pos = new Client.RoomPosition()
                    {
                        X = 4, Y = 3, Room = room
                    }, Type = TerrainTypes.Wall
                });
                room._terrain.Add(new Terrain()
                {
                    Pos = new Client.RoomPosition()
                    {
                        X = 5, Y = 3, Room = room
                    }, Type = TerrainTypes.Wall
                });
                room._terrain.Add(new Terrain()
                {
                    Pos = new Client.RoomPosition()
                    {
                        X = 4, Y = 4, Room = room
                    }, Type = TerrainTypes.Wall
                });
                room._terrain.Add(new Terrain()
                {
                    Pos = new Client.RoomPosition()
                    {
                        X = 4, Y = 5, Room = room
                    }, Type = TerrainTypes.Wall
                });

                game._objects.Add(new Client.StructureController()
                {
                    ID               = CreateID(),
                    Room             = room,
                    Pos              = room.GetPositionAt(6, 3),
                    HitPoints        = 200,
                    HitPointsMax     = 200,
                    Type             = Client.StructureTypes.Controller,
                    ProgressTotal    = 200,
                    TicksToDowngrade = 20000,
                });

                game._objects.Add(new Client.Source()
                {
                    ID                = CreateID(),
                    Room              = room,
                    Pos               = room.GetPositionAt(8, 8),
                    Energy            = 2500,
                    EnergyCapacity    = 3000,
                    TicksToRegenerate = 2000,
                });

                game._rooms.Add(room);

                //var worker = new BackgroundWorker() { WorkerReportsProgress = true, WorkerSupportsCancellation = true };
                //worker.DoWork += Worker_DoWork;

                //worker.RunWorkerAsync( room );
            }
        }