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(); }
// 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"); }