using System; using System.Collections.Generic; using UnityEngine; public class PresetMgr : BaseMgr { private void Start() { this.Init(); } private void Init() { UIRoot componentInParent = base.GetComponentInParent(); NDebug.Assert(componentInParent != null, "UI Rootがみつかりません。"); this.m_goPresetPanel = componentInParent.transform.Find("PresetPanel").gameObject; if (this.m_goPresetPanel == null) { NDebug.Assert(string.Format("{0}が見つかりませんでした", "PresetPanel"), false); return; } this.m_presetCtrl = this.m_goPresetPanel.GetComponent(); NDebug.Assert(this.m_presetCtrl != null, "PresetCtrlコンポーネントがみつかりません。"); GameMain instance = GameMain.Instance; NDebug.Assert(instance != null, "GameMainがありません。"); Maid maid = instance.CharacterMgr.GetMaid(0); NDebug.Assert(maid != null, "メイド0が居ません。"); this.m_presetCtrl.Init(this.m_goPresetPanel, maid); this.m_goPresetPanel.SetActive(false); } public void OpenPresetPanel() { this.m_presetCtrl.InitFilterButtonActive(PresetMgr.m_currentActiveFilterBtnName); PresetMgr.m_currentActiveFilterBtnName = PresetMgr.Filter.NotFilter; this.listPre = GameMain.Instance.CharacterMgr.PresetListLoad(); Resources.UnloadUnusedAssets(); this.m_goPresetPanel.SetActive(true); this.m_presetCtrl.CreatePresetList(this.listPre); } public void UpdatePresetList() { List listPreset = GameMain.Instance.CharacterMgr.PresetListLoad(); Resources.UnloadUnusedAssets(); this.m_presetCtrl.CreatePresetList(listPreset); } public void ClosePresetPanel() { this.m_presetCtrl.InitFilterButtonActive(PresetMgr.m_currentActiveFilterBtnName); this.m_goPresetPanel.SetActive(false); Resources.UnloadUnusedAssets(); } public void ClickPreset() { if (GameMain.Instance.CharacterMgr.GetMaid(0).IsBusy) { return; } string name = UIButton.current.name; if (UICamera.currentTouchID == -1) { this.currentPreset = name; this.m_presetCtrl.PresetSet(); } if (UICamera.currentTouchID == -2) { this.m_presetCtrl.DeletePreset(name); } } public void ClickFilterPreset() { string name = UIButton.current.name; if (!Enum.IsDefined(typeof(PresetMgr.Filter), name)) { Debug.LogError(string.Format("不適切なボタンがクリックされました。クリックされたボタン名={0}", name)); return; } PresetMgr.Filter filter = (PresetMgr.Filter)Enum.Parse(typeof(PresetMgr.Filter), name); if (filter != PresetMgr.m_currentActiveFilterBtnName) { this.ClickFilterPresetByEnum(filter); } } public void ClickFilterPresetByEnum(PresetMgr.Filter clickBtnName) { this.m_presetCtrl.FilterPreset(clickBtnName, PresetMgr.m_currentActiveFilterBtnName); PresetMgr.m_currentActiveFilterBtnName = clickBtnName; } public void UpdateFilterPreset(PresetMgr.Filter btnName) { this.m_presetCtrl.FilterPreset(btnName, PresetMgr.Filter.None, false); } public float GetScrollBarValue() { return this.m_presetCtrl.GetScrollBarValue(); } public void SetScrollBar(float scrollBarValue) { this.m_presetCtrl.SetScrollBar(scrollBarValue); } private GameObject m_goPresetPanel; private PresetCtrl m_presetCtrl; private const int LeftClick = -1; private const int RightClick = -2; private string currentPreset; public static PresetMgr.Filter m_currentActiveFilterBtnName = PresetMgr.Filter.None; private List listPre; public enum Filter { None = -1, NotFilter, All, Wear, Body } }