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(); }
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(); }
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); }
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); } }
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))); }
public VMHeadlineRenderer Get(VMRuntimeHeadline headline) { return(new UIHeadlineRenderer(headline)); }
public UIMoneyHeadline(VMRuntimeHeadline headline) : base(headline) { Runtime = headline; }
public UIHeadlineRenderer(VMRuntimeHeadline headline) : base(headline) { }