Ejemplo n.º 1
0
    public void handleBtnClick(INotifyData obj)
    {
        NotifyData <int> msg = obj as NotifyData <int>;

        if (msg != null)
        {
            GameModel    gameModel    = GameModel.getInstance();
            GameNotifier gameNotifier = GameNotifier.getInstance();

            bool needResult = false;

            //如果现在已经有数字, 加上去
            if (gameModel.opNumber > 0)
            {
                gameModel.opNumber += msg.data;
                needResult          = true;
            }
            else
            {
                gameModel.opNumber = msg.data;
            }

            //通知炮上的数字发生改变
            gameNotifier.notifydata((int)NotifyId.CANNON_NUMBER_CHANGE, gameModel.opNumber);

            //如果需要结算
            if (needResult)
            {
                handleOpResult();
            }
        }
    }
Ejemplo n.º 2
0
    private void handleBulletHit(INotifyData obj)
    {
        GameModel    gameModel    = GameModel.getInstance();
        GameNotifier gameNotifier = GameNotifier.getInstance();

        gameModel.score += 1;
        gameNotifier.notifydata((int)NotifyId.NOTIFY_SOCRE_UPDATE, gameModel.score);

        //每5分升一级
        if (gameModel.score > 0 && gameModel.score % 5 == 0)
        {
            gameModel.level += 1;
            gameNotifier.notifydata((int)NotifyId.NOTIFY_LEVEL_UPDATE, gameModel.level);
        }

        startRound();
    }
Ejemplo n.º 3
0
    public void handleOpResult()
    {
        GameNotifier gameNotifier = GameNotifier.getInstance();
        GameModel    gameModel    = GameModel.getInstance();

        //通知结果
        bool isCorrect = (gameModel.resultNumber == gameModel.opNumber);

        gameNotifier.notifydata((int)NotifyId.NOTIFY_OP_RESULT, isCorrect);

        //重置记录的数字
        gameModel.opNumber = -1;
    }