示例#1
0
        public Top()
        {
            backButton = new RectangleShape(new Vector2f(700, 100))
            {
                FillColor = new Color(150, 200, 150),
                Position  = new Vector2f(50, 475)
            };

            backText = new Text("BACK TO MENU", Font)
            {
                CharacterSize = 60,
                Style         = Text.Styles.Regular,
                Position      = new Vector2f(190, 485),
                Color         = Color.Blue
            };

            string topTextString = string.Empty;
            var    topPlayers    = TopLogic.ReadTop();

            if (topPlayers != null && !topPlayers.Any())
            {
                var topScores = TopLogic.ReadTop().Select(t => $"{t.Name} - {t.Points}");
                topTextString = string.Join("\n", topScores);
            }
            else
            {
                topTextString = "No entities.";
            }

            topText = new Text(topTextString, Font)
            {
                CharacterSize = 20,
                Style         = Text.Styles.Regular,
                Position      = new Vector2f(50, 50),
                Color         = Color.Blue
            };

            bindEvents();
            start();
        }
示例#2
0
    // Use this for initialization
    void Start()
    {
        login_ = new MenuLogic();
        State loginState = login_.setup(fsm_);

        loginState.addAction("start", "login2play");
        loginState.addAction("go_top", "menu2top");

        top_ = new TopLogic();
        State topState = top_.setup(fsm_);

        topState.addAction("go_back", "top2menu");

        gameover_ = new GameoverLogic();
        State gameoverState = gameover_.setup(fsm_);

        gameoverState.addAction("reset", "over2menu");

        fsm_.addState("menu2top", changeScene("QMenu", "Top", TopLogic.RootState));
        //排行榜返回主菜单
        fsm_.addState("top2menu", changeScene("Top", "QMenu", MenuLogic.StartState));
        //进入游戏
        fsm_.addState("login2play", changeScene("QMenu", "SkyShip", "play"));

        //结束
        fsm_.addState("play2over", changeScene("SkyShip", "GameOver", GameoverLogic.RootState));
        //进入主界面
        fsm_.addState("over2menu", changeScene("GameOver", "QMenu", MenuLogic.CheckState));



        //等待游戏结束
        fsm_.addState("play", getPlayGame());
        fsm_.addState("begin", getBegin());
        fsm_.init("begin");
    }