Пример #1
0
        private void DrawWaterBounds(DevicePanel d, ObjectDrawing.EditorAnimation editorAnim, int x, int y, int Transparency, int animID, int type, int widthPixels, int heightPixels, int heightX, int r, int g, int b, bool Selected)
        {
            //Draw Icon
            editorAnim = LoadAnimation("EditorIcons2", d, 0, 8);
            DrawTexturePivotNormal(d, editorAnim, editorAnim.RequestedAnimID, editorAnim.RequestedFrameID, x, y, Transparency);


            if (widthPixels != 0 && heightPixels != 0 && Selected)
            {
                int x1 = x + widthPixels / -2;
                int x2 = x + widthPixels / 2 - 1;
                int y1 = y + heightPixels / -2;
                int y2 = y + heightPixels / 2 - 1;

                if (Methods.Solution.SolutionState.Main.ShowWaterLevel)
                {
                    if (!ManiacEditor.Properties.Settings.MyPerformance.UseSimplifedWaterRendering)
                    {
                        if (Methods.Solution.SolutionState.Main.AlwaysShowWaterLevel)
                        {
                            int startX = (Methods.Solution.SolutionState.Main.SizeWaterLevelwithBounds ? x1 : 0);
                            int endX   = (Methods.Solution.SolutionState.Main.SizeWaterLevelwithBounds ? x2 : Methods.Solution.CurrentSolution.SceneWidth);

                            editorAnim = LoadAnimation("Global/Water.bin", d, 0, 0);
                            d.DrawRectangle(startX, heightX, endX, Methods.Solution.CurrentSolution.SceneHeight, Methods.Solution.SolutionState.Main.waterColor);
                            d.DrawLine(startX, heightX, endX, heightX, SystemColors.White);
                            for (int i = startX; i < endX; i = i + 32)
                            {
                                DrawTexturePivotNormal(d, editorAnim, editorAnim.RequestedAnimID, editorAnim.RequestedFrameID, i, heightX, Transparency);
                            }
                        }
                    }
                    else
                    {
                        if (Methods.Solution.SolutionState.Main.AlwaysShowWaterLevel || Selected)
                        {
                            int startX = (Methods.Solution.SolutionState.Main.SizeWaterLevelwithBounds ? x1 : 0);
                            int endX   = (Methods.Solution.SolutionState.Main.SizeWaterLevelwithBounds ? x2 : Methods.Solution.CurrentSolution.SceneWidth);
                            d.DrawRectangle(startX, heightX, endX, Methods.Solution.CurrentSolution.SceneHeight, Methods.Solution.SolutionState.Main.waterColor);
                            d.DrawLine(startX, heightX, endX, heightX, SystemColors.White);
                        }
                    }
                }

                DrawBounds2(d, x2, y2, x1, y1, Transparency, SystemColors.Aqua, SystemColors.Transparent);
            }
        }
Пример #2
0
        private void DrawGHZWater(DevicePanel d, ObjectDrawing.EditorAnimation editorAnim, int x, int y, int Transparency, int animID, int type, int widthPixels, int heightPixels, int heightX, int r, int g, int b, bool Selected)
        {
            //Draw Icon
            editorAnim = LoadAnimation("EditorIcons2", d, 0, 8);
            DrawTexturePivotNormal(d, editorAnim, editorAnim.RequestedAnimID, editorAnim.RequestedFrameID, x, y, Transparency);

            if (widthPixels != 0 && heightPixels != 0)
            {
                int x1 = x + widthPixels / -2;
                int x2 = x + widthPixels / 2 - 1;
                int y1 = y + heightPixels / -2;
                int y2 = y + heightPixels / 2 - 1;

                if (Selected)
                {
                    //DrawWaterTileMap(d, x, y, x1, y1, widthPixels, heightPixels, GetWaterColors(255, r, g, b), Transparency);
                    d.DrawRectangle(x1, y1, x2, y2, GetWaterColors(255, r, g, b));
                    if (TilesNeedUpdate)
                    {
                        TilesNeedUpdate = false;
                    }
                }


                DrawBounds2(d, x2, y2, x1, y1, Transparency, SystemColors.Aqua, SystemColors.Transparent);
            }

            SystemColors GetWaterColors(int _a, int _r, int _g, int _b)
            {
                int red   = _r;
                int green = _g;
                int blue  = _b;

                if (red > 255)
                {
                    red = 255;
                }
                if (blue > 255)
                {
                    blue = 255;
                }
                if (green > 255)
                {
                    green = 255;
                }
                if (red < 0)
                {
                    red = 0;
                }
                if (blue < 0)
                {
                    blue = 0;
                }
                if (green < 0)
                {
                    green = 0;
                }

                return(SystemColors.FromArgb(_a, red, green, blue));
            }
        }
Пример #3
0
 private void DrawBigBubble(DevicePanel d, ObjectDrawing.EditorAnimation editorAnim, int x, int y, int Transparency, int animID, int type)
 {
     editorAnim = LoadAnimation("HCZ/BigBubble.bin", d, 7, 0);
     DrawTexturePivotNormal(d, editorAnim, editorAnim.RequestedAnimID, editorAnim.RequestedFrameID, x, y, Transparency);
 }
Пример #4
0
 private void DrawWaterBase(DevicePanel d, ObjectDrawing.EditorAnimation editorAnim, int x, int y, int Transparency, int animID, int type)
 {
     DrawTexturePivotNormal(d, editorAnim, editorAnim.RequestedAnimID, editorAnim.RequestedFrameID, x, y, Transparency);
 }