Beispiel #1
0
    public override void Execute(object data)
    {
        ItemArgs   e       = data as ItemArgs;
        PlayerMove player  = MVC.GetView <PlayerMove>();
        UIBoard    uiBoard = MVC.GetView <UIBoard>();

        switch (e.M_Kind)
        {
        case ItemKind.ItemMagnet:
            player.HitMagnet();
            Game.M_Instance.M_GM.M_Magnet -= e.M_HitCount;
            uiBoard.HitMagnet();
            break;

        case ItemKind.ItemMultiply:
            player.HitMultiply();
            Game.M_Instance.M_GM.M_Multiply -= e.M_HitCount;
            uiBoard.HitMultiply();
            break;

        case ItemKind.ItemInvincible:
            player.HitInvincible();
            Game.M_Instance.M_GM.M_Invincible -= e.M_HitCount;
            uiBoard.HitInvincible();
            break;
        }
        uiBoard.UpdateUI();
    }
Beispiel #2
0
        public Chess(UIBoard ui, int nPlayers = 1, bool setupBoard = true, bool gameplayType = false)
        {
            // callback setup
            this.m_UI = ui;
            this.m_UI.SetStatus(true, "Generating...");


            // number of players = {0, 1, 2}
            this.m_nPlayers = nPlayers;
            // white always starts
            this.Turn = Player.WHITE;

            // create a new blank board unless setup is true
            this.Board = new ChessBoard();
            if (setupBoard)
            {
                //check for the gameplay type if it is not the default
                if (gameplayType)
                {
                    this.Board.SetInitialPlacement();
                }
                else
                {
                    this.Board.SetRandomPlacement();
                }
            }

            // update ui
            this.m_UI.SetBoard(Board);
            this.m_UI.SetStatus(false, "White's turn.");
        }
Beispiel #3
0
    public override void Execute(object data)
    {
        ItemArgs   e      = data as ItemArgs;
        PlayerMove Player = GetView <PlayerMove>();
        GameModel  gm     = GetModel <GameModel>();
        UIBoard    ui     = GetView <UIBoard>();

        switch (e.itemkind)
        {
        case ItemKind.InvincibleItem:
            gm.m_Invincible -= e.itemCount;
            Player.HitInvincible();
            ui.HitInvincible();
            break;

        case ItemKind.MagnetItem:
            gm.m_Magnet -= e.itemCount;
            Player.HitMagnet();
            ui.HitMagnet();
            break;

        case ItemKind.MultiplyItem:
            gm.m_Multiply -= e.itemCount;
            Player.HitDouble();
            ui.HitDouble();
            break;

        default:
            break;
        }
        ui.UpdateUI();
    }
Beispiel #4
0
        public ChessRun(UIBoard ui, int nPlayers = 1, bool setupBoard = true, bool chess960 = false)
        {
            // callback setup
            this.m_UI = ui;
            this.m_UI.SetStatus(true, "Generating...");


            // number of players = {0, 1, 2}
            this.m_nPlayers = nPlayers;
            // white always starts
            this.Turn = Player.WHITE;

            // create a new blank board unless setup is true
            this.Board = new ChessBoard();
            if (setupBoard && !chess960)
            {
                this.Board.SetInitialPlacement();
            }
            else if (setupBoard && chess960)
            {
                this.Board.SetInitialPlacement960();
            }

            // update ui
            this.m_UI.SetBoard(Board);
            this.m_UI.SetStatus(false, "White's turn.");
        }
    public override void Execute(object data)
    {
        CoinArgs e    = data as CoinArgs;
        UIDead   dead = GetView <UIDead>();
        //TODO

        /**
         * if(花钱成功)
         * dead.briberytime++
         */
        UIBoard   board = GetView <UIBoard>();
        GameModel gm    = GetModel <GameModel>();

        if (gm.PayCoin(e.Coin))
        {
            if (board.Times < 0.1f)
            {
                board.Times += 20;
            }
            dead.BriberyTime++;
            dead.Hide();
            UIResume resume = GetView <UIResume>();
            resume.StartCount();
        }
    }
Beispiel #6
0
    public override void Execute(object data = null)
    {
        ItemArgs  e  = data as ItemArgs;
        GameModel gm = GetModel <GameModel>();

        PlayerMove player  = GetView <PlayerMove>();
        UIBoard    uiBoard = GetView <UIBoard>();

        switch (e.itemtype)
        {
        case ItemType.ItemInvincible:
            player.HitInvincible();
            gm.Invincible -= e.hitCount;
            uiBoard.HitInvincible();
            break;

        case ItemType.ItemMultiply:
            player.HitMutiply();
            gm.Multiply -= e.hitCount;
            uiBoard.HitMutiply();
            break;

        case ItemType.ItemMagnet:
            player.HitMagnet();
            gm.Magnet -= e.hitCount;
            uiBoard.HitMagnet();
            break;

        case ItemType.ItemAddTime:
            player.HitAddTime();
            break;
        }
        uiBoard.UpdateUI();
    }
Beispiel #7
0
    public override void Execute(object data)
    {
        ItemArgs   e      = data as ItemArgs;
        PlayerMove player = GetView <PlayerMove>();
        GameModel  gm     = GetModel <GameModel>();
        UIBoard    ui     = GetView <UIBoard>();

        switch (e.kind)
        {
        case ItemKind.invincibleItem:
            player.HitInvincible();
            ui.HitInvincible();
            gm.m_Invincible -= e.count;
            break;

        case ItemKind.multipleItem:
            player.HitMultiply();
            ui.HitMultiply();
            gm.m_Multiple -= e.count;
            break;

        case ItemKind.magnetItem:
            player.HitMagnet();
            ui.HitMagnet();
            gm.m_Magnet -= e.count;
            break;
        }
        ui.UpdateUI();
    }
Beispiel #8
0
    public override void Execute(object data)
    {
        GameModel gm = GetModel <GameModel>();

        UIBoard board = GetView <UIBoard>();

        board.MyTime += 20;

        gm.m_isPause = false;
        gm.m_isPlay  = true;
    }
Beispiel #9
0
    public override void Execute(object data = null)
    {
        GameModel gm    = GetModel <GameModel>();
        UIBoard   board = GetView <UIBoard>();

        if (board.Curtime < 0.1f)
        {
            board.Curtime += 20f;
        }
        gm.IsPause = false;
        gm.IsPlay  = true;
    }
Beispiel #10
0
    public override void Excute(object data)
    {
        GameModel    gameModel  = GetModel <GameModel>();
        UIBoard      board      = GetView <UIBoard>();
        UIDead       dead       = GetView <UIDead>();
        UIFinalScore finalScore = GetView <UIFinalScore>();

        board.Hide();
        dead.Hide();
        finalScore.Show();
        gameModel.Exp += board.Coin + (board.Distance * (board.GoalCount + 1));
        finalScore.UpdateUI(board.Distance, board.Coin, board.GoalCount, gameModel.Exp, gameModel.Grade);
    }
    public override void Execute(object data)
    {
        GameModel gm = GetModel <GameModel>();

        UIBoard uIBoard = GetView <UIBoard>();

        if (uIBoard.Times < 0.01f)
        {
            uIBoard.Times += 20;
        }
        gm.IsPause = false;
        gm.IsPlay  = true;
    }
Beispiel #12
0
    public override void Excute(object data)
    {
        GameModel gameModel = GetModel <GameModel>();

        UIBoard board = GetView <UIBoard>();

        // 判断是时间到了的贿赂事件(加时 20秒)
        if (board.Times < 0.1f)
        {
            board.Times += 20;
        }

        gameModel.IsPause = false;
        gameModel.IsPlay  = true;
    }
Beispiel #13
0
    public override void Execute(object data)
    {
        UIBoard board = MVC.GetView <UIBoard>();

        if (board.M_Timer < 0.1f)
        {
            board.M_Timer += 20;
        }
        Game.M_Instance.M_GM.M_IsPause = false;
        Game.M_Instance.M_GM.M_IsPlay  = true;

        PlayerAnim anim = MVC.GetView <PlayerAnim>();

        anim.ContinuePlay();
    }
Beispiel #14
0
    public override void Execute(object data)
    {
        GameModel    gm         = GetModel <GameModel>();
        UIBoard      board      = GetView <UIBoard>();
        UIDead       dead       = GetView <UIDead>();
        UIFinalScore finalscore = GetView <UIFinalScore>();

        board.Hide();
        dead.Hide();
        gm.Coin += board.Coin;
        finalscore.Show();
        //更新Exp
        gm.Exp += (board.Coin * 10 + board.Distance * (board.Goal + 1));
        //更新UI
        finalscore.UpdateUI(board.Distance, board.Coin, board.Goal, gm.Exp, gm.Level);
    }
Beispiel #15
0
    public override void Execute(object data)
    {
        GameModel gm = GetModel <GameModel>();

        UIBoard      uIBoard      = GetView <UIBoard>();
        UIFinalScore uIFinalScore = GetView <UIFinalScore>();
        UIDead       uIDead       = GetView <UIDead>();

        uIDead.Hide();
        uIBoard.Hide();
        uIFinalScore.Show();

        //更新Exp
        gm.Exp += uIBoard.Coin + (uIBoard.Distance * (uIBoard.Goal + 1));
        uIFinalScore.UpdateUI(uIBoard.Distance, uIBoard.Coin, uIBoard.Goal, gm.Exp, gm.Grade);
    }
Beispiel #16
0
    public override void Execute(object data)
    {
        UIBoard board = MVC.GetView <UIBoard>();

        board.Hide();

        UIFinalScore final = MVC.GetView <UIFinalScore>();

        final.Show();
        Game.M_Instance.M_GM.M_Exp += board.M_Coin + board.M_Distance * (board.M_GoalCount + 1);
        final.UpdateUI(board.M_Distance, board.M_Coin, board.M_GoalCount, Game.M_Instance.M_GM.M_Exp, Game.M_Instance.M_GM.M_Grage);

        UIDead dead = MVC.GetView <UIDead>();

        dead.Hide();
        Game.M_Instance.M_GM.M_Coin += board.M_Coin;
    }
Beispiel #17
0
    public override void Execute(object data = null)
    {
        UIBoard      board      = GetView <UIBoard>();
        UIFinalScore finalScore = GetView <UIFinalScore>();
        UIDead       dead       = GetView <UIDead>();

        GameModel gm = GetModel <GameModel>();

        board.Hide();
        dead.Hide();
        finalScore.Show();

        //1.更新Exp
        gm.Exp += board.Coin + board.Distance * (board.GoalCount + 1);
        //2.更新UI
        finalScore.UpdateUI(board.Distance, board.Coin, board.GoalCount, gm.Exp, gm.Level);
        //3.更新金币
        gm.Coin += board.Coin;
    }
    public override void Execute(object data)
    {
        GameModel gm = GetModel <GameModel>();

        UIBoard board = GetView <UIBoard>();

        board.Hide();

        UIFinalScore final = GetView <UIFinalScore>();

        final.Show();
        gm.Exp += board.Coin + board.Distance * (board.GoalCount + 1);

        final.UpdateUI(board.Distance, board.Coin, board.GoalCount, gm.Exp, gm.Level);


        UIDead dead = GetView <UIDead>();

        dead.Hide();
    }
Beispiel #19
0
    public override void Execute(object data = null)
    {
        CoinArgs  e       = data as CoinArgs;
        UIDead    dead    = GetView <UIDead>();
        GameModel gm      = GetModel <GameModel>();
        UIBoard   uIBoard = GetView <UIBoard>();

        //花钱
        if (gm.GetMoney(e.CoinCount))
        {
            dead.Hide();
            dead.BriberyTime++;
            UIResume resume = GetView <UIResume>();
            resume.StartCount();//继续游戏
            uIBoard.UpdateUI();
        }
        else
        {
            dead.TipMessage("金币不足!");
        }
    }
    public override void Execute(object data)
    {
        ItemArgs   e      = data as ItemArgs;
        PlayerMove player = GetView <PlayerMove>();
        UIBoard    uI     = GetView <UIBoard>();

        GameModel gm = GetModel <GameModel>();

        switch (e.kind)
        {
        case ItemKind.InvincibleItem:
            Debug.Log("无敌");
            player.HitInvincible();
            uI.HitInvincible();
            gm.Invincible -= e.hitCount;
            uI.UpdateUI();
            break;

        case ItemKind.MultiplyItem:
            Debug.Log("加倍");
            player.HitMultiply();
            uI.HitMultiply();
            gm.Multiply -= e.hitCount;
            uI.UpdateUI();
            break;

        case ItemKind.MagnetItem:
            Debug.Log("磁铁");
            player.HitMagnet();
            uI.HitMagnet();
            gm.Magnet -= e.hitCount;
            uI.UpdateUI();
            break;

        default:
            break;
        }
    }
Beispiel #21
0
        public Chess(UIBoard ui, int nPlayers = 1, bool setupBoard = true)
        {
            // callback setup
            this.m_UI = ui;
            this.m_UI.SetStatus(true, "Generating...");


            // number of players = {0, 1, 2}
            this.m_nPlayers = nPlayers;
            // white always starts
            this.Turn = Player.WHITE;

            // create a new blank board unless setup is true
            this.Board = new ChessBoard();
            if (setupBoard)
            {
                this.Board.SetInitialPlacement();
            }

            // update ui
            this.m_UI.SetBoard(Board);
            this.m_UI.SetStatus(false, "White's turn.");
        }
Beispiel #22
0
    public override void Excute(object data)
    {
        ItemArgs args = data as ItemArgs;

        PlayerMove playerMove = GetView <PlayerMove>();
        GameModel  gameModel  = GetModel <GameModel>();
        UIBoard    ui         = GetView <UIBoard>();

        switch (args.itemKind)
        {
        case ItemKind.ItemMagnet:
            //道具使用
            playerMove.HitMagnet();
            gameModel.Magnet -= args.spendCount;

            // 道具技能时间的显示
            ui.HitMagnet();
            break;

        case ItemKind.ItemMultiply:
            playerMove.HitMultiply();
            gameModel.Multiply -= args.spendCount;
            ui.HitMultiply();
            break;

        case ItemKind.ItemInvincible:
            playerMove.HitInvinvible();
            gameModel.Invincible -= args.spendCount;
            ui.HitInvinvible();
            break;

        default:
            break;
        }

        ui.UpdateUI();
    }
Beispiel #23
0
        public Chess(UIBoard ui, int nPlayers = 1, bool setupBoard = true)
        {
            bool         chess960 = false;
            DialogResult msgBox   = MessageBox.Show("Chess960 Options", "Play with chess960 rules?", MessageBoxButtons.YesNo);

            if (msgBox == DialogResult.Yes)
            {
                chess960 = true;
            }
            // callback setup
            this.m_UI = ui;
            this.m_UI.SetStatus(true, "Generating...");


            // number of players = {0, 1, 2}
            this.m_nPlayers = nPlayers;
            // white always starts
            this.Turn = Player.WHITE;

            // create a new blank board unless setup is true
            this.Board = new ChessBoard();
            if (setupBoard)
            {
                if (chess960)
                {
                    this.Board.SetInitialPlacement960();
                }
                else
                {
                    this.Board.SetInitialPlacement();
                }
            }

            // update ui
            this.m_UI.SetBoard(Board);
            this.m_UI.SetStatus(false, "White's turn.");
        }
Beispiel #24
0
 // Start is called before the first frame update
 void Start()
 {
     uiBoard       = FindObjectOfType <UIBoard>();
     cellImage     = GetComponent <Image>();
     defaultSprite = cellImage.sprite;
 }