示例#1
0
    /**
     * Possible inputs:
     *
     * Key    Action       Context                   Responsible
     * ---    ------       -------                   -----------
     * F1     Help         Any                       MarketPanel
     * F2     Buy          Market.DayStarted and     MarketPanel
     *                     MarketPanel.RowSelected
     * F3     Sell         Market.DayStarted and     MarketPanel
     *                     MarketPanel.RowSelected
     * F4     Short        Market.DayStarted and     MarketPanel
     *                     MarketPanel.RowSelected
     *
     * Enter  OpenMarket   Market.Idle               Trader (this script)
     *        NewDay       Market.Closed             Trader (this script)
     *        SubmitModal  isModalOpened             Modals
     *        SkipDayCount isDisplayingDayCount      DayDisplay
     *
     * Esc    ExitModal    isModalOpened             Modals
     *        ExitProgram  MarketPanel.Idle          Trader (this script)
     *        DiselectRow  RowSelected               MarketPanel
     *
     * UpDown ChangeRows   Any                       MarketPanel
     * < >    Quantity     isModalOpened             BuyModal
     *
     */
    private void CheckKeyboardInput()
    {
        CheckResetDataKeys();

        if (isModalOpened || isDisplayingDayCount)
        {
            return;
        }

        if (Input.GetKeyDown(KeyCode.Return))
        {
            if (market.CurrentState == MarketState.Idle)
            {
                market.BeginDay();
            }
            else if (market.CurrentState == MarketState.Closed)
            {
                RebootProgram();
            }
        }
        else if (Input.GetKeyUp(KeyCode.Escape))
        {
            if (marketPanel.CurrentContext == MarketPanelContext.Idle)
            {
                DisplayExitModal();
            }
            else
            {
                marketPanel.CheckInput();
            }
        }
        else
        {
            marketPanel.CheckInput();
        }
    }