Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        public void Execute()
        {
            Enabled = true;
            StarSailorMod mod = ModContent.GetInstance <StarSailorMod>();

            queue.Execute();
        }
Ejemplo n.º 3
0
        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);
                }
            }
        }