123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- using System;
- using System.Collections.Generic;
- using UnityEngine;
- public class OnaholeNodeMenuChildSecondRow : OnaholeBaseNodeMenuManager
- {
- private void Awake()
- {
- this.Clear();
- }
- public void Clear()
- {
- this.isInputEnabled = (this.sliderInputMode = false);
- this.changeInput = -1;
- this.ClearButtonObject();
- this.mode = OnaholeNodeMenuChildSecondRow.Mode.SkillCategorySelect;
- }
- public void CallMenu(OnaholeNodeMenuChildSecondRow.Mode mode)
- {
- this.mode = mode;
- this.ClearButtonObject();
- if (mode == OnaholeNodeMenuChildSecondRow.Mode.StageSelect)
- {
- this.CallStageSlect();
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.SkillCategorySelect)
- {
- this.CallSkillCategorySelect();
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.Costume)
- {
- this.CallCostumeSetting();
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.DeviceSetting)
- {
- this.CallChuBLipSetting();
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.MaidSensitivity)
- {
- this.CallMaidSensitivitySetting();
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.PistonSetting)
- {
- this.CallPistonSetting();
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.ManAlpha)
- {
- this.CallManAlphaSetting();
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.AutoMode)
- {
- this.CallGeneralBoolControl(this.nodeMenuManager.autoPistonEnabled);
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.AutoFinish)
- {
- this.CallGeneralBoolControl(this.nodeMenuManager.autoFinishEnabled);
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.AutoReaction)
- {
- this.CallGeneralBoolControl(this.nodeMenuManager.autoReaction);
- }
- else if (mode == OnaholeNodeMenuChildSecondRow.Mode.YotogiEnd)
- {
- this.CallYotogiEnd();
- }
- if (mode != OnaholeNodeMenuChildSecondRow.Mode.Costume)
- {
- this.menuButtonGrid.Reposition();
- }
- this.changeInput = 1;
- }
- private void CallStageSlect()
- {
- }
- public void CallSkillCategorySelect()
- {
- }
- private void CallCostumeSetting()
- {
- Action enterEvent = delegate()
- {
- UndressingManager.UndressingData undressingData = this.nodeMenuManager.undressingManager.GetUndressingData((UndressingManager.UnitType)Enum.Parse(typeof(UndressingManager.UnitType), base.selectedNodeButton.button.uniqueName));
- this.nodeMenuManager.undressingManager.OnClickButton(undressingData);
- };
- GameObject gameObject = this.menuButtonGrid.gameObject;
- foreach (UndressingManager.UnitData unitData in this.nodeMenuManager.undressingManager.UnitDataList)
- {
- OnaholeNodeIconButton onaholeNodeIconButton = base.CreateNodeIconMenu(gameObject, unitData.UnitType.ToString());
- onaholeNodeIconButton.SetCopyTargetSprite(unitData.ButtonObject.GetComponent<UISprite>());
- onaholeNodeIconButton.selectType = ((!unitData.ButtonObject.isEnabled) ? OnaholeNodeButton.SelectType.Disable : OnaholeNodeButton.SelectType.Focus);
- this.menuButtons.Add(new NodeButtonData(onaholeNodeIconButton, enterEvent));
- }
- base.SetFocusButton(this.menuButtons[0]);
- this.menuButtonGrid.arrangement = UIGrid.Arrangement.Horizontal;
- this.menuButtonGrid.cellWidth = (this.menuButtonGrid.cellHeight = 115f);
- this.menuButtonGrid.maxPerLine = 3;
- this.menuButtonGrid.Reposition();
- this.operationMap = new List<List<NodeButtonData>>();
- for (int i = 0; i < this.menuButtonGrid.maxPerLine; i++)
- {
- this.operationMap.Add(new List<NodeButtonData>());
- }
- int num = 0;
- foreach (NodeButtonData item in this.menuButtons)
- {
- List<NodeButtonData> list = this.operationMap[num];
- list.Add(item);
- num++;
- if (this.operationMap.Count <= num)
- {
- num = 0;
- }
- }
- this.menuButtonGrid.cellWidth = 0f;
- this.menuButtonGrid.arrangement = UIGrid.Arrangement.Vertical;
- this.menuButtonGrid.maxPerLine = 0;
- }
- private void CallChuBLipSetting()
- {
- GameObject gameObject = this.menuButtonGrid.gameObject;
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateNodeSlider(gameObject, OnaholeNodeSlider.SliderType.Sensitivity, "Sensitivity"), new Action(this.StartSliderInputMode)));
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateNodeSlider(gameObject, OnaholeNodeSlider.SliderType.HoleSync, "HoleSync"), new Action(this.StartSliderInputMode)));
- base.SetFocusButton(this.menuButtons[0]);
- this.menuButtonGrid.cellHeight = (float)this.kGridCellHeightSliderItem;
- }
- private void CallMaidSensitivitySetting()
- {
- GameObject gameObject = this.menuButtonGrid.gameObject;
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateNodeSlider(gameObject, OnaholeNodeSlider.SliderType.MaidSensitivity, "MaidSensitivity"), new Action(this.StartSliderInputMode)));
- base.SetFocusButton(this.menuButtons[0]);
- this.menuButtonGrid.cellHeight = (float)this.kGridCellHeightSliderItem;
- }
- private void CallPistonSetting()
- {
- GameObject gameObject = this.menuButtonGrid.gameObject;
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateNodeSlider(gameObject, OnaholeNodeSlider.SliderType.HoleAutoSpeed, "HoleAutoSpeed"), new Action(this.StartSliderInputMode)));
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateNodeSlider(gameObject, OnaholeNodeSlider.SliderType.HoleAutoInsertStartPos, "HoleAutoInsertStartPos"), new Action(this.StartSliderInputMode)));
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateNodeSlider(gameObject, OnaholeNodeSlider.SliderType.HoleAutoInsertEndPos, "HoleAutoInsertEndPos"), new Action(this.StartSliderInputMode)));
- base.SetFocusButton(this.menuButtons[0]);
- this.menuButtonGrid.cellHeight = (float)this.kGridCellHeightSliderItem;
- }
- private void CallManAlphaSetting()
- {
- GameObject gameObject = this.menuButtonGrid.gameObject;
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateNodeSlider(gameObject, OnaholeNodeSlider.SliderType.ManAlpha, "ManAlpha"), new Action(this.StartSliderInputMode)));
- base.SetFocusButton(this.menuButtons[0]);
- this.menuButtonGrid.cellHeight = (float)this.kGridCellHeightSliderItem;
- }
- private void CallGeneralBoolControl(bool currentValue)
- {
- Action enterEvent = delegate()
- {
- this.OnCancelMenu();
- };
- GameObject gameObject = this.menuButtonGrid.gameObject;
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateBasicNodeButton(gameObject, "ON", "true", true, false), enterEvent));
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateBasicNodeButton(gameObject, "OFF", "false", true, false), enterEvent));
- base.SetFocusButton((!currentValue) ? this.menuButtons[1] : this.menuButtons[0]);
- this.menuButtonGrid.cellHeight = (float)this.kGridCellHeightButtonItem;
- }
- private void CallYotogiEnd()
- {
- Action enterEvent = delegate()
- {
- if (bool.Parse(base.selectedNodeButton.button.uniqueName))
- {
- this.nodeMenuManager.EndYotogi();
- }
- else
- {
- this.OnCancelMenu();
- }
- this.isInputEnabled = false;
- };
- GameObject gameObject = this.menuButtonGrid.gameObject;
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateBasicNodeButton(gameObject, "OK", "true", true, false), enterEvent));
- this.menuButtons.Add(new NodeButtonData(OnaholeBaseNodeMenuManager.CreateBasicNodeButton(gameObject, "CANCEL", "false", true, false), enterEvent));
- base.SetFocusButton(this.menuButtons[1]);
- this.menuButtonGrid.cellHeight = (float)this.kGridCellHeightButtonItem;
- }
- private void StartSliderInputMode()
- {
- NodeButtonData selectedNodeButton = base.selectedNodeButton;
- base.SetSelectedButton(selectedNodeButton);
- this.sliderInputMode = true;
- }
- public void ReturnMenu()
- {
- if (base.selectedNodeButton != null)
- {
- base.selectedNodeButton.button.selectType = OnaholeNodeButton.SelectType.Focus;
- }
- this.changeInput = 1;
- }
- protected override void OnEnterMenu()
- {
- base.OnEnterMenu();
- if (base.selectedNodeButton != null)
- {
- base.selectedNodeButton.enterEvent();
- }
- }
- protected override void OnCancelMenu()
- {
- base.OnCancelMenu();
- if (base.selectedNodeButton != null)
- {
- string uniqueName = base.selectedNodeButton.button.uniqueName;
- if (this.mode == OnaholeNodeMenuChildSecondRow.Mode.AutoMode)
- {
- this.nodeMenuManager.autoPistonEnabled = bool.Parse(uniqueName);
- }
- else if (this.mode == OnaholeNodeMenuChildSecondRow.Mode.AutoFinish)
- {
- this.nodeMenuManager.autoFinishEnabled = bool.Parse(uniqueName);
- }
- else if (this.mode == OnaholeNodeMenuChildSecondRow.Mode.AutoReaction)
- {
- this.nodeMenuManager.autoReaction = bool.Parse(uniqueName);
- }
- }
- this.isInputEnabled = false;
- this.ClearButtonObject();
- this.nodeMenuManager.ReturnMenu();
- }
- private void ClearButtonObject()
- {
- Transform transform = this.menuButtonGrid.transform;
- GameObject[] array = new GameObject[transform.childCount];
- for (int i = 0; i < transform.childCount; i++)
- {
- array[i] = transform.GetChild(i).gameObject;
- }
- for (int j = 0; j < array.Length; j++)
- {
- UnityEngine.Object.DestroyImmediate(array[j]);
- }
- transform.DetachChildren();
- this.menuButtons.Clear();
- this.operationMap.Clear();
- }
- protected override void Update()
- {
- if (this.sliderInputMode)
- {
- NodeButtonData selectedNodeButton = base.selectedNodeButton;
- OnaholeNodeSlider onaholeNodeSlider = selectedNodeButton.button as OnaholeNodeSlider;
- if (onaholeNodeSlider != null)
- {
- if (base.inputRightKye)
- {
- onaholeNodeSlider.sliderValue += 0.1f;
- }
- else if (base.inputLeftKey)
- {
- onaholeNodeSlider.sliderValue -= 0.1f;
- }
- else if (base.inputCancelKey)
- {
- base.SetFocusButton(selectedNodeButton);
- this.sliderInputMode = false;
- base.OnCancelMenu();
- }
- else if (base.inputEnterKey)
- {
- base.SetFocusButton(selectedNodeButton);
- this.sliderInputMode = false;
- base.OnEnterMenu();
- }
- }
- }
- else if (this.mode != OnaholeNodeMenuChildSecondRow.Mode.Costume)
- {
- if (base.inputDownKey)
- {
- base.NextItem();
- }
- else if (base.inputUpKey)
- {
- base.PrevItem();
- }
- else if (base.inputEnterKey || base.inputRightKye)
- {
- this.OnEnterMenu();
- }
- else if (base.inputCancelKey || base.inputLeftKey)
- {
- this.OnCancelMenu();
- }
- }
- else if (base.inputDownKey)
- {
- base.NextItem();
- }
- else if (base.inputUpKey)
- {
- base.PrevItem();
- }
- else if (base.inputRightKye)
- {
- base.RightItem();
- }
- else if (base.inputLeftKey)
- {
- bool flag = false;
- int num = 0;
- while (num < this.operationMap[0].Count && !flag)
- {
- NodeButtonData nodeButtonData = this.operationMap[0][num];
- if (nodeButtonData.button.selectType == OnaholeNodeButton.SelectType.Focus || nodeButtonData.button.selectType == OnaholeNodeButton.SelectType.Select)
- {
- flag = true;
- }
- num++;
- }
- if (flag)
- {
- this.OnCancelMenu();
- }
- else
- {
- base.LeftItem();
- }
- }
- else if (base.inputEnterKey)
- {
- this.OnEnterMenu();
- }
- else if (base.inputCancelKey)
- {
- this.OnCancelMenu();
- }
- if (this.changeInput != -1)
- {
- this.isInputEnabled = (this.changeInput == 1);
- }
- this.changeInput = -1;
- }
- private readonly int kGridCellHeightButtonItem = 45;
- private readonly int kGridCellHeightSliderItem = 100;
- [SerializeField]
- public OnaholeNodeMenuManager nodeMenuManager;
- [SerializeField]
- private OnaholeNodeMenuChildThirdRow thirdRow;
- private OnaholeNodeMenuChildSecondRow.Mode mode;
- private int changeInput;
- private bool sliderInputMode;
- public enum Mode
- {
- StageSelect,
- SkillCategorySelect,
- Costume,
- DeviceSetting,
- MaidSensitivity,
- PistonSetting,
- ManAlpha,
- AutoMode,
- AutoFinish,
- AutoReaction,
- YotogiEnd
- }
- }
|