protected override FrameworkElement ArrageCore(RegionContainer regions) { var components = new UIComponents(regions); this.LayoutControl.Arrange(components); return this.LayoutControl.CastTo<FrameworkElement>(); }
public static void Postfix() { UIComponents.Init(); Logger.Info("Injecting mods list UI..."); //Set up the mods list and inject into UI var modsList = Object.Instantiate(UIComponents.ScrollablePrefab, Find.TitleScreenUI.transform, false); modsList.AddComponent <ModsListUI>(); //Set up the singleton EventBus.Instance.Post(new MainMenuShownEvent()); //SceneManager.GetActiveScene().DumpHierarchy(new Logger("Scene Dump")); GameFlowManager.Instance.gameObject.AddComponent <Logger.QuitDetector>(); Find.TitleScreenUI.GetChildByName("VersionLabel").GetComponent <Text>().text += "\nModded with CDMZ\nBy Samboy063"; Find.TitleScreenUI.GetChildByName("VersionLabel").GetComponent <Text>().verticalOverflow = VerticalWrapMode.Overflow; Find.TitleScreenButtonList.GetChildByName("OptionsButton").MoveDown(20); Find.TitleScreenButtonList.GetChildByName("LevelEditorButton").MoveDown(20); Find.TitleScreenButtonList.GetChildByName("CreditsButton").MoveDown(20); Find.TitleScreenButtonList.GetChildByName("QuitButton").MoveDown(20); var modsButton = Object.Instantiate(Find.TitleScreenButtonList.GetChildByName("OptionsButton"), Find.TitleScreenButtonList.transform, true); modsButton.transform.localPosition = new Vector3(modsButton.transform.localPosition.x, Find.TitleScreenButtonList.GetChildByName("OptionsButton").transform.localPosition.y + 32); modsButton.GetComponentInChildren <Text>().text = "Mods"; modsButton.GetComponent <Button>().onClick = new Button.ButtonClickedEvent(); modsButton.GetComponent <Button>().onClick.AddListener(() => { Logger.Debug("Mods button clicked"); ModsListUI.Instance.gameObject.SetActive(true); }); }
/*public ScoreSelectScreen(Game game, string name, Replay replay, Song song, int diff) * : this(game, name) * { * foreach (var pair in replay.PressTimings) * { * pair.value.value = false; * } * foreach (var pair in replay.ReleaseTimings) * { * pair.value.value = false; * } * foreach (ReplayHit h in replay.HitTimings) * { * h.Used = false; * } * this.replay = replay; * replayButton = new Button(game, new Rectangle(Config.ResWidth - (int)(Config.ResWidth * 0.3), 330, 100, 50), "Replay", delegate() * { * IngameScreen temp = (IngameScreen)game.screens["ingameScreen"]; * try * { * temp.loadSong(song, diff, new Mods(), replay, IngameScreen.PlayType.REPLAY); * temp.Music.stop(); * Game.setScreen(game.screens["replayScreen"]); * //temp.onSwitched(); * game.Title = "Pulse | Watch replay | " + song.Artist + " - " + song.SongName + " [" + song.Charts[diff].Name + "]"; * } * catch { } * }); * UIComponents.Add(replayButton); * exitButton.del = delegate() * { * game.screens["selectScreen"].Music.stop(); * Game.setScreen(game.screens["selectScreen"]); * game.Title = "Pulse"; * }; * }*/ public ScoreSelectScreen(Game game, string name) : base(game, name) { songInfoLabel = new Label(game, new Point(180, 120), "0"); songInfoLabel.TextTexture.TextFont = new Font("Myriad Pro", 35); dateLabel = new Label(game, new Point(Config.ResWidth / 2 - 200, 85), "0"); UIComponents.Add(songInfoLabel); scoreLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.8), 200), "0"); accuracyLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.8), 250), "0"); maxComboLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.8), 300), "0"); statsLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.8), 350), "0"); statsNoLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.7), 350), "0"); UIComponents.Add(dateLabel); UIComponents.Add(statsNoLabel); UIComponents.Add(statsLabel); UIComponents.Add(scoreLabel); UIComponents.Add(accuracyLabel); UIComponents.Add(maxComboLabel); scoreBg = new Rect(new Rectangle(new Point(0, 0), new Size(Config.ResWidth, 768)), Skin.skindict["scorebg"]); scoreBg.Colour = Color4.SlateGray; exitButton = new Button(game, new Rectangle(Config.ResWidth - (int)(Config.ResWidth * 0.3), 430, 100, 50), "Exit", delegate(int data) { game.screens["selectScreen"].Music.stop(); Game.setScreen(game.screens["selectScreen"]); game.Title = "Pulse"; }); UIComponents.Add(exitButton); }
public ScoreScreen(Game game, string name, Replay replay, Song song, int diff, bool play) : base(game, name) { if (play) { retryButton = new Button(game, new Rectangle(Config.ResWidth - (int)(Config.ResWidth * 0.3), 230, 100, 50), "Retry", delegate(int data) { game.screens["ingameScreen"].Music.stop(); IngameScreen temp = (IngameScreen)game.screens["ingameScreen"]; temp.loadSong(temp.CurrentSong, temp.Difficulty, temp.Mods, null, IngameScreen.PlayType.PLAY); Game.setScreen(game.screens["ingameScreen"]); }); UIComponents.Add(retryButton); } if (replay != null) { this.replay = replay; replayButton = new Button(game, new Rectangle(Config.ResWidth - (int)(Config.ResWidth * 0.3), 330, 100, 50), "Replay", delegate(int data) { IngameScreen temp = (IngameScreen)game.screens["ingameScreen"]; try { if (temp.Music != null) { temp.Music.stop(); } temp.loadSong(song, diff, temp.Mods, this.replay, IngameScreen.PlayType.REPLAY); Game.setScreen(temp); game.Title = "Pulse | Watch replay | " + song.Artist + " - " + song.SongName + " [" + song.Charts[diff].Name + "]"; } catch { } }); UIComponents.Add(replayButton); } }
void Start() { if (SceneManager.GetActiveScene().name == "online") { canvas = GameObject.Find("UI").gameObject.GetComponent <UIComponents>(); } }
public void setScore(Score score, Song song, int diff, int rank) { this.score = score; scoreLabel.Text = score.TotalScore.ToString("D8"); accuracyLabel.Text = String.Format("{0:0.00}%", score.Accuracy); maxComboLabel.Text = "" + score.MaxCombo + "x"; dateLabel.Text = score.dateString; statsLabel.Text = "Perfect: " + "\nGood: " + "\nOK: " + "\nMiss: "; statsNoLabel.Text = "" + score.Perfects + "\n" + score.Goods + "\n" + score.Oks + "\n" + score.Misses; string songinf = score.ArtistTitle; if (songinf.Length < 26) { songInfoLabel.Text = songinf.Substring(0, songinf.Length) + " [" + score.chartName + "]"; } else { songInfoLabel.Text = songinf.Substring(0, 25) + "... [" + score.chartName + "]"; } if (score.ReplayName != "") { replayButton = new Button(game, new Rectangle(Config.ResWidth - (int)(Config.ResWidth * 0.3), 330, 100, 50), "Replay", delegate(int data) { IngameScreen temp = (IngameScreen)game.screens["ingameScreen"]; if (Config.LocalScores) { Replay replay = ScoreLibrary.reconReplay("replay\\r\\" + score.ReplayName + ".pcr"); try { temp.loadSong(song, diff, replay.Mods, replay, IngameScreen.PlayType.REPLAY); temp.Music.stop(); Game.setScreen(game.screens["ingameScreen"]); game.Title = "Pulse | Watch replay | " + song.Artist + " - " + song.SongName + " [" + song.Charts[diff].Name + "]"; } catch { } } else { string hash = Utils.calcHash(song.Charts[diff].Path); string dl = "http://p.ulse.net/getreplay?r=" + rank + "&c=" + hash; Console.WriteLine("{0} rank {1} hash", rank, hash); downloadReplay dr = new downloadReplay(); dr.downloadFinish += new Action <Song, int>(dr_downloadFinish); dr.DownloadReplay(dl, "replay\\" + hash + ".pcr", song, diff); // wc.DownloadFileAsync(new Uri(dl), "replay\\temp.pcr"); //wc.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(wc_DownloadFileCompleted); replayButton.Enabled = false; replayButton.Visible = false; exitButton.Enabled = false; exitButton.Visible = false; Game.addToast("Downloading replay..."); } }); if (!UIComponents.Contains(replayButton)) { UIComponents.Add(replayButton); } } }
public void Arrange(UIComponents components) { var control = components.Main; if (control != null) { content.Content = control.Control; } control = components.CommandsContainer; if (control != null) { commands.Content = control.Control; } }
private void InitTextBoxes() { UIComponents.Add(new TextBox("test", 0, 2, 20)); UIComponents.Add(new TextBox("Ip", 0, 7, 7, "", ".:") { Hint = "Enter IP:PORT" }); }
public void Arrange(UIComponents components) { this.TryArrangeMain(components.Main); this.TryArrangeCommandsContainer(components.CommandsContainer); this.TryArrangeNavigation(components.Navigation); this.TryArrangeCondition(components.Condition); this.TryArrangeDetail(components.FindControl("detail")); this.TryArrangeChildren(components.Children); this.OnArrangedCore(); }
public void Arrange(UIComponents components) { var control = components.Main; if (control != null) { content.Content = control.Control; } control = components.CommandsContainer; if (control != null) { commands.Content = control.Control; } components.ArrangeChildrenByTabControl(childrenTab); }
private void InitButtons() { Button StartLocalGame = new Button("StartLocal", "Start new local game", 0, 0, 0, Comands.Option1); Button ConnectToRemoteServer = new Button("ConnectToRemoteServer", "Connect to remote server", 0, 1, 0, Comands.Option2); Button Exit = new Button("Exit", "Exit game", 0, 2, 0, Comands.Option3); StartLocalGame.OnAccept += StartLocalOnPress; ConnectToRemoteServer.OnAccept += ConnectToRemoteServerOnPress; Exit.OnAccept += ExitOnPress; UIComponents.AddRange(new UIComponentBase[] { StartLocalGame, ConnectToRemoteServer, Exit }); }
private void OnArrangedCore(UIComponents components) { if (queryPanel.Items.Count == 0) { queryPanel.RemoveFromParent(false); } if (childrenTab.Parent != null) { container.Orientation = components.LayoutMeta.IsLayoutChildrenHorizonal ? Orientation.Horizontal : Orientation.Vertical; } }
public void Arrange(UIComponents components) { ResizingPanelSlippingAnimation.Initialize(main, childrenTab, components.LayoutMeta.ParentChildProportion); this.TryArrangeMain(components.Main); this.TryArrangeCommandsContainer(components.CommandsContainer); this.TryArrangeNavigation(components.Navigation); this.TryArrangeCondition(components.Condition); //Children components.ArrangeChildrenByTabControl(childrenTab); this.OnArrangedCore(components); }
public void InitializeManager() { CanvasTransform = Instantiate(UIPrefab, gameObject.transform).transform; uiComponents = CanvasTransform.GetComponent <UIComponents>(); CentralizerCamera(); UpdateCameraBox(); SceneManager.sceneLoaded += (Scene, loadSceneMode) => { CentralizerCamera(); UpdateCameraBox(); }; DontDestroyOnLoad(cameraTransform.gameObject); }
public void Arrange(UIComponents components) { commands.Content = components.CommandsContainer.Control; main.Content = components.Main.Control; var result = components.FindControls(QueryLogicalView.ResultSurrounderType); foreach (var ui in result) { queryResult.Items.Add(new TabItem { Header = ui.Blocks.MainBlock.KeyLabel.Translate(), Content = ui.Control }); } }
public UIManager(UIComponents _components) { components = _components; components.pauseButton.onClick.AddListener(() => { OnPause?.Invoke(); components.panel.SetActive(true); }); components.resumeButton.onClick.AddListener(() => { OnResume?.Invoke(); components.panel.SetActive(false); }); }
public void Arrange(UIComponents components) { //使用下拉框显示主区域。 var control = components.Main; if (control != null) { this._mainView = control.MainView as ListLogicalView; this._mainView.Control.RemoveFromParent(); ////选中数据的第一行。 ////由于模板都会自动获取数据,而UI线程一直在构造界面,所以这里直接监听数据到达函数就可以了。 //view.DataLoader.ListenDataChangedOnce(() => //{ // if (view.Data.Count > 0) // { // view.CurrentObject = view.Data[0] as Entity; // } //}); var cmbList = ControlHelper.CreateComboListControl(this._mainView); AutomationHelper.SetEditingElement(cmbList); main.Content = cmbList; } else { main.RemoveFromParent(); } var toolBar = components.CommandsContainer; if (toolBar != null) { toolBarContainer.Content = toolBar.Control; } else { toolBarContainer.RemoveFromParent(); } //Children components.ArrangeChildrenByTabControl(childrenTab); }
public void Arrange(UIComponents components) { var control = components.Main; if (control != null) { result.Content = control.Control; } else { result.RemoveFromParent(); } var toolBar = components.CommandsContainer; if (toolBar != null) { toolBarContainer.Content = toolBar.Control; } else { toolBarContainer.RemoveFromParent(); } //Children components.ArrangeChildrenByTabControl(childrenTab); if (childrenTab.Parent != null) { ResizingPanelExt.SetStarGridLength(detail, 3); ResizingPanelExt.SetStarGridLength(childrenTab, 7); if (components.LayoutMeta.IsLayoutChildrenHorizonal) { container.Orientation = Orientation.Horizontal; } else { container.Orientation = Orientation.Vertical; } } }
public PauseScreen(Game game, string text, IngameScreen screen) : base(game, text) { this.screen = screen; buttons[0] = new Button(game, new Rectangle(Config.ClientWidth / 2 - 100, 100, 200, 100), "Continue", delegate(int data) { screen.unpause(); }); buttons[1] = new Button(game, new Rectangle(Config.ClientWidth / 2 - 100, 300, 200, 100), "Retry", delegate(int data) { screen.loadSong(screen.CurrentSong, screen.Difficulty, screen.Mods, screen.CurrentReplay, screen.PlayType1); screen.onSwitched(); }); if (screen.PlayType1 == IngameScreen.PlayType.REPLAY || screen.PlayType1 == IngameScreen.PlayType.TEST) { buttons[1].Text = "Restart"; } buttons[2] = new Button(game, new Rectangle(Config.ClientWidth / 2 - 100, 500, 200, 100), "Exit", delegate(int data) { Game.setScreen(game.screens["selectScreen"]); game.Title = "Pulse"; if (Config.Spectating) { try { Client.PacketWriter.sendSpectateCancel(Game.conn.Bw, Config.SpectatedUser); } catch { } Config.Spectating = false; Config.SpectatedUser = ""; Config.Specs = ""; } }); for (int x = 0; x < buttons.Length; x++) { UIComponents.Add(buttons[x]); } overlay = new Rect(new Rectangle(0, 0, Config.ResWidth, 768)); overlay.Colour = new Color4(0.0f, 0.0f, 0.0f, 0.75f); }
public override void OnLoad(EventArgs e) { base.OnLoad(e); IngameScreen tempPlayScreen = (IngameScreen)game.screens["ingameScreen"]; string songinf = tempPlayScreen.CurrentSong.Artist + " - " + tempPlayScreen.CurrentSong.SongName; songInfoLabel = new Label(game, new Point(180, 120), "0"); dateLabel = new Label(game, new Point(200, 85), "0"); UIComponents.Add(dateLabel); songInfoLabel.TextTexture.TextFont = new Font("Myriad Pro", 35); if (songinf.Length < 26) { songInfoLabel.Text = songinf.Substring(0, songinf.Length) + " [" + tempPlayScreen.Chart.Name + "]"; } else { songInfoLabel.Text = songinf.Substring(0, 25) + "... [" + tempPlayScreen.Chart.Name + "]"; } UIComponents.Add(songInfoLabel); scoreLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.8), 200), "0"); accuracyLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.8), 250), "0"); maxComboLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.8), 300), "0"); statsLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.8), 350), "0"); statsNoLabel = new Label(game, new Point(Config.ResWidth - (int)(Config.ResWidth * 0.7), 350), "0"); UIComponents.Add(statsNoLabel); UIComponents.Add(statsLabel); UIComponents.Add(scoreLabel); UIComponents.Add(accuracyLabel); UIComponents.Add(maxComboLabel); scoreBg = new Rect(new Rectangle(new Point(0, 0), new Size(Config.ResWidth, 768)), Skin.skindict["scorebg"]); scoreBg.Colour = Color4.SlateGray; exitButton = new Button(game, new Rectangle(Config.ResWidth - (int)(Config.ResWidth * 0.3), 430, 100, 50), "Exit", delegate(int data) { game.screens["ingameScreen"].Music.stop(); Game.setScreen(game.screens["selectScreen"]); game.Title = "Pulse"; }); UIComponents.Add(exitButton); }
void Awake() { Instance = this; healthBar = transform.FindChild("Health Bar").GetComponent<Bar>(); staminaBar = transform.FindChild("Stamina Bar").GetComponent<Bar>(); items = new Dictionary<ItemType, UIComponents>(); UIComponents noneComponents = new UIComponents(); noneComponents.ItemImage = null; noneComponents.AmmoText = null; noneComponents.AmmoScript = null; items.Add(ItemType.none, noneComponents); UIComponents pistolComponents = new UIComponents(); pistolComponents.ItemImage = transform.FindChild("PistolImage").GetComponent<RawImage>(); Transform pistolAmmo = transform.FindChild("PistolAmmo"); pistolComponents.AmmoText = pistolAmmo.GetComponent<Text>(); pistolComponents.AmmoScript = pistolAmmo.GetComponent<Ammo>(); items.Add(ItemType.pistol, pistolComponents); UIComponents crowbarComponents = new UIComponents(); crowbarComponents.ItemImage = transform.FindChild("CrowbarImage").GetComponent<RawImage>(); crowbarComponents.AmmoText = null; crowbarComponents.AmmoScript = null; items.Add (ItemType.crowbar, crowbarComponents); UIComponents flashlightComponents = new UIComponents(); flashlightComponents.ItemImage = transform.FindChild("FlashlightImage").GetComponent<RawImage>(); crowbarComponents.AmmoText = null; crowbarComponents.AmmoScript = null; items.Add (ItemType.flashlight, flashlightComponents); currentItemtype = ItemType.none; currentComponents = items[currentItemtype]; }
public void ChangeItem(ItemType newItemType, int currentAmmo, int remainingAmmo) { ShowCurrentItems(false); currentItemtype = newItemType; currentComponents = items[currentItemtype]; ShowCurrentItems(true, currentAmmo, remainingAmmo); }
// Rect test; public override void OnLoad(EventArgs e) { Game.stopMedia = false; base.OnLoad(e); // AviManager am = new AviManager("vid1.avi", true); // VideoStream vs = am.GetVideoStream(); // test = new Rect(new Rectangle(0, 0, 300, 300), FrameGrabber.GetFrameFromVideo("vid1.avi", .2)); //vs.GetFrameOpen(); //vs.GetBitmap() // Console.WriteLine(vs.StreamInfo.dwLength); // vs.GetFrameClose(); Animation preload = new Animation(new Rectangle(0, 0, 0, 0), 100, "holdBurst", 3, true, true); // ircl = new Client.irc.IrcClient("lol"); logo = new Rect(new Rectangle(Config.ResWidth / 2 - (710 / 2), 20, 710, 519), "skin\\Pulse-LogoText.png"); startText = new Label(game, new Rectangle(new Point(0, 0), new Size(0, 0)), "pulse alpha version " + Config.Version); SizeF temp = startText.TextTexture.getStringSize(); Button optionsButton = new Button(game, new Rectangle((Config.ResWidth / 2) - 150, 768 / 2 + 240, 300, 60), "Options", delegate(int data) { // new Thread(new ThreadStart(openOptions)).Start(); new Options().ShowDialog(); }, true, true, Color.LawnGreen); Button exitButton = new Button(game, new Rectangle((Config.ResWidth / 2) - 150, 768 / 2 + 305, 300, 60), "Exit", delegate(int data) { game.Exit(); }, true, true, Color.Cyan); Button playButton = new Button(game, new Rectangle(Config.ResWidth / 2 - 150, 768 / 2 + 110, 300, 60), "Play", delegate(int data) { play(true); }, true, true, Color.Red); Button editButton = new Button(game, new Rectangle(Config.ResWidth / 2 - 150, 768 / 2 + 175, 300, 60), "Edit", delegate(int data) { play(false); }, true, true, Color.Blue); avatarbutton = new Button(game, new Rectangle(Utils.getMX(700), 0, 300, 100), "\tLogin", delegate(int data) { new Pulse.UI.LoginDialog().ShowDialog(); // downloadAvatar(); }); UIComponents.Add(avatarbutton); startText.TextTexture.Location = new Point(Config.ResWidth / 2 - ((int)temp.Width / 2), 0); startText.TextTexture.TextureSize = new Size((int)temp.Width, (int)temp.Height); bg = new Rect(new Rectangle(0, 0, Config.ResWidth, 768)); bg.Colour = new OpenTK.Graphics.Color4(0.4f, 0.4f, 0.4f, 1.0f); bg.useTexture("skin\\Pulse-LogoText.png"); bg2 = new Rect(new Rectangle(0, 0, Config.ResWidth, 768)); bg2.Colour = new OpenTK.Graphics.Color4(0.4f, 0.4f, 0.4f, 1.0f); bg2.useTexture("skin\\Pulse-LogoText.png"); bg2.Alpha = 0.3f; bg3 = new Rect(new Rectangle(0, 0, Config.ResWidth, 768)); bg3.Colour = new OpenTK.Graphics.Color4(1.0f, 1.0f, 1.0f, 1.0f); bg3.useTexture("skin\\Pulse-MenuBG.png"); bg4 = new Rect(new Rectangle(0, 0, Config.ResWidth, 768)); bg4.Colour = new OpenTK.Graphics.Color4(1.0f, 1.0f, 1.0f, 1.0f); bg4.useTexture("skin\\Pulse-MenuOverlay.png"); website = new Button(game, new Rectangle(0, 768 - 53, 360, 53), "", delegate(int data) { if (!Game.pbox.expanded) { System.Diagnostics.Process.Start("http://p.ulse.net"); } }, Skin.skindict["websiteText"]); setMarquee(); UIComponents.Add(startText); UIComponents.Add(optionsButton); UIComponents.Add(playButton); UIComponents.Add(editButton); //UIComponents.Add(nowp); UIComponents.Add(exitButton); // pbox = new PTextBox(game, new Rectangle(0, 768-300, Utils.getMX(1024), 290), "", ircl); //UIComponents.Add(pbox); //UIComponents.Add(skipForwardButton); //UIComponents.Add(togglePauseButton); Game.conn.recvPacket += new Action <short, Client.RecievePacket>(conn_recvPacket); //downloadAvatar(); }
public override void OnLoad(EventArgs e) { base.OnLoad(e); panel.Colour = new OpenTK.Graphics.Color4(0.3f, 0.3f, 0.3f, 0.0f); dim.Colour = new OpenTK.Graphics.Color4(0.0f, 0.0f, 0.0f, 0.0f); fsw.EnableRaisingEvents = true; fsw.IncludeSubdirectories = true; fsw.Created += new FileSystemEventHandler(fsw_Created); fsw.Changed += new FileSystemEventHandler(fsw_Created); fsw.Deleted += new FileSystemEventHandler(fsw_Deleted); fsw.Error += new ErrorEventHandler(fsw_Error); fsw.InternalBufferSize = 61440; //lets handle large changes ;D SongLibrary.cacheSongInfo(); game.KeyPress += new EventHandler <OpenTK.KeyPressEventArgs>(game_KeyPress); bgoverlay.Colour = new OpenTK.Graphics.Color4(0.0f, 0.0f, 0.0f, 0.5f); searchLabel = new Label(game, new Point(0, 700), ""); searchLabel.TextTexture.Shadow = true; searchInfoL = new Label(game, new Point(0, 700), "type to begin search.."); //searchInfoL.TextTexture.Shadow = true; searchInfoL.TextTexture.Colour = Color.White; onlineToggle = new ToggleButton(game, new Rectangle(Utils.getMX(780), 130, 50, 40), "O", delegate(int data) { Config.LocalScores = !Config.LocalScores; updateScoreLabels(0); }); prevPage = new Button(game, new Rectangle(Utils.getMX(835), 130, 50, 40), "<<", delegate(int data) { if (displayScores != null && scoreDisplayPage > 0) { scoreDisplayPage--; updateScoreLabels(scoreDisplayPage); } }); nextPage = new Button(game, new Rectangle(Utils.getMX(890), 130, 50, 40), ">>", delegate(int data) { if (displayScores != null && displayScores.Count > 0) //if count was 0 maxpage would be -1 { int maxpage = displayScores.Count / 8; if (displayScores.Count % 8 > 0) //if there's a remainder that means theres some extra scores to display so need new page { maxpage++; } maxpage--; //remember, scoredisplaypage is 0 based! if (scoreDisplayPage < maxpage) { scoreDisplayPage++; updateScoreLabels(scoreDisplayPage); /*if (scoreDisplayPage == maxpage) //finish later, faulty to have in a place like this * { * nextPage.Visible = false; * nextPage.Enabled = false; * }*/ } } }); if (!Config.LocalScores) { ((ToggleButton)onlineToggle).toggle(); } UIComponents.Add(prevPage); UIComponents.Add(nextPage); UIComponents.Add(onlineToggle); calibrateButton = new Button(game, new Rectangle(70, 768 - 170, 200, 50), "Calibrate offset", delegate(int data) { int tIndex = 0; for (int x = 0; x < currentSong.Charts.Count; x++) { if (currentSong.Charts[x].Name.Equals(diffs.BaseText.Line)) { tIndex = x; } } IngameScreen temp = (IngameScreen)game.screens["ingameScreen"]; try { uint flags = 0; flags = flags | (uint)(nfB.Selected ? 1 : 0); flags = flags | (uint)(autoB.Selected ? 2 : 0); flags = flags | (uint)(mirB.Selected ? 4 : 0); flags = flags | (uint)(hdB.Selected ? 8 : 0); temp.loadSong(SongLibrary.loadSong(songNameList[index].Info), tIndex, new Mods() { Speed = dtB.Selected ? 1.5 : 1.0, Flags = flags, Scroll = Config.PlaySpeed }, null, IngameScreen.PlayType.PLAY); Music.stop(); Game.setScreen(game.screens["ingameScreen"]); temp.Calibrate = true; game.Title = "Pulse | " + currentSong.Artist + " - " + currentSong.SongName + " [" + currentSong.Charts[tIndex].Name + "]"; } catch (Exception ex) { ErrorLog.log(ex); } }); calibrateButton.Visible = false; calibrateButton.Enabled = false; // int backpos = Config.ResWidth - 244;//Config.WideScreen? (int)((780d/1024d) * game.Width) : 780; backLabel = new Button(game, new Rectangle(Utils.getMX(780), 10, 220, 50), "Back", delegate(int data) { Game.setScreen(game.screens["menuScreen"]); }); help = new Button(game, new Rectangle(Utils.getMX(780), 130, 220, 50), "Help", delegate(int data) { new EditorHelp().ShowDialog(); Game.resetStates(); }); UIComponents.Add(help); newSongb = new Button(game, new Rectangle(Utils.getMX(780), 70, 220, 50), "New Song", delegate(int data) { new NewSong().ShowDialog(); Game.resetStates(); }); // UIComponents.Add(searchLabel); UIComponents.Add(backLabel); UIComponents.Add(newSongb); #region obsolete /*difficultyTexts[0] = new Text(Config.ClientSize, new Size(300, 33), new Point(0, 0)); * difficultyTexts[0].Update("3key"); * difficultyTexts[0].Shadow = true; * difficultyTexts[1] = new Text(Config.ClientSize, new Size(300, 33), new Point(0, 0)); * difficultyTexts[1].Update("4key"); * difficultyTexts[1].Shadow = true; * difficultyTexts[2] = new Text(Config.ClientSize, new Size(300, 33), new Point(0, 0)); * difficultyTexts[2].Update("6key"); * difficultyTexts[2].Shadow = true; * difficultyTexts[3] = new Text(Config.ClientSize, new Size(300, 33), new Point(0, 0)); * difficultyTexts[3].Update("7key"); * difficultyTexts[3].Shadow = true;*/ #endregion refresh(); index = 0; for (int x = 0; x < songNameList.Count; x++) { if (songNameList[x].Info.SongName.Equals(Game.M.CurrentSong.SongName) && songNameList[x].Info.Dir.Equals(Game.M.CurrentSong.Dir)) { index = x; } } changeSong(); selectionTexture = new Rect(new Rectangle(2, 250, 548, 28)); sel2 = new Rect(new Rectangle(0, 249, 552, 30)); searchBox = new Rect(new Rectangle(0, 700, Config.ResWidth, 30)); searchBox.Colour = new OpenTK.Graphics.Color4(0.27f, 0.509f, 0.705f, .8f); cover = new Rect(new Rectangle(Config.ResWidth - 300, 0, 300, 768)); cover.Colour = new OpenTK.Graphics.Color4(1f, 1f, 1f, .7f); scorebg = new Rect(new Rectangle((int)(Config.ResWidth - 324), 180, 295, 600), Skin.skindict["scoreback"]); sel2.Colour = new OpenTK.Graphics.Color4(0.0f, 0.0f, 0.0f, 1.0f); selectionTexture.Colour = new OpenTK.Graphics.Color4(0.25f, 0.0f, 1.0f, 1.0f); background = new Rect(new Rectangle(0, 0, Config.ResWidth, 768)); currentSong = SongLibrary.loadSong(songNameList[index].Info); string bgString = ""; if (currentSong.FileVersion == 0) { bgString = currentSong.BgName; } else { bgString = currentSong.Charts[0].BgName; } background.useTexture("songs\\" + currentSong.Dir + "\\" + bgString); music = AudioManager.loadFromFile("songs\\" + currentSong.Dir + "\\" + currentSong.FileName); Music.Volume = 0.0f; targetVolume = Config.Volume / 100.0f; changed = true; Music.PositionAsMilli = (long)Game.M.Music.PositionAsMilli; Music.play(false, true); if (play) { game.Title = "Pulse | Play Selection"; newSongb.Enabled = false; newSongb.Visible = false; help.Enabled = false; help.Visible = false; } else { game.Title = "Pulse | Edit Selection"; newSongb.Enabled = true; newSongb.Visible = true; } updateDiffs(); updateScoreLabels(0); // changeSong(); // index = 0; for (int x = 0; x < songNameList.Count; x++) { // if (songNameList[x].textData.Location.Y != 246 + ((x - index) * 33) && !songNameList[x].textData.Moving) // { songNameList[x].select.Bounds = new Rectangle(0, 246 + ((x - index) * 90), songNameList[x].select.Bounds.Width, songNameList[x].select.Bounds.Height); // Console.WriteLine(songNameList[x].textData.Position. // } //Console.WriteLine("why"); List <string> t = new List <String>(); t.Add(" "); diffs = new DropDownBox(game, t, new Rectangle(70, 120, 150, 35)); diffs.selected += new Action <int>(diffs_selected); string tempS = ""; if (play) { tempS = "Play"; } else { tempS = "Edit"; } playButton = new Button(game, new Rectangle(290 + 220, 768 - 170, 200, 50), tempS, delegate(int data) { if (pickDiff) { int tIndex = 0; for (int x = 0; x < currentSong.Charts.Count; x++) { if (currentSong.Charts[x].Name.Equals(diffs.BaseText.Line)) { tIndex = x; } } /*if (Config.AutoPlay && play) * { * ReplayScreen temp = (ReplayScreen)game.screens["replayScreen"]; * try * { * temp.loadSong(SongLibrary.loadSong(songNameList[index].Info), tIndex); * Game.M.setSong(songNameList[index].Info); * Game.M.play(); * Music.stop(); * Game.setScreen(game.screens["replayScreen"]); * game.Title = "Pulse | Watch replay | " + currentSong.Artist + " - " + currentSong.SongName + " [" + currentSong.Charts[tIndex].Name + "]"; * } * catch { } * } * else */if (play) { IngameScreen temp = (IngameScreen)game.screens["ingameScreen"]; try { IngameScreen.PlayType te = IngameScreen.PlayType.PLAY; if (autoB.Selected) { te = IngameScreen.PlayType.AUTO; } uint flags = 0; flags = flags | (uint)(nfB.Selected ? 1 : 0); flags = flags | (uint)(autoB.Selected ? 2 : 0); flags = flags | (uint)(mirB.Selected ? 4 : 0); flags = flags | (uint)(hdB.Selected ? 8 : 0); temp.loadSong(SongLibrary.loadSong(songNameList[index].Info), tIndex, new Mods() { Speed = dtB.Selected ? 1.5 : 1.0, Flags = flags, Scroll = Config.PlaySpeed }, null, te); Game.M.setSong(ref songNameList[index].Info); Game.M.play(); Music.stop(); temp.Calibrate = false; Game.setScreen(game.screens["ingameScreen"]); game.Title = "Pulse | " + currentSong.Artist + " - " + currentSong.SongName + " [" + currentSong.Charts[tIndex].Name + "]"; scoreDisplayText.Clear(); scoreDisplayPage = 1; } catch (Exception ex) { ErrorLog.log(ex); } } else if (!play) { EditorScreen temp = (EditorScreen)game.screens["editScreen"]; try { temp.loadSong(SongLibrary.loadSong(songNameList[index].Info), tIndex); Game.M.setSong(ref songNameList[index].Info); Game.M.play(); Music.stop(); Game.setScreen(game.screens["editScreen"]); } catch (KeyNotFoundException) { } game.Title = "Pulse|Editor|" + currentSong.Artist + "-" + currentSong.SongName + "[" + currentSong.Charts[tIndex].Name + "]"; } } }); autoB = new ToggleButton(game, new Rectangle(874 - 480, 120, 100, 40), "Auto", delegate(int data) { Config.AutoPlay = autoB.Selected; }); dtB = new ToggleButton(game, new Rectangle(874 - 370, 120, 100, 40), "DT", delegate(int data) { Config.Dt = dtB.Selected; if (Config.Dt) { Config.Ht = false; if (htB.Selected) { htB.toggle(); } } }); htB = new ToggleButton(game, new Rectangle(874 - 260, 120, 100, 40), "HT", delegate(int data) { Config.Ht = htB.Selected; if (Config.Ht) { Config.Dt = false; if (dtB.Selected) { dtB.toggle(); } } }); mirB = new ToggleButton(game, new Rectangle(874 - 480, 170, 100, 40), "Mirror", delegate(int data) { Config.Mirror = mirB.Selected; }); hdB = new ToggleButton(game, new Rectangle(874 - 370, 170, 100, 40), "HD", delegate(int data) { Config.Hidden = hdB.Selected; }); nfB = new ToggleButton(game, new Rectangle(874 - 260, 170, 100, 40), "No fail", delegate(int data) { Config.NoFail = nfB.Selected; }); closeSel = new Button(game, new Rectangle(290, 768 - 170, 200, 50), "Close", delegate(int data) { notPickDiffs(); }); rateLabel = new Label(game, new Point(874 - 460, 370), "Scroll speed: " + Config.PlaySpeed); rateDrag = new Dragbar(game, new Point(874 - 460, 400), 300, false, delegate(int d) { double temp = rateDrag.getPercentScrolled(); int x = (int)(temp / 10); Config.PlaySpeed = ((float)x / 2) + 0.5f; rateLabel.Text = "Scroll speed: " + Config.PlaySpeed; }); rateDrag.setPos(rateDrag.Bounds.X + (int)(Config.PlaySpeed * 20) + rateDrag.Bounds.Width / 10); game.Mouse.Move += new EventHandler <MouseMoveEventArgs>(Mouse_Move); }
public TimingScreen(Game game, string name) : base(game, name) { reset = new Button(game, new Rectangle(600, 50, 200, 50), "Reset", delegate(int data) { song.Timings.Remove(offset); times.Clear(); bpms.Clear(); bpmLabel.Text = "BPM: ---"; offsetLabel.Text = "Offset: ---"; Music.play(true); }); back = new Button(game, new Rectangle(100, 600, 200, 50), "Back", delegate(int data) { Music.stop(); Game.setScreen(game.screens["editScreen"]); }); UIComponents.Add(back); offsetLabel = new Label(game, new Point(200, 180), "Offset: ---"); UIComponents.Add(offsetLabel); timeButton = new Button(game, new Rectangle(100, 50, 400, 50), "Press in time to the beat!", delegate(int data) { if (times.Count < 1) { int off = Environment.TickCount - initial; times.Add(off); offset = (int)music.PositionAsMilli; offsetLabel.Text = "Offset: " + music.PositionAsMilli; } else { int diff = Environment.TickCount - initial; double bpmtoadd = ((60d * 1000d) / (diff - times[times.Count - 1])); if (!double.IsInfinity(bpmtoadd)) { bpms.Add(bpmtoadd); //Console.WriteLine(bpms.Average()); if (bpms.Count < 20) { bpm = Math.Round(bpms.Average(), 0); } else if (bpms.Count < 40) { bpm = Math.Round(bpms.Average(), 1); } else { bpm = Math.Round(bpms.Average(), 2); } bpmLabel.Text = "BPM: " + bpm; // if(bpms.Average() >= double.MaxValue) { // bpms.Clear(); // } } times.Add(diff); } }); save = new Button(game, new Rectangle(600, 125, 200, 50), "Save", delegate(int data) { try { song.Timings[offset].Snap = 60 / bpm; } catch { song.Timings.Add(offset, new TimingSection(offset, bpm, true)); } Game.addToast("Timing section saved"); }); UIComponents.Add(save); bpmLabel = new Label(game, new Point(200, 150), "BPM: ---"); UIComponents.Add(bpmLabel); UIComponents.Add(reset); UIComponents.Add(timeButton); }
public void Arrange(UIComponents components) { commands.Content = components.CommandsContainer.Control; main.Content = components.Main.Control; list.Content = components.FindControl("list").Control; }
private void TextStyleCollection_PropertyChange(object sender, UIComponents.TextElementPropertyChangeEventArgs e) { OnElementChangeEvent(e) ; }