Advertisement
Guest User

CM3D2.ColorPaletteHelper.Plugin

a guest
Aug 26th, 2015
7,337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 25.54 KB | None | 0 0
  1. /*
  2.  * 使い方
  3.  *
  4.  *   0.「ReiPatcher」や「UnityInjector」とかの事前準備はwikiを見てくれ
  5.  *
  6.  *   1.このテキストを「CM3D2.ColorPaletteHelper.Plugin.cs」と言う名前で保存する
  7.  *
  8.  *   2.保存した「CM3D2.ColorPaletteHelper.Plugin.cs」を「C:/KISS/CM3D2_KAIZOU/UnityInjector」フォルダにいれる
  9.  *
  10.  *   3.下記コマンドでコンパイルする
  11.  *
  12.  *   ----------コマンドプロンプトでの操作----------
  13.  *   cd C:/KISS/CM3D2_KAIZOU/UnityInjector
  14.  *   C:\Windows\Microsoft.NET\Framework\v3.5\csc /t:library /lib:..\CM3D2x64_Data\Managed /r:UnityInjector.dll /r:UnityEngine.dll /r:Assembly-CSharp.dll CM3D2.ColorPaletteHelper.Plugin.cs
  15.  *   ----------------------------------------------
  16.  *
  17.  *   4.「C:/KISS/CM3D2_KAIZOU/UnityInjector」フォルダ内に「CM3D2.ColorPaletteHelper.Plugin.dll」と言うファイルが作成されたら完了だ
  18.  *
  19.  * 履歴
  20.  *
  21.  *   ver0.1.0 初版
  22.  */
  23.  
  24. using System;
  25. using System.Reflection;
  26. using UnityEngine;
  27. using UnityInjector;
  28. using UnityInjector.Attributes;
  29.  
  30. namespace CM3D2.ColorPaletteHelper.Plugin
  31. {
  32.     [PluginFilter("CM3D2x64"), PluginFilter("CM3D2x86"), PluginFilter("CM3D2VRx64"), PluginName("CM3D2 Color Palette Helper"), PluginVersion("0.1.0")]
  33.  
  34.     public class ColorPaletteHelper : PluginBase
  35.     {
  36.         private struct ColorPaletteValue
  37.         {
  38.             public int m_main_hue;
  39.             public int m_main_chroma;
  40.             public int m_main_brightness;
  41.             public int m_main_contrast;
  42.             public int m_shadow_hue;
  43.             public int m_shadow_chroma;
  44.             public int m_shadow_brightness;
  45.             public int m_shadow_contrast;
  46.             public int m_shadow_rate;
  47.  
  48.             public void clear()
  49.             {
  50.                 m_main_hue = 0;
  51.                 m_main_chroma = 0;
  52.                 m_main_brightness = 0;
  53.                 m_main_contrast = 0;
  54.                 m_shadow_hue = 0;
  55.                 m_shadow_chroma = 0;
  56.                 m_shadow_brightness = 0;
  57.                 m_shadow_contrast = 0;
  58.                 m_shadow_rate = 0;
  59.             }
  60.  
  61.             public bool equals(ColorPaletteValue value)
  62.             {
  63.                 return (
  64.                     (m_main_hue == value.m_main_hue) &&
  65.                     (m_main_chroma == value.m_main_chroma) &&
  66.                     (m_main_brightness == value.m_main_brightness) &&
  67.                     (m_main_contrast == value.m_main_contrast) &&
  68.                     (m_shadow_hue == value.m_shadow_hue) &&
  69.                     (m_shadow_chroma == value.m_shadow_chroma) &&
  70.                     (m_shadow_brightness == value.m_shadow_brightness) &&
  71.                     (m_shadow_contrast == value.m_shadow_contrast) &&
  72.                     (m_shadow_rate == value.m_shadow_rate)
  73.                 );
  74.             }
  75.         };
  76.  
  77.         private const string version = "0.1.0";
  78.  
  79.         private int m_current_level;
  80.         private GameObject m_color_palette_panel;
  81.         private ColorPaletteCtrl m_color_palette_ctrl;
  82.         private bool m_is_visible;
  83.  
  84.         private ColorPaletteValue m_color;
  85.         private Vector2 m_scroll_position;
  86.  
  87.         private MethodInfo m_get_parts_color;
  88.         private MethodInfo m_set_parts_color;
  89.  
  90.         public void Awake()
  91.         {
  92.             m_current_level = 0;
  93.             m_color_palette_panel = null;
  94.             m_color_palette_ctrl = null;
  95.             m_is_visible = false;
  96.             m_color.clear();
  97.             m_scroll_position = Vector2.zero;
  98.  
  99.             Type t = typeof(ColorPaletteCtrl);
  100.             m_get_parts_color = t.GetMethod("GetPartsColor", BindingFlags.NonPublic | BindingFlags.Instance);
  101.             m_set_parts_color = t.GetMethod("SetPartsColor", BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(MaidParts.PartsColor) }, null);
  102.  
  103.             GameObject.DontDestroyOnLoad(this);
  104.         }
  105.  
  106.         public void OnLevelWasLoaded(int param_level)
  107.         {
  108.             m_current_level = param_level;
  109.  
  110.             m_color_palette_panel = null;
  111.             m_color_palette_ctrl = null;
  112.             m_is_visible = false;
  113.         }
  114.  
  115.         public void Update()
  116.         {
  117.             if (m_current_level != 5)
  118.             {
  119.                 return;
  120.             }
  121.  
  122.             if (m_color_palette_panel == null)
  123.             {
  124.                 m_color_palette_panel = GameObject.Find("UI Root/ColorPalettePanel");
  125.  
  126.                 if (m_color_palette_panel != null)
  127.                 {
  128.                     m_color_palette_ctrl = m_color_palette_panel.GetComponent<ColorPaletteCtrl>();
  129.                 }
  130.             }
  131.  
  132.             if (m_color_palette_panel != null)
  133.             {
  134.                 m_is_visible = m_color_palette_panel.activeInHierarchy;
  135.             }
  136.  
  137.             if ((m_is_visible) && (m_get_parts_color != null))
  138.             {
  139.                 MaidParts.PartsColor c = (MaidParts.PartsColor)m_get_parts_color.Invoke(m_color_palette_ctrl, null);
  140.  
  141.                 m_color.m_main_hue = c.m_nMainHue;
  142.                 m_color.m_main_chroma = c.m_nMainChroma;
  143.                 m_color.m_main_brightness = c.m_nMainBrightness;
  144.                 m_color.m_main_contrast = c.m_nMainContrast;
  145.                 m_color.m_shadow_hue = c.m_nShadowHue;
  146.                 m_color.m_shadow_chroma = c.m_nShadowChroma;
  147.                 m_color.m_shadow_brightness = c.m_nShadowBrightness;
  148.                 m_color.m_shadow_contrast = c.m_nShadowContrast;
  149.                 m_color.m_shadow_rate = c.m_nShadowRate;
  150.             }
  151.         }
  152.  
  153.         public void OnGUI()
  154.         {
  155.             if (m_current_level != 5)
  156.             {
  157.                 return;
  158.             }
  159.  
  160.             if (m_is_visible == false)
  161.             {
  162.                 return;
  163.             }
  164.  
  165.             update_panel();
  166.         }
  167.  
  168.         private void update_panel()
  169.         {
  170.             float layout_margin = get_layout_margin();
  171.             float layout_rate = get_layout_rate();
  172.  
  173.             float window_margin_top = layout_margin + (45.0f * layout_rate) + 10.0f;
  174.             float window_margin_bottom = layout_margin + (95.0f * layout_rate) + 10.0f;
  175.             float window_margin_right = 10.0f;
  176.  
  177.             float window_width = 220.0f;
  178.             float window_height = Screen.height - (window_margin_top + window_margin_bottom);
  179.             float window_x = (Screen.width - 1.0f) - (window_width + window_margin_right);
  180.             float window_y = window_margin_top;
  181.  
  182.             float control_horizontal_margin = 10.0f;
  183.             float control_x = control_horizontal_margin;
  184.             float control_width = window_width - (control_horizontal_margin * 2.0f) - 20.0f;
  185.  
  186.             ColorPaletteValue color = m_color;
  187.  
  188.             Rect window_rect = new Rect(window_x, window_y, window_width, window_height);
  189.  
  190.             GUI.BeginGroup(window_rect);
  191.  
  192.             {
  193.                 Rect background_rect = new Rect(0.0f, 0.0f, window_width, window_height);
  194.  
  195.                 GUIStyle background_style = "box";
  196.  
  197.                 background_style.alignment = TextAnchor.UpperLeft;
  198.  
  199.                 GUI.Box(background_rect, "ColorPaletteHelper(ver" + version + ")", background_style);
  200.             }
  201.  
  202.             {
  203.                 Rect scroll_rect = new Rect(0.0f, 20.0f, window_width, window_height - 20.0f);
  204.  
  205.                 Rect content_rect = new Rect(0.0f, 0.0f, window_width - 20.0f, 580.0f);
  206.  
  207.                 m_scroll_position = GUI.BeginScrollView(scroll_rect, m_scroll_position, content_rect);
  208.  
  209.                 {
  210.                     float base_y = 0.0f;
  211.  
  212.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  213.  
  214.                     GUI.Label(label_rect, "色相:" + color.m_main_hue);
  215.  
  216.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  217.  
  218.                     color.m_main_hue = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_main_hue, 0.0f, 255.0f);
  219.  
  220.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  221.  
  222.                     if (GUI.Button(button_m1_rect, "-1"))
  223.                     {
  224.                         color.m_main_hue -= 1;
  225.                     }
  226.  
  227.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  228.  
  229.                     if (GUI.Button(button_p1_rect, "+1"))
  230.                     {
  231.                         color.m_main_hue += 1;
  232.                     }
  233.  
  234.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  235.  
  236.                     if (GUI.Button(button_m10_rect, "-10"))
  237.                     {
  238.                         color.m_main_hue -= 10;
  239.                     }
  240.  
  241.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  242.  
  243.                     if (GUI.Button(button_p10_rect, "+10"))
  244.                     {
  245.                         color.m_main_hue += 10;
  246.                     }
  247.  
  248.                     if (color.m_main_hue < 0)
  249.                     {
  250.                         color.m_main_hue = 0;
  251.                     }
  252.  
  253.                     if (color.m_main_hue > 255)
  254.                     {
  255.                         color.m_main_hue = 255;
  256.                     }
  257.                 }
  258.  
  259.                 {
  260.                     float base_y = 60.0f;
  261.  
  262.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  263.  
  264.                     GUI.Label(label_rect, "彩度:" + color.m_main_chroma);
  265.  
  266.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  267.  
  268.                     color.m_main_chroma = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_main_chroma, 0.0f, 255.0f);
  269.  
  270.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  271.  
  272.                     if (GUI.Button(button_m1_rect, "-1"))
  273.                     {
  274.                         color.m_main_chroma -= 1;
  275.                     }
  276.  
  277.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  278.  
  279.                     if (GUI.Button(button_p1_rect, "+1"))
  280.                     {
  281.                         color.m_main_chroma += 1;
  282.                     }
  283.  
  284.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  285.  
  286.                     if (GUI.Button(button_m10_rect, "-10"))
  287.                     {
  288.                         color.m_main_chroma -= 10;
  289.                     }
  290.  
  291.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  292.  
  293.                     if (GUI.Button(button_p10_rect, "+10"))
  294.                     {
  295.                         color.m_main_chroma += 10;
  296.                     }
  297.  
  298.                     if (color.m_main_chroma < 0)
  299.                     {
  300.                         color.m_main_chroma = 0;
  301.                     }
  302.  
  303.                     if (color.m_main_chroma > 255)
  304.                     {
  305.                         color.m_main_chroma = 255;
  306.                     }
  307.                 }
  308.  
  309.                 {
  310.                     float base_y = 120.0f;
  311.  
  312.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  313.  
  314.                     GUI.Label(label_rect, "明度:" + color.m_main_brightness);
  315.  
  316.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  317.  
  318.                     color.m_main_brightness = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_main_brightness, 0.0f, 510.0f);
  319.  
  320.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  321.  
  322.                     if (GUI.Button(button_m1_rect, "-1"))
  323.                     {
  324.                         color.m_main_brightness -= 1;
  325.                     }
  326.  
  327.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  328.  
  329.                     if (GUI.Button(button_p1_rect, "+1"))
  330.                     {
  331.                         color.m_main_brightness += 1;
  332.                     }
  333.  
  334.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  335.  
  336.                     if (GUI.Button(button_m10_rect, "-10"))
  337.                     {
  338.                         color.m_main_brightness -= 10;
  339.                     }
  340.  
  341.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  342.  
  343.                     if (GUI.Button(button_p10_rect, "+10"))
  344.                     {
  345.                         color.m_main_brightness += 10;
  346.                     }
  347.  
  348.                     if (color.m_main_brightness < 0)
  349.                     {
  350.                         color.m_main_brightness = 0;
  351.                     }
  352.  
  353.                     if (color.m_main_brightness > 510)
  354.                     {
  355.                         color.m_main_brightness = 510;
  356.                     }
  357.                 }
  358.  
  359.                 {
  360.                     float base_y = 180.0f;
  361.  
  362.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  363.  
  364.                     GUI.Label(label_rect, "対照:" + color.m_main_contrast);
  365.  
  366.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  367.  
  368.                     color.m_main_contrast = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_main_contrast, 0.0f, 200.0f);
  369.  
  370.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  371.  
  372.                     if (GUI.Button(button_m1_rect, "-1"))
  373.                     {
  374.                         color.m_main_contrast -= 1;
  375.                     }
  376.  
  377.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  378.  
  379.                     if (GUI.Button(button_p1_rect, "+1"))
  380.                     {
  381.                         color.m_main_contrast += 1;
  382.                     }
  383.  
  384.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  385.  
  386.                     if (GUI.Button(button_m10_rect, "-10"))
  387.                     {
  388.                         color.m_main_contrast -= 10;
  389.                     }
  390.  
  391.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  392.  
  393.                     if (GUI.Button(button_p10_rect, "+10"))
  394.                     {
  395.                         color.m_main_contrast += 10;
  396.                     }
  397.  
  398.                     if (color.m_main_contrast < 0)
  399.                     {
  400.                         color.m_main_contrast = 0;
  401.                     }
  402.  
  403.                     if (color.m_main_contrast > 200)
  404.                     {
  405.                         color.m_main_contrast = 200;
  406.                     }
  407.                 }
  408.  
  409.                 {
  410.                     float base_y = 240.0f;
  411.  
  412.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  413.  
  414.                     GUI.Label(label_rect, "色相(影):" + color.m_shadow_hue);
  415.  
  416.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  417.  
  418.                     color.m_shadow_hue = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_shadow_hue, 0.0f, 255.0f);
  419.  
  420.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  421.  
  422.                     if (GUI.Button(button_m1_rect, "-1"))
  423.                     {
  424.                         color.m_shadow_hue -= 1;
  425.                     }
  426.  
  427.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  428.  
  429.                     if (GUI.Button(button_p1_rect, "+1"))
  430.                     {
  431.                         color.m_shadow_hue += 1;
  432.                     }
  433.  
  434.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  435.  
  436.                     if (GUI.Button(button_m10_rect, "-10"))
  437.                     {
  438.                         color.m_shadow_hue -= 10;
  439.                     }
  440.  
  441.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  442.  
  443.                     if (GUI.Button(button_p10_rect, "+10"))
  444.                     {
  445.                         color.m_shadow_hue += 10;
  446.                     }
  447.  
  448.                     if (color.m_shadow_hue < 0)
  449.                     {
  450.                         color.m_shadow_hue = 0;
  451.                     }
  452.  
  453.                     if (color.m_shadow_hue > 255)
  454.                     {
  455.                         color.m_shadow_hue = 255;
  456.                     }
  457.                 }
  458.  
  459.                 {
  460.                     float base_y = 300.0f;
  461.  
  462.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  463.  
  464.                     GUI.Label(label_rect, "彩度(影):" + color.m_shadow_chroma);
  465.  
  466.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  467.  
  468.                     color.m_shadow_chroma = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_shadow_chroma, 0.0f, 255.0f);
  469.  
  470.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  471.  
  472.                     if (GUI.Button(button_m1_rect, "-1"))
  473.                     {
  474.                         color.m_shadow_chroma -= 1;
  475.                     }
  476.  
  477.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  478.  
  479.                     if (GUI.Button(button_p1_rect, "+1"))
  480.                     {
  481.                         color.m_shadow_chroma += 1;
  482.                     }
  483.  
  484.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  485.  
  486.                     if (GUI.Button(button_m10_rect, "-10"))
  487.                     {
  488.                         color.m_shadow_chroma -= 10;
  489.                     }
  490.  
  491.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  492.  
  493.                     if (GUI.Button(button_p10_rect, "+10"))
  494.                     {
  495.                         color.m_shadow_chroma += 10;
  496.                     }
  497.  
  498.                     if (color.m_shadow_chroma < 0)
  499.                     {
  500.                         color.m_shadow_chroma = 0;
  501.                     }
  502.  
  503.                     if (color.m_shadow_chroma > 255)
  504.                     {
  505.                         color.m_shadow_chroma = 255;
  506.                     }
  507.                 }
  508.  
  509.                 {
  510.                     float base_y = 360.0f;
  511.  
  512.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  513.  
  514.                     GUI.Label(label_rect, "明度(影):" + color.m_shadow_brightness);
  515.  
  516.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  517.  
  518.                     color.m_shadow_brightness = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_shadow_brightness, 0.0f, 510.0f);
  519.  
  520.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  521.  
  522.                     if (GUI.Button(button_m1_rect, "-1"))
  523.                     {
  524.                         color.m_shadow_brightness -= 1;
  525.                     }
  526.  
  527.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  528.  
  529.                     if (GUI.Button(button_p1_rect, "+1"))
  530.                     {
  531.                         color.m_shadow_brightness += 1;
  532.                     }
  533.  
  534.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  535.  
  536.                     if (GUI.Button(button_m10_rect, "-10"))
  537.                     {
  538.                         color.m_shadow_brightness -= 10;
  539.                     }
  540.  
  541.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  542.  
  543.                     if (GUI.Button(button_p10_rect, "+10"))
  544.                     {
  545.                         color.m_shadow_brightness += 10;
  546.                     }
  547.  
  548.                     if (color.m_shadow_brightness < 0)
  549.                     {
  550.                         color.m_shadow_brightness = 0;
  551.                     }
  552.  
  553.                     if (color.m_shadow_brightness > 510)
  554.                     {
  555.                         color.m_shadow_brightness = 510;
  556.                     }
  557.                 }
  558.  
  559.                 {
  560.                     float base_y = 420.0f;
  561.  
  562.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  563.  
  564.                     GUI.Label(label_rect, "対照(影):" + color.m_shadow_contrast);
  565.  
  566.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  567.  
  568.                     color.m_shadow_contrast = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_shadow_contrast, 0.0f, 200.0f);
  569.  
  570.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  571.  
  572.                     if (GUI.Button(button_m1_rect, "-1"))
  573.                     {
  574.                         color.m_shadow_contrast -= 1;
  575.                     }
  576.  
  577.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  578.  
  579.                     if (GUI.Button(button_p1_rect, "+1"))
  580.                     {
  581.                         color.m_shadow_contrast += 1;
  582.                     }
  583.  
  584.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  585.  
  586.                     if (GUI.Button(button_m10_rect, "-10"))
  587.                     {
  588.                         color.m_shadow_contrast -= 10;
  589.                     }
  590.  
  591.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  592.  
  593.                     if (GUI.Button(button_p10_rect, "+10"))
  594.                     {
  595.                         color.m_shadow_contrast += 10;
  596.                     }
  597.  
  598.                     if (color.m_shadow_contrast < 0)
  599.                     {
  600.                         color.m_shadow_contrast = 0;
  601.                     }
  602.  
  603.                     if (color.m_shadow_contrast > 200)
  604.                     {
  605.                         color.m_shadow_contrast = 200;
  606.                     }
  607.                 }
  608.  
  609.                 {
  610.                     float base_y = 480.0f;
  611.  
  612.                     Rect label_rect = new Rect(control_x, base_y, control_width, 20.0f);
  613.  
  614.                     GUI.Label(label_rect, "影率:" + color.m_shadow_rate);
  615.  
  616.                     Rect slider_rect = new Rect(control_x, base_y + 20.0f, control_width, 20.0f);
  617.  
  618.                     color.m_shadow_rate = (int)GUI.HorizontalSlider(slider_rect, (float)color.m_shadow_rate, 0.0f, 255.0f);
  619.  
  620.                     Rect button_m1_rect = new Rect(control_x, base_y + 40.0f, 40.0f, 20.0f);
  621.  
  622.                     if (GUI.Button(button_m1_rect, "-1"))
  623.                     {
  624.                         color.m_shadow_rate -= 1;
  625.                     }
  626.  
  627.                     Rect button_p1_rect = new Rect(control_x + 45.0f, base_y + 40.0f, 40.0f, 20.0f);
  628.  
  629.                     if (GUI.Button(button_p1_rect, "+1"))
  630.                     {
  631.                         color.m_shadow_rate += 1;
  632.                     }
  633.  
  634.                     Rect button_m10_rect = new Rect(control_x + 90.0f, base_y + 40.0f, 40.0f, 20.0f);
  635.  
  636.                     if (GUI.Button(button_m10_rect, "-10"))
  637.                     {
  638.                         color.m_shadow_rate -= 10;
  639.                     }
  640.  
  641.                     Rect button_p10_rect = new Rect(control_x + 135.0f, base_y + 40.0f, 40.0f, 20.0f);
  642.  
  643.                     if (GUI.Button(button_p10_rect, "+10"))
  644.                     {
  645.                         color.m_shadow_rate += 10;
  646.                     }
  647.  
  648.                     if (color.m_shadow_rate < 0)
  649.                     {
  650.                         color.m_shadow_rate = 0;
  651.                     }
  652.  
  653.                     if (color.m_shadow_rate > 255)
  654.                     {
  655.                         color.m_shadow_rate = 255;
  656.                     }
  657.                 }
  658.  
  659.                 GUI.EndScrollView();
  660.             }
  661.  
  662.             GUI.EndGroup();
  663.  
  664.             if ((m_color_palette_ctrl != null) && (!color.equals(m_color)))
  665.             {
  666.                 MaidParts.PartsColor c;
  667.  
  668.                 c.m_bUse = true;
  669.                 c.m_nMainHue = color.m_main_hue;
  670.                 c.m_nMainChroma = color.m_main_chroma;
  671.                 c.m_nMainBrightness = color.m_main_brightness;
  672.                 c.m_nMainContrast = color.m_main_contrast;
  673.                 c.m_nShadowHue = color.m_shadow_hue;
  674.                 c.m_nShadowChroma = color.m_shadow_chroma;
  675.                 c.m_nShadowBrightness = color.m_shadow_brightness;
  676.                 c.m_nShadowContrast = color.m_shadow_contrast;
  677.                 c.m_nShadowRate = color.m_shadow_rate;
  678.  
  679.                 if (m_set_parts_color != null)
  680.                 {
  681.                     m_set_parts_color.Invoke(m_color_palette_ctrl, new object[] { c });
  682.                 }
  683.  
  684.                 m_color_palette_ctrl.LoadPaletteData(c);
  685.  
  686.                 if (m_set_parts_color != null)
  687.                 {
  688.                     m_set_parts_color.Invoke(m_color_palette_ctrl, new object[] { c });
  689.                 }
  690.  
  691.                 m_color_palette_ctrl.LoadPaletteData(c);
  692.  
  693.                 m_color = color;
  694.             }
  695.         }
  696.  
  697.         private int get_layout_margin()
  698.         {
  699.             float screen_rate = (float)Screen.height / (float)Screen.width;
  700.  
  701.             float layout_rate = 9.0f / 16.0f;
  702.  
  703.             if (screen_rate <= layout_rate)
  704.             {
  705.                 return 0;
  706.             }
  707.  
  708.             return (Screen.height - (int)((float)Screen.width * layout_rate)) / 2;
  709.         }
  710.  
  711.         private float get_layout_rate()
  712.         {
  713.             return (float)Screen.width / 1280.0f;
  714.         }
  715.     }
  716. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement