public RoomListComponent(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, ISound sound, IGameHost gameHost) : base(device) { this.resourceManager = resourceManager; this.sound = sound; this.gameHost = gameHost; this.AddChild(back = new PictureObject(device, resourceManager, Utility.Path.Combine("dialog_back.png"))); back.AddChild(loading = new EffectObject(device, resourceManager, Utility.Path.Combine("loading_icon.etd")) { Position = new Vector2(700, 60) }); back.AddChild(scrollBar = new RectangleComponent(device, resourceManager, PPDColors.White) { Position = new Vector2(756, 80), RectangleHeight = 330, RectangleWidth = 5 }); back.AddChild(selectRectangle = new LineRectangleComponent(device, resourceManager, PPDColors.Selection) { RectangleWidth = 714, RectangleHeight = 28 }); back.AddChild(new TextureString(device, Utility.Language["RoomList"], 30, PPDColors.White) { Position = new Vector2(35, 30) }); back.AddChild(listSprite = new SpriteObject(device) { Position = new SharpDX.Vector2(38, 77) }); loading.PlayType = Effect2D.EffectManager.PlayType.Loop; loading.Play(); loading.Scale = new Vector2(0.125f); loading.Hidden = true; getRoomListExecutor = new GetRoomListExecutor(); getRoomListExecutor.Finished += getRoomListExecutor_Finished; timerID = gameHost.AddTimerCallBack(timerCallBack, 15000, false, true); Inputed += RoomListComponent_Inputed; LostFocused += RoomListComponent_LostFocused; }