public GameInterface(Canvas canvas) : base(canvas) { GameCanvas = canvas; EscapeMenu = new EscapeMenu(GameCanvas) { IsHidden = true }; AnnouncementWindow = new AnnouncementWindow(GameCanvas) { IsHidden = true }; InitGameGui(); }
public void Draw() { if (Globals.Me != null && PlayerBox?.MyEntity != Globals.Me) { PlayerBox?.SetEntity(Globals.Me); } mChatBox?.Update(); GameMenu?.Update(mShouldUpdateQuestLog); mShouldUpdateQuestLog = false; Hotbar?.Update(); mDebugMenu?.Update(); EscapeMenu.Update(); PlayerBox?.Update(); mMapItemWindow.Update(); AnnouncementWindow?.Update(); mPictureWindow?.Update(); if (Globals.QuestOffers.Count > 0) { var quest = QuestBase.Get(Globals.QuestOffers[0]); mQuestOfferWindow.Update(quest); } else { mQuestOfferWindow.Hide(); } if (Globals.Picture != null) { if (mPictureWindow.Picture != Globals.Picture.Picture || mPictureWindow.Size != Globals.Picture.Size || mPictureWindow.Clickable != Globals.Picture.Clickable) { mPictureWindow.Setup(Globals.Picture.Picture, Globals.Picture.Size, Globals.Picture.Clickable); } } else { if (mPictureWindow != null) { mPictureWindow.Close(); } } mEventWindow?.Update(); //Admin window update if (mShouldOpenAdminWindow) { OpenAdminWindow(); } //Shop Update if (mShouldOpenShop) { OpenShop(); GameMenu.OpenInventory(); } if (mShopWindow != null && (!mShopWindow.IsVisible() || mShouldCloseShop)) { CloseShop(); } mShouldCloseShop = false; //Bank Update if (mShouldOpenBank) { OpenBank(); GameMenu.OpenInventory(); } if (mBankWindow != null) { if (!mBankWindow.IsVisible() || mShouldCloseBank) { CloseBank(); } else { mBankWindow.Update(); } } mShouldCloseBank = false; //Bag Update if (mShouldOpenBag) { OpenBag(); } if (mBagWindow != null) { if (!mBagWindow.IsVisible() || mShouldCloseBag) { CloseBagWindow(); } else { mBagWindow.Update(); } } mShouldCloseBag = false; //Crafting station update if (mShouldOpenCraftingTable) { OpenCraftingTable(); GameMenu.OpenInventory(); } if (mCraftingWindow != null) { if (!mCraftingWindow.IsVisible() || mShouldCloseCraftingTable) { CloseCraftingTable(); } else { mCraftingWindow.Update(); } } mShouldCloseCraftingTable = false; //Trading update if (mShouldOpenTrading) { OpenTrading(); GameMenu.OpenInventory(); } if (mTradingWindow != null) { if (mShouldCloseTrading) { CloseTrading(); mShouldCloseTrading = false; } else { if (!mTradingWindow.IsVisible()) { CloseTrading(); } else { mTradingWindow.Update(); } } } if (mShouldUpdateFriendsList) { GameMenu.UpdateFriendsList(); mShouldUpdateFriendsList = false; } if (mShouldUpdateGuildList) { GameMenu.UpdateGuildList(); mShouldUpdateGuildList = false; } if (mShouldHideGuildWindow) { GameMenu.HideGuildWindow(); mShouldHideGuildWindow = false; } mShouldCloseTrading = false; if (FocusChat) { mChatBox.Focus(); FocusChat = false; } if (UnfocusChat) { mChatBox.UnFocus(); UnfocusChat = false; } GameCanvas.RenderCanvas(); }