private void clear()
        {
            m_current_level = -1;
              m_color_palette_panel = null;
              m_color_palette_ctrl = null;

              m_is_visible = false;
              m_current_parts = -2;
              m_current_color_tab = -1;
              m_current_eye_parts_tab = -1;

              m_color_value.clear();
              m_control_color_value.clear();

              m_scroll_position = Vector2.zero;

              m_color_information_switch = false;
              m_color_edit_switch = false;

              m_color_edit_setting_switch = new bool[2];
              for(int i = 0; i < m_color_edit_setting_switch.Length; i++)
              {
            m_color_edit_setting_switch[i] = false;
              }

              m_color_edit_color_switch = new bool[2];
              for(int i = 0; i < m_color_edit_color_switch.Length; i++)
              {
            m_color_edit_color_switch[i] = false;
              }

              m_color_edit_control_switch = new bool[5];
              for(int i = 0; i < m_color_edit_control_switch.Length; i++)
              {
            m_color_edit_control_switch[i] = false;
              }

              m_random_edit_switch = false;
              m_random_edit_control_switch = new bool[9];
              for(int i = 0; i < m_random_edit_control_switch.Length; i++)
              {
            m_random_edit_control_switch[i] = false;
              }

              m_utility_edit_switch = false;
              m_utility_edit_control_switch = new bool[3];
              for(int i = 0; i < m_utility_edit_control_switch.Length; i++)
              {
            m_utility_edit_control_switch[i] = false;
              }

              m_other_setting_switch = false;
              m_other_setting_control_switch = new bool[1];
              for(int i = 0; i < m_other_setting_control_switch.Length; i++)
              {
            m_other_setting_control_switch[i] = false;
              }
        }
        public void Update()
        {
            if(is_scene_edit_level())
              {
            return;
              }

              if(m_color_palette_panel == null)
              {
            m_color_palette_panel = GameObject.Find("UI Root/ColorPalettePanel");
              }

              if((m_color_palette_panel != null) && (m_color_palette_ctrl == null))
              {
            m_color_palette_ctrl = m_color_palette_panel.GetComponent<ColorPaletteCtrl>();
              }

              if(is_available() == false)
              {
            return;
              }

              bool is_visible;

              if(ConfigMgr.Instance.IsOpenConfigPanel())
              {
            is_visible = false;
              }
              else
              {
            is_visible = m_color_palette_panel.activeInHierarchy;
              }

              if(is_visible == false)
              {
            m_is_visible = is_visible;

            return;
              }

              if((is_visible != m_is_visible) || ((int)ColorPaletteState.m_eCurrentParts != m_current_parts) || ((int)ColorPaletteState.m_eCurrentColorTab != m_current_color_tab) || ((int)ColorPaletteState.m_eCurrentEyePartsTab != m_current_eye_parts_tab))
              {
            update_color_palette(COLOR_VALUE.FromPartsColor((MaidParts.PartsColor)m_get_parts_color.Invoke(m_color_palette_ctrl, null)));

            m_control_color_value = m_color_value;
              }
              else
              {
            COLOR_VALUE color_value = COLOR_VALUE.FromPartsColor((MaidParts.PartsColor)m_get_parts_color.Invoke(m_color_palette_ctrl, null));

            if(color_value.equals(m_color_value) == false)
            {
              m_color_value = color_value;

              m_control_color_value = color_value;
            }
              }

              m_is_visible = is_visible;
              m_current_parts = (int)ColorPaletteState.m_eCurrentParts;
              m_current_color_tab = (int)ColorPaletteState.m_eCurrentColorTab;
              m_current_eye_parts_tab = (int)ColorPaletteState.m_eCurrentEyePartsTab;

              {
            bool state;

            if(m_other_setting_control_switch[0] != false)
            {
              state = calculate_window_rect().Contains(new Vector2(Input.mousePosition.x, (Screen.height - 1) - Input.mousePosition.y)) == false;
            }
            else
            {
              state = true;
            }

            if(GameMain.Instance.MainCamera.GetControl() != state)
            {
              GameMain.Instance.MainCamera.SetControl(state);
            }

            if(UICamera.InputEnable != state)
            {
              UICamera.InputEnable = state;
            }
              }
        }