コード例 #1
0
ファイル: ArcEffect.cs プロジェクト: hellogithubtesting/LGame
 public void CreateUI(GLEx g)
 {
     if (!visible)
     {
         return;
     }
     if (complete)
     {
         return;
     }
     if (alpha > 0 && alpha < 1)
     {
         g.SetAlpha(alpha);
     }
     if (count <= 1)
     {
         g.SetColor(color);
         g.FillRect(X(), Y(), width, height);
         g.ResetColor();
     }
     else
     {
         g.SetColor(color);
         int length = (int)MathUtils.Sqrt(MathUtils.Pow(width / 2, 2.0f)
                 + MathUtils.Pow(height / 2, 2.0f));
         float x = X() + (width / 2 - length);
         float y = Y() + (height / 2 - length);
         float w = width / 2 + length - x;
         float h = height / 2 + length - y;
         float deg = 360f / this.div * this.count;
         g.FillArc(x, y, w, h, 0, this.sign[this.turn] * deg);
         g.ResetColor();
     }
     if (alpha > 0 && alpha < 1)
     {
         g.SetAlpha(1f);
     }
 }
コード例 #2
0
ファイル: Label.cs プロジェクト: hellogithubtesting/LGame
 public virtual void CreateUI(GLEx g)
 {
     if (visible)
     {
         LFont oldFont = g.GetFont();
         Color oldColor = g.GetColor();
         g.SetFont(font);
         g.SetColor(color);
         this.width = font.StringWidth(label);
         this.height = font.GetSize();
         if (alpha > 0 && alpha < 1)
         {
             g.SetAlpha(alpha);
             g.DrawString(label, X(), Y() - font.GetAscent());
             g.SetAlpha(1.0F);
         }
         else
         {
             g.DrawString(label, X(), Y() - font.GetAscent());
         }
         g.SetFont(oldFont);
         g.SetColor(oldColor);
     }
 }
コード例 #3
0
ファイル: Cycle.cs プロジェクト: hellogithubtesting/LGame
        public virtual void CreateUI(GLEx g)
        {
            if (!isVisible)
            {
                return;
            }

            this.Setup();

            int pointsLength = points.Count;

            CycleProgress point;
            int index;
            int frameD;
            int indexD;

            float size = (pointsLength * this.trailLength);

            for (float i = -1, l = size; ++i < l && !this.stopped; )
            {
                index = (int)(frame + i);
                if (index < pointsLength)
                {
                    point = points[index];
                }
                else
                {
                    point = points[index - pointsLength];
                }
                this.alpha = (i / (l - 1));
                frameD = frame / (pointsLength - 1);
                indexD = (int)alpha;
                if (lineWidth > 0)
                {
                    g.SetLineWidth(lineWidth);
                }
                if (scaleX != 1 || scaleY != 1)
                {
                    g.Scale(scaleX, scaleY);
                }
                if (alpha > 0 && alpha < 1)
                {
                    g.SetAlpha(alpha);
                }
                g.SetColor(color);
                Step(g, point, indexD, frameD, color, alpha);
                g.ResetColor();
                if (alpha > 0 && alpha < 1)
                {
                    g.SetAlpha(1);
                }
                if (lineWidth > 0)
                {
                    g.ResetLineWidth();
                }
                if (scaleX != 1 || scaleY != 1)
                {
                    g.Restore();
                }
            }
        }
コード例 #4
0
 public void Draw(GLEx g, int x, int y)
 {
     switch (style)
     {
         case 0:
         Color oldColor = g.GetColor();
         g.SetColor(color);
         float alpha = 0.0f;
         int nx = x + width / 2 - (int) r * 4,
         ny = y + height / 2 - (int) r * 4;
         g.Translate(nx, ny);
         for (IEnumerator<RectBox> it = list.GetEnumerator(); it.MoveNext();) {
             RectBox s = it.Current;
             alpha = alpha + 0.1f;
             g.SetAlpha(alpha);
             g.FillOval(s.x, s.y, s.width, s.height);
         }
         g.SetAlpha(1.0F);
         g.Translate(-nx, -ny);
         g.SetColor(oldColor);
             break;
         case 1:
             g.SetLineWidth(10);
             g.Translate(x, y);
             g.FillOval(0, 0, width, height, fill.Color);
             int sa = angle % 360;
             g.FillArc(x + (width - paintWidth) / 2, y
                     + (height - paintHeight) / 2, paintWidth, paintHeight,
                     sa, sa + ANGLE_STEP,Color.Red);
             g.Translate(-x, -y);
             g.ResetLineWidth();
             break;
     }
 }
コード例 #5
0
ファイル: LButton.cs プロジェクト: hellogithubtesting/LGame
 public override void CreateUI(GLEx g, int x, int y, LComponent component,
         LTexture[] buttonImage)
 {
     LButton button = (LButton)component;
     if (buttonImage != null)
     {
         if (!button.IsEnabled())
         {
             g.DrawTexture(buttonImage[3], x, y);
         }
         else if (button.IsTouchPressed())
         {
             g.DrawTexture(buttonImage[2], x, y);
         }
         else if (button.IsTouchOver())
         {
             g.DrawTexture(buttonImage[1], x, y);
         }
         else
         {
             if (type == 1)
             {
                 g.DrawTexture(buttonImage[0], x, y, LColor.gray);
             }
             else
             {
                 g.DrawTexture(buttonImage[0], x, y);
             }
         }
     }
     if (text != null)
     {
         LFont old = g.GetFont();
         g.SetFont(font);
         g.SetColor(fontColor);
         g.DrawString(
                 text,
                 x + button.GetOffsetLeft()
                         + (button.GetWidth() - font.StringWidth(text)) / 2,
                 y + button.GetOffsetTop()
                         + (button.GetHeight() - font.GetLineHeight()) / 2
                         + font.GetLineHeight());
         g.SetFont(old);
         g.ResetColor();
     }
 }
コード例 #6
0
ファイル: Screen.cs プロジェクト: hellogithubtesting/LGame
 public virtual void CreateUI(GLEx g)
 {
     if (isClose)
     {
     return;
     }
     if (replaceLoading)
     {
     if (replaceDstScreen == null
             || !replaceDstScreen.IsOnLoadComplete())
     {
         Repaint(g);
     }
     else if (replaceDstScreen.IsOnLoadComplete())
     {
         if (isScreenFrom)
         {
             Repaint(g);
             if (replaceDstScreen.color != null)
             {
                 g.SetColor(replaceDstScreen.color);
                 g.FillRect(dstPos.X(), dstPos.Y(), GetWidth(),
                         GetHeight());
                 g.ResetColor();
             }
             if (replaceDstScreen.currentScreen != null)
             {
                 g.DrawTexture(replaceDstScreen.currentScreen,
                         dstPos.X(), dstPos.Y(), GetWidth(), GetHeight());
             }
             if (dstPos.X() != 0 || dstPos.Y() != 0)
             {
                 g.SetClip(dstPos.X(), dstPos.Y(), GetWidth(),
                         GetHeight());
                 g.Translate(dstPos.X(), dstPos.Y());
             }
             replaceDstScreen.CreateUI(g);
             if (dstPos.X() != 0 || dstPos.Y() != 0)
             {
                 g.Translate(-dstPos.X(), -dstPos.Y());
                 g.ClearClip();
             }
         }
         else
         {
             if (replaceDstScreen.color != null)
             {
                 g.SetColor(replaceDstScreen.color);
                 g.FillRect(0, 0, GetWidth(), GetHeight());
                 g.ResetColor();
             }
             if (replaceDstScreen.currentScreen != null)
             {
                 g.DrawTexture(replaceDstScreen.currentScreen, 0, 0,
                         GetWidth(), GetHeight());
             }
             replaceDstScreen.CreateUI(g);
             if (color != null)
             {
                 g.SetColor(color);
                 g.FillRect(dstPos.X(), dstPos.Y(), GetWidth(),
                         GetHeight());
                 g.ResetColor();
             }
             if (GetBackground() != null)
             {
                 g.DrawTexture(currentScreen, dstPos.X(), dstPos.Y(),
                         GetWidth(), GetHeight());
             }
             if (dstPos.X() != 0 || dstPos.Y() != 0)
             {
                 g.SetClip(dstPos.X(), dstPos.Y(), GetWidth(),
                         GetHeight());
                 g.Translate(dstPos.X(), dstPos.Y());
             }
             Repaint(g);
             if (dstPos.X() != 0 || dstPos.Y() != 0)
             {
                 g.Translate(-dstPos.X(), -dstPos.Y());
                 g.ClearClip();
             }
         }
     }
     }
     else
     {
     Repaint(g);
     }
 }
コード例 #7
0
ファイル: AVGScreen.cs プロジェクト: hellogithubtesting/LGame
 public override void Draw(GLEx g)
 {
     if (!running || !IsOnLoadComplete() || IsClose())
     {
         return;
     }
     if (scrCG == null)
     {
         return;
     }
     if (scrCG.sleep == 0)
     {
         scrCG.Paint(g);
         DrawScreen(g);
         if (desktop != null)
         {
             desktop.CreateUI(g);
         }
         if (sprites != null)
         {
             sprites.CreateUI(g);
         }
     }
     else
     {
         scrCG.sleep--;
         if (color != null)
         {
             float alpha = (float)(scrCG.sleepMax - scrCG.sleep)
                     / scrCG.sleepMax;
             if (alpha > 0 && alpha < 1.0)
             {
                 if (scrCG.getBackgroundCG() != null)
                 {
                     g.DrawTexture(scrCG.getBackgroundCG(), 0, 0);
                 }
                 Color c = g.GetColor();
                 g.SetColor(color.R, color.G, color.B, (byte)(alpha * 255));
                 g.FillRect(0, 0, GetWidth(), GetHeight());
                 g.SetColor(c);
             }
             else
             {
                 Color c = g.GetColor();
                 g.SetColor(color);
                 g.FillRect(0, 0, GetWidth(), GetHeight());
                 g.SetColor(c);
             }
         }
         if (scrCG.sleep <= 0)
         {
             scrCG.sleep = 0;
             color = null;
         }
         g.SetAlpha(1.0f);
     }
 }
コード例 #8
0
 public void DrawWidth(GLEx g, int x, int y)
 {
     try
     {
         if (drawTexWidth == null)
         {
             LPixmap img = new LPixmap(width, height, true);
             for (int i = 0; i < width; i++)
             {
                 img.SetColor(
                         (byte)((start.R * (width - i)) / width
                                 + (end.R * i) / width),
                         (byte)((start.G * (width - i)) / width
                                 + (end.G * i) / width),
                         (byte)((start.B * (width - i)) / width
                                 + (end.B * i) / width), (byte)alpha);
                 img.DrawLine(i, 0, i, height);
             }
             drawTexWidth = img.Texture;
         }
         g.DrawTexture(drawTexWidth, x, y);
     }
     catch
     {
         for (int i = 0; i < width; i++)
         {
             g.SetColor(
                         (byte)((start.R * (width - i)) / width
                                 + (end.R * i) / width),
                         (byte)((start.G * (width - i)) / width
                                 + (end.G * i) / width),
                         (byte)((start.B * (width - i)) / width
                                 + (end.B * i) / width), (byte)alpha);
             g.DrawLine(i + x, y, i + x, y + height);
         }
     }
 }
コード例 #9
0
 public void DrawHeight(GLEx g, int x, int y)
 {
     try
     {
         if (drawTexHeight == null)
         {
             LPixmap img = new LPixmap(width, height, true);
             for (int i = 0; i < height; i++)
             {
                 img.SetColor((byte)(
                         (start.R * (height - i)) / height
                                 + (end.R * i) / height),
                         (byte)((start.G * (height - i)) / height
                                 + (end.G * i) / height),
                         (byte)((start.B * (height - i)) / height
                                 + (end.B * i) / height), (byte)(alpha));
                 img.DrawLine(0, i, width, i);
             }
             drawTexHeight = img.Texture;
         }
         g.DrawTexture(drawTexHeight, x, y);
     }
     catch
     {
         for (int i = 0; i < height; i++)
         {
             g.SetColor(
                     (byte)((start.R * (height - i)) / height
                             + (end.R * i) / height),
                     (byte)((start.G * (height - i)) / height
                             + (end.G * i) / height),
                     (byte)((start.B * (height - i)) / height
                             + (end.B * i) / height), (byte)alpha);
             g.DrawLine(x, i + y, x + width, i + y);
         }
     }
 }
コード例 #10
0
ファイル: Sprite.cs プロジェクト: hellogithubtesting/LGame
 public virtual void CreateUI(GLEx g)
 {
     if (!visible) {
         return;
     }
     image = animation.GetSpriteImage();
     if (image == null) {
         return;
     }
     float width = (image.GetWidth() * scaleX);
     float height = (image.GetHeight() * scaleY);
     if (filterColor == null) {
         if (alpha > 0 && alpha < 1) {
             g.SetAlpha(alpha);
         }
         if (LTrans.TRANS_NONE == transform) {
             g.DrawTexture(image, X(), Y(), width, height, rotation);
         } else {
             g.DrawRegion(image, 0, 0, GetWidth(), GetHeight(), transform,
                     X(), Y(), LTrans.TOP | LTrans.LEFT);
         }
         if (alpha > 0 && alpha < 1) {
             g.SetAlpha(1);
         }
         return;
     } else {
         Color old = g.GetColor();
         if (alpha > 0 && alpha < 1) {
             g.SetAlpha(alpha);
         }
         g.SetColor(filterColor);
         if (LTrans.TRANS_NONE == transform) {
             g.DrawTexture(image, X(), Y(), width, height, rotation);
         } else {
             g.DrawRegion(image, 0, 0, GetWidth(), GetHeight(), transform,
                     X(), Y(), LTrans.TOP | LTrans.LEFT);
         }
         g.SetColor(old);
         if (alpha > 0 && alpha < 1) {
             g.SetAlpha(1);
         }
         return;
     }
 }
コード例 #11
0
ファイル: StatusBar.cs プロジェクト: hellogithubtesting/LGame
 public virtual void CreateUI(GLEx g)
 {
     if (visible)
     {
         if (showValue)
         {
             hpString = "" + value_ren;
             g.SetColor(LColor.white);
             int current_0 = g.GetFont().StringWidth(hpString);
             int h = g.GetFont().GetSize();
             g.DrawString("" + value_ren, (X() + width / 2 - current_0 / 2) + 2,
                     (Y() + height / 2 + h / 2));
         }
         DrawBar(g, goal, current, width, GetX(), GetY());
     }
 }