public void Update(Vector2 position) { StarSailorMod sm = ModContent.GetInstance <StarSailorMod>(); float height = 0f; float maxWidth = 0; for (int i = 0; i < lines.Length; i++) { Vector2 mea = font.MeasureString(lines[i]) * hoverScale; maxWidth = Math.Max(mea.X, maxWidth); height += mea.Y; } Rectangle mouseRect = new Rectangle(Mouse.GetState().X, Mouse.GetState().Y, 1, 1); Rectangle boundingBox = new Rectangle((int)position.X, (int)position.Y, (int)maxWidth, (int)height); if (mouseRect.Intersects(boundingBox)) { HoverUpdate(true); if (sm.newMouseState.LeftButton == ButtonState.Pressed && sm.oldMouseState.LeftButton == ButtonState.Released) { sm.speechBubbles.Clear(); result.Execute(); } } else { HoverUpdate(false); } }
public void Execute() { Enabled = true; StarSailorMod mod = ModContent.GetInstance <StarSailorMod>(); queue.Execute(); }
public void Update() { if (((StarSailorMod)mod).inLaunchGui) { Rectangle mouseRect = new Rectangle(Mouse.GetState().X, Mouse.GetState().Y, 1, 1); Vector2 dims = Main.fontDeathText.MeasureString(text); Rectangle textRect = new Rectangle((int)location.X - (int)(dims.X / 2f), (int)location.Y - (int)(dims.Y / 2f), (int)dims.X, (int)dims.Y); if (mouseRect.Intersects(textRect)) { HoverUpdate(true); if (Main.mouseLeft && Main.mouseLeftRelease) { int r = DoPress(); switch (r) { case -1: ((StarSailorMod)mod).ExitRocketGui(); break; case -2: ((StarSailorMod)mod).inLaunchGui = false; //ModContent.GetInstance<Rocket>().takeOffAnimate = true; LaunchPoint destination = ModContent.GetInstance <LaunchPointManager>().SetDestination(); SequenceQueue sq = SequenceBuilder.ConstructSpaceSequence(ModContent.GetInstance <DimensionManager>().currentDimension, destination.dimension, Main.LocalPlayer, 16 * (destination.position + new Vector2(0, -3)), destination.needPlatform); sq.Execute(); break; case -3: ((StarSailorMod)mod).nameButton.active = !((StarSailorMod)mod).nameButton.active; break; default: bool temp = active; ModContent.GetInstance <LaunchPointManager>().DeactivateLocations(); active = !temp; break; } } } else { HoverUpdate(false); } if (active && fn == Function.Name) { text = Main.GetInputText(text); //text = ((StarSailorMod)mod).InputText(text); } } }