예제 #1
0
        public void HandleClick(int x, int y)
        {
            switch (m_Mode)
            {
            case Mode.SignInButtons:
                foreach (UIButton b in m_SignInButtons)
                {
                    if (b.Click(x, y))
                    {
                        HandleSignInButton(b.ButtonID);
                    }
                }
                break;

            case Mode.EmailInput:
                m_Email.Focused     = false;
                m_Password.Focused  = false;
                m_Password2.Focused = false;
                if (m_Email.Rect.Contains(x, y))
                {
                    m_Email.Focused = true;
                    VirtualKeyboard.ShowKeyboard(m_Email);
                }
                else if (m_Password.Rect.Contains(x, y))
                {
                    m_Password.Focused = true;
                    VirtualKeyboard.ShowKeyboard(m_Password);
                }
                else if (m_bEmailCreate && m_Password2.Rect.Contains(x, y))
                {
                    m_Password2.Focused = true;
                    VirtualKeyboard.ShowKeyboard(m_Password2);
                }

                if (m_Email.Focused || m_Password.Focused || m_Password2.Focused)
                {
                    Happiness.Game.SoundManager.PlaySound(SoundManager.SEInst.MenuNavigate);
                }
                else
                {
                    VirtualKeyboard.Hide();
                }

                if (m_AccountStatusButton.Click(x, y))
                {
                    SetupAccountStatusMode(!m_bEmailCreate);
                }

                foreach (UIButton b in m_DialogButtons)
                {
                    if (b.Click(x, y))
                    {
                        HandleDialogButton(b.ButtonID);
                    }
                }

                break;
            }
        }
예제 #2
0
        public bool HandleClick(int x, int y)
        {
            if (m_Close.Click(x, y))
            {
                return(false);
            }
            else if (m_BtnLeft.Click(x, y))
            {
                SetDetailLevel(m_DetailsLevel - 1);
            }
            else if (m_BtnRight.Click(x, y))
            {
                SetDetailLevel(m_DetailsLevel + 1);
            }

            return(true);
        }
예제 #3
0
        public bool HandleClick(int x, int y)
        {
            if (m_OKButton != null)
            {
                if (m_OKButton.Click(x, y))
                {
                    FinishPiece(m_CurrentPiece);
                }
            }

            // Return true if we are to eat all input
            bool inClickArea = true;

            if (m_CurrentPiece != TutorialPiece.None)
            {
                inClickArea = m_Pieces[m_CurrentPiece].ClickRestriction.Contains(x, y);
            }
            return((m_OKButton != null) || !inClickArea);
        }
예제 #4
0
        // Return false if this menu should close
        public bool HandleClick(int iX, int iY)
        {
            if (m_State == PurchaseState.SelectingProduct)
            {
                if (m_ScrollRect.Contains(iX, iY))
                {
                    foreach (ProductDisplay pd in m_Products)
                    {
                        pd.Selected = false;
                    }
                    int product = (int)((iY - (m_ScrollRect.Top - m_ScrollPosition)) / m_Products[0].Height);
                    m_Products[product].Selected = true;

                    if (m_Products[product].Button.Click(iX, iY))
                    {
                        PurchaseProduct(product);
                        return(true);
                    }
                }
            }

            if (m_State == PurchaseState.ConfirmingPurchase &&
                (m_PurchaseButton.Click(iX, iY) || m_Products[m_iSelectedProduct].Button.Click(iX, iY)))
            {
                DoPurchase();
            }

            if (m_CancelButton.Click(iX, iY))
            {
                if (m_State == PurchaseState.ConfirmingPurchase)
                {
                    m_State = PurchaseState.SelectingProduct;
                    return(true);
                }
                if (m_VerifyPurchase != null)
                {
                    m_VerifyPurchase.Destroy(); // Allow this to be destroyed when its done
                }
                return(false);
            }
            return(true);
        }
예제 #5
0
        // Return false if this menu should close
        public bool HandleClick(int iX, int iY)
        {
            m_ExpSlowdown.HandleClick(iX, iY);
            m_ErrorDetector.HandleClick(iX, iY);
            m_ErrorDetector2.HandleClick(iX, iY);
            m_DisableTimer.HandleClick(iX, iY);

            if (m_DoneButton.Click(iX, iY))
            {
                Settings s = Settings.LoadSettings();
                s.SoundVolume         = SoundManager.Inst.SoundVolume;
                s.MusicVolume         = SoundManager.Inst.MusicVolume;
                m_Game.ExpSlowdown    = s.ExpSlowdown = m_ExpSlowdown.Enabled ? m_ExpSlowdown.Checked : false;
                m_Game.ErrorDetector  = s.ErrorDetector = m_ErrorDetector.Enabled ? m_ErrorDetector.Checked : false;
                m_Game.ErrorDetector2 = s.ErrorDetector2 = m_ErrorDetector2.Enabled ? m_ErrorDetector2.Checked : false;
                m_Game.DisableTimer   = s.DisableTimer = m_DisableTimer.Checked;
                s.Save();
                return(false);
            }

            return(true);
        }
예제 #6
0
        private void IC_OnClick(object sender, DragArgs e)
        {
            if (e.Abort)
            {
                return;
            }

            if (m_MessageBox != null)
            {
                MessageBoxResult result = m_MessageBox.HandleClick(e.CurrentX, e.CurrentY);
                if (result != MessageBoxResult.NoResult)
                {
                    DoMessageBoxResult(result);
                }
                return;
            }

            if (m_SoundDialog != null)
            {
                m_SoundDialog.HandleClick(e.CurrentX, e.CurrentY);
                return;
            }

            if (m_OptionsDialog != null)
            {
                if (m_OptionsDialog.HandleClick(e.CurrentX, e.CurrentY))
                {
                    return;
                }

                // Options exited
                m_OptionsDialog = null;
            }

            if (m_CoinsDialog != null)
            {
                if (m_CoinsDialog.HandleClick(e.CurrentX, e.CurrentY))
                {
                    return;
                }
                m_CoinsDialog = null;
            }

            if (m_VipDialog != null)
            {
                if (!m_VipDialog.HandleClick(e.CurrentX, e.CurrentY))
                {
                    m_VipDialog = null;
                }
                return;
            }

            if (m_FloorSelect != null)
            {
                if (!m_FloorSelect.HandleClick(e.CurrentX, e.CurrentY))
                {
                    m_FloorSelect = null;
                }
            }
            else
            {
                foreach (Tower t in m_Towers)
                {
                    if (t.Click(e.CurrentX, e.CurrentY))
                    {
                        //ActivateTower(t);
                        SoundManager.Inst.PlaySound(SoundManager.SEInst.MenuAccept);
                        Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.ClickTower);
                        m_FloorSelect = new FloorSelectDialog(t.Size - 3, Game.ScreenWidth, Game.ScreenHeight, Game);
                        break;
                    }
                }

                if (m_ResetTutorial.Click(e.CurrentX, e.CurrentY))
                {
                    m_MessageBox = new MessageBox("Are you sure you want to restart the tutorial?", MessageBoxButtons.YesNo, (int)MessageBoxContext.ResetTutorial, Game.ScreenWidth, Game.ScreenHeight);
                }
                if (m_Options.Click(e.CurrentX, e.CurrentY))
                {
                    m_OptionsDialog = new Options(Game);
                }
                if (m_BuyCoins.Click(e.CurrentX, e.CurrentY) ||
                    m_Coins.HandleClick(e.CurrentX, e.CurrentY))
                {
                    m_CoinsDialog = new BuyCoinsModal();
                }
                if (m_Exit.Click(e.CurrentX, e.CurrentY))
                {
                    DoExit();
                }
                if (m_SignOut.Click(e.CurrentX, e.CurrentY))
                {
                    m_MessageBox = new MessageBox("Are you sure you want to sign out?", MessageBoxButtons.YesNo, (int)MessageBoxContext.SignOut, Game.ScreenWidth, Game.ScreenHeight);
                }
                if (m_VIP.HandleClick(e.CurrentX, e.CurrentY))
                {
                    m_VipDialog = new VIPDialog();
                }
            }
        }