public AnimationLayer(RootWidget rootWidget) { root = rootWidget; animQueue = new Queue<Animation>(); playingCardWidgets = new Dictionary<int, PlayingCardWidget>(); playerRoleWidgets = new Dictionary<int, RoleCardWidget>(8); playerCharacterWidgets = new Dictionary<int, CharacterCardWidget>(8); playingCardZoomWidget = new PlayingCardWidget(); roleCardZoomWidget = new RoleCardWidget(); characterCardZoomWidget = new CharacterCardWidget(); playingCardZoomWidget.OnLClick += (w) => UnsetCardZoomWidget(); playingCardZoomWidget.OnRClick += (w) => UnsetCardZoomWidget(); roleCardZoomWidget.OnLClick += (w) => UnsetCardZoomWidget(); roleCardZoomWidget.OnRClick += (w) => UnsetCardZoomWidget(); characterCardZoomWidget.OnLClick += (w) => UnsetCardZoomWidget(); characterCardZoomWidget.OnRClick += (w) => UnsetCardZoomWidget(); timerThread = new Thread(RunTimer); timerThread.IsBackground = true; timerThread.Start(); listener = new EventListener(this); ConnectionManager.SessionEventListener.AddListener((IPlayerSessionEventListener)listener); ConnectionManager.SessionEventListener.AddListener((ISpectatorSessionEventListener)listener); ConnectionManager.OnSessionDisconnected += () => { Gdk.Threads.Enter(); Clear(); Gdk.Threads.Leave(); }; }
public PlayerSlotWidget(RootWidget root, bool thisPlayer = false) { this.root = root; InitLayout(); playerPic.Pixbuf = ResourceManager.GetPixbuf("Resources", "DefaultPlayerImage.png"); if(thisPlayer) { NoActionButtonWidget button = new NoActionButtonWidget(); button.OnClick += delegate() { System.Threading.ThreadPool.QueueUserWorkItem((state) => { IPlayerControl control = ConnectionManager.PlayerGameControl; if(control == null) return; try { control.RespondNoAction(); Gdk.Threads.Enter(); root.SetResponseType(Catalog.GetString("No action")); } catch(GameException e) { Gdk.Threads.Enter(); root.SetResponseType(Catalog.GetString("No action"), e); } RequestRedraw(); Gdk.Threads.Leave(); }); }; padding9.Children.Add(button); } lifePointsCard = new CharacterCardWidget(CharacterType.Unknown); onlinePic.Pixbuf = ResourceManager.GetPixbuf("Resources", "Offline.png"); }
public GameBoardWidget() { root = new RootWidget(this); bgTile = ResourceManager.GetPixbuf("Resources", "Board.png"); this.Events |= Gdk.EventMask.ButtonPressMask; }
public EventListener(RootWidget parent) { this.parent = parent; }