Esempio n. 1
0
 public virtual void Tick()
 {
     //decrement lockout count
     if (Thread != null)
     {
         Thread.Tick();
         TickSounds();
     }
     if (Headline != null)
     {
         var over = HeadlineRenderer.Update();
         if (over)
         {
             HeadlineRenderer.Dispose();
             Headline         = null;
             HeadlineRenderer = null;
         }
         else if (UseWorld)
         {
             WorldUI.Headline = HeadlineRenderer.DrawFrame(Thread.Context.World);
         }
     }
     if (UseWorld && Headline == null)
     {
         WorldUI.Headline = null;
     }
     if (ObjectData[(int)VMStackObjectVariable.LockoutCount] > 0)
     {
         ObjectData[(int)VMStackObjectVariable.LockoutCount]--;
     }
 }
        public UIMoneyHeadline(VMRuntimeHeadline headline) : base(headline)
        {
            Style      = TextStyle.DefaultLabel.Clone();
            Style.Size = 12;
            var value = (int)(headline.Operand.Flags2 | (headline.Operand.Duration << 16));

            if (value < -10000)
            {
                Text        = (-10000 - value).ToString();
                Style.Color = Model.UIStyle.Current.SecondaryText;
            }
            else
            {
                Text        = (value > 0) ? ("§" + value) : ("-§" + value);
                Style.Color = Model.UIStyle.Current.Text;
            }
            var measure = Style.MeasureString(Text);


            var GD = GameFacade.GraphicsDevice;

            MoneyTarget = new RenderTarget2D(GD, (int)measure.X + 10, (int)measure.Y + 30);
            MoneyBG     = FSO.Content.Content.Get().CustomUI.Get("money_bg.png").Get(GD);

            DrawNewFrame();
        }
Esempio n. 3
0
        public void ShowMoneyHeadline(int value)
        {
            if (HeadlineRenderer != null)
            {
                HeadlineRenderer.Dispose();
            }

            //(int)(headline.Operand.Flags2 | (ushort)(headline.Operand.Duration << 16));
            uint uval = (uint)value;

            Headline = new VMRuntimeHeadline(new VMSetBalloonHeadlineOperand
            {
                Group    = VMSetBalloonHeadlineOperandGroup.Money,
                Flags2   = (ushort)(uval),
                Duration = (short)(uval >> 16)
            }, this, null, 0);
            Headline.Duration = 60;
            HeadlineRenderer  = Thread?.Context.VM.Headline.Get(Headline);
        }
        public UIHeadlineRenderer(VMRuntimeHeadline headline) : base(headline)
        {
            if (Sprites == null)
            {
                Sprites = new FSO.Files.Formats.IFF.IffFile(FSO.Content.Content.Get().GetPath("objectdata/globals/sprites.iff"));
                WhitePx = TextureGenerator.GetPxWhite(GameFacade.GraphicsDevice);
            }

            if (Headline.Operand.Group != VMSetBalloonHeadlineOperandGroup.Algorithmic)
            {
                Sprite = Sprites.Get <SPR>((ushort)(GroupOffsets[(int)Headline.Operand.Group] + Headline.Index));
            }

            if (Headline.Operand.Type != 255 && Headline.Operand.Type != 3)
            {
                BGSprite = Sprites.Get <SPR>((ushort)(GroupOffsets[(int)VMSetBalloonHeadlineOperandGroup.Balloon] + Headline.Operand.Type));
            }

            LastZoom = WorldZoom.Near;
            RecalculateTarget();
        }
Esempio n. 5
0
        public UIMoneyHeadline(VMRuntimeHeadline headline) : base(headline)
        {
            Style = TextStyle.DefaultLabel.Clone();
            var value = (int)(headline.Operand.Flags2 | (ushort)(headline.Operand.Duration << 16));

            Text = (value > 0)?("$" + value):("-$" + value);
            var measure = Style.MeasureString(Text);

            var GD = GameFacade.GraphicsDevice;

            MoneyTarget = new RenderTarget2D(GD, (int)measure.X + 10, (int)measure.Y + 3);

            GD.SetRenderTarget(MoneyTarget);
            GD.Clear(new Color(48, 69, 90));
            var batch = GameFacade.Screens.SpriteBatch;

            batch.Begin();
            batch.DrawString(Style.SpriteFont, Text, new Vector2(5, 1), Style.Color);
            batch.End();
            GD.SetRenderTarget(null);
        }
Esempio n. 6
0
        public virtual void LoadCrossRef(VMEntityMarshal input,VMContext context)
        {
            Contained = new VMEntity[input.Contained.Length];
            int i = 0;

            foreach (var item in input.Contained)
            {
                Contained[i++] = context.VM.GetObjectById(item);
            }

            Container = context.VM.GetObjectById(input.Container);
            if (UseWorld && Container != null)
            {
                WorldUI.Container     = Container.WorldUI;
                WorldUI.ContainerSlot = ContainerSlot;
            }

            if (input.Headline != null)
            {
                Headline         = new VMRuntimeHeadline(input.Headline,context);
                HeadlineRenderer = context.VM.Headline.Get(Headline);
            }
        }
Esempio n. 7
0
        public UIHeadlineRenderer(VMRuntimeHeadline headline) : base(headline)
        {
            if (Sprites == null)
            {
                var content = FSO.Content.Content.Get();
                Sprites = new FSO.Files.Formats.IFF.IffFile(
                    content.TS1?
                    Path.Combine(content.TS1BasePath, "GameData/Sprites.iff") :
                    content.GetPath("objectdata/globals/sprites.iff")
                    );
            }

            if (Headline.Operand.Group != VMSetBalloonHeadlineOperandGroup.Algorithmic)
            {
                Sprite = Sprites.Get <SPR>((ushort)(GroupOffsets[(int)Headline.Operand.Group] + Headline.Index));
            }

            if (Headline.Operand.Type != 255 && Headline.Operand.Type != 3)
            {
                BGSprite = Sprites.Get <SPR>((ushort)(GroupOffsets[(int)VMSetBalloonHeadlineOperandGroup.Balloon] + Headline.Operand.Type));
            }

            LastZoom = WorldZoom.Near;
        }
 public VMHeadlineRenderer Get(VMRuntimeHeadline headline)
 {
     return((headline.Operand.Group == VMSetBalloonHeadlineOperandGroup.Money)? new UIMoneyHeadline(headline) : ((VMHeadlineRenderer) new UIHeadlineRenderer(headline)));
 }
Esempio n. 9
0
 public VMHeadlineRenderer Get(VMRuntimeHeadline headline)
 {
     return(new UIHeadlineRenderer(headline));
 }
Esempio n. 10
0
 public UIMoneyHeadline(VMRuntimeHeadline headline) : base(headline)
 {
     Runtime = headline;
 }
Esempio n. 11
0
 public UIHeadlineRenderer(VMRuntimeHeadline headline) : base(headline)
 {
 }