コード例 #1
0
 public override void Draw(RenderTexture gui, Vector2i origin, RenderStates guiState)
 {
     progress = barProgress.Invoke(tag);
     if (!(progress == 1.0f && hideWhenFull) && !(progress == 0.0f && hideWhenEmpty))
     {
         Transform t   = new Transform(1, 0, 0, 0, 1, 0, 0, 0, 1);
         Vector2f  pos = new Vector2f((position + origin).X, (origin + position).Y);
         t.Translate(pos);
         Transform original = guiState.Transform;
         guiState.Transform = t;
         //draw backdrop
         gui.Draw(backdrop, guiState);
         //draw bar
         t = new Transform(1, 0, 0, 0, 1, 0, 0, 0, 1);
         t.Scale(progress, 1);
         t.Translate(new Vector2f((origin + position).X * (1 / progress), (origin + position).Y));
         guiState.Transform = t;
         gui.Draw(bar, guiState);
         guiState.Transform = original;
     }
     base.Draw(gui, origin, guiState);
 }