/// <summary> /// 表示を設定します /// </summary> protected override void DoSetDisp(object creator) { var tabIndex = m_selectedTabIndex.Value; var isReverse = m_isSort.Value; var data = new ListCreateData ( debugMenuScene: DebugMenuScene, gameObject: gameObject, target: this, searchFieldUI: m_searchFieldUI, tabIndex: tabIndex, isReverse: isReverse ); m_creator = creator as IListCreator <ActionData>; m_creator.Create(data); m_sortButtonUI.SetDisp(isReverse); m_tabButtonUIList.SetDisp(tabIndex, m_creator.TabNameList); m_optionButtonUIList.SetDisp(m_creator.OptionActionList); m_view.SetDisp(m_creator); m_emptyTextUI.SetActive(m_creator.IsEmpty); m_optionButtonUIList.mOnComplete = optionData => OpenToastUI($"{optionData.Text} 完了"); m_view.mOnComplete = (elemData, elemIndex) => OpenToastUI($"{elemData.Text} 完了"); }
/// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = m_sourceList .Where(c => data.IsMatch(c.m_text)) .ToArray() .ReverseIf(data.IsReverse) ; }
/// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = m_sourceList .Where(c => data.IsMatch(c.m_text)) // 検索にヒットしたかどうか .ToArray() .ReverseIf(data.IsReverse) // 逆順にするかどうか ; }
//============================================================================== // 関数 //============================================================================== /// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = ToText() .Split('\n') .Where(c => data.IsMatch(c)) .Select(c => new ActionData(c)) .ToArray() .ReverseIf(data.IsReverse) ; }
/// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = m_sourceList .Where(c => data.IsMatch(c.Text)) .ToArray() ; if (data.IsReverse) { Array.Reverse(m_list); } }
//============================================================================== // 関数 //============================================================================== /// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = CrashReport.reports .Take(CrashReport.reports.Length - 1) // 末尾のレポートが重複していたので無視 .OrderByDescending(c => c.time) .Select(c => new CrashData(c)) .Where(c => data.IsMatch(c.m_time, c.m_summary)) .Select(c => new ActionData(c.m_listText, () => OpenAdd(DMType.TEXT_TAB_6, new SimpleTextListDataCreator(c.m_detailText)))) .ToArray() .ReverseIf(data.IsReverse) ; }
/// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { var tabType = ( TabType )data.TabIndex; var isAll = tabType == 0; m_list = m_sourceList .Where(c => isAll || c.m_tabType == tabType) .Select(c => c.m_data) .Where(c => data.IsMatch(c.m_getText())) .ToArray() .ReverseIf(data.IsReverse) ; }
/// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = m_history .Where(x => data.IsMatch(x.Path, x.LoadSceneMode.ToString())) .Select((val, index) => new ActionData($"{( index + 1 ).ToString()},{val.Name},{val.LoadSceneMode.ToString()}")) .ToArray() ; if (data.IsReverse) { Array.Reverse(m_list); } }
//============================================================================== // 関数 //============================================================================== /// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { /* * http://baba-s.hatenablog.com/entry/2019/03/13/214323 * ゲームオブジェクトを順番に並べるために * Resources.FindObjectsOfTypeAll ではなく * GameObject.FindObjectsOfType を使用しています */ m_list = GameObject .FindObjectsOfType <GameObject>() .Where(c => c.transform.parent == null) .SelectMany(c => c.GetComponentsInChildren <Transform>(true)) .Select(c => c.gameObject) .Select((val, index) => new GameObjectData(index, val)) .Where(c => data.IsMatch(c.Text)) .Select(c => { var elemData = new CommandData ( () => c.Text, new ActionData("詳細", () => { var components = c.m_gameObject .GetComponents <MonoBehaviour>() .Select(behaviour => JsonUtility.ToJson(behaviour, true)) ; var infoText = string.Join("\n", components); OpenAdd(DMType.TEXT_TAB_6, new SimpleTextListDataCreator(infoText)); }), new ActionData("削除", () => { c.Destroy(); Refresh(); }), new ActionData("アクティブ\n切り替え", () => { c.ToggleActive(); Refresh(); }) ) { IsLeft = true, }; return(elemData); }) .ToArray() .ReverseIf(data.IsReverse) ; }
//============================================================================== // 関数 //============================================================================== /// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = Resources .FindObjectsOfTypeAll <T>() .Where(c => (c.hideFlags & HideFlags.NotEditable) == 0) .Where(c => (c.hideFlags & HideFlags.HideAndDontSave) == 0) .Select(c => new LoadedData(c)) .Where(c => data.IsMatch(c.m_text)) .OrderByDescending(c => c.m_size) .Select(c => new ActionData(c.m_text)) .ToArray() .ReverseIf(data.IsReverse) ; }
//============================================================================== // 関数 //============================================================================== /// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = ToText() .Split('\n') .Where(x => data.IsMatch(x)) .Select(x => new ActionData(x)) .ToArray() ; if (data.IsReverse) { Array.Reverse(m_list); } }
/// <summary> /// 表示を設定します /// </summary> protected override void DoSetDisp(object creator) { var tabIndex = m_selectedTabIndex.Value; var isReverse = m_isSort.Value; var data = new ListCreateData ( debugMenuScene: DebugMenuScene, gameObject: gameObject, target: this, searchFieldUI: m_searchFieldUI, tabIndex: tabIndex, isReverse: isReverse ); m_creator = creator as IListCreator <CommandData>; m_creator.Create(data); m_sortButtonUI.SetDisp(isReverse); m_tabButtonUIList.SetDisp(tabIndex, m_creator.TabNameList); m_optionButtonUIList.SetDisp(m_creator.OptionActionList); m_view.SetDisp(m_creator); m_emptyTextUI.SetActive(m_creator.IsEmpty); m_optionButtonUIList.mOnComplete = optionData => OpenToastUI($"{optionData.m_text} 完了"); m_view.mOnComplete = (elemData, elemIndex) => { var text = elemData.m_getText(); var isInput = elemIndex == 0; var isToggle = elemIndex == 1; if (isInput) { OpenToastUI($"[{text}] [送信] 完了"); } else if (isToggle) { var isOn = elemData.m_toggleActionData.m_getter(); var result = isOn ? "オン" : "オフ"; OpenToastUI($"[{text}] [{result}] 完了"); } else { OpenToastUI($"[{text}] [{elemData.m_actionDataList[ elemIndex - 2 ].m_text}] 完了"); } }; }
/// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { var tabIndex = data.TabIndex; var tabType = ( TabType )tabIndex; var isAll = tabType == TabType.ALL; m_list = m_logList .Where(c => isAll || c.m_type == tabType) .SelectMany(c => c.ToSimpleLogList()) .Where(c => data.IsMatch(c.m_fullCondition)) .Select(c => new ActionData(c.m_message, () => OpenAdd(DMType.TEXT_TAB_6, new SimpleTextListDataCreator(c.ToString())))) .ToArray() .ReverseIf(data.IsReverse) ; }
//============================================================================== // 関数 //============================================================================== /// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = CrashReport.reports .Take(CrashReport.reports.Length - 1) // 末尾のレポートが重複していたので無視 .OrderByDescending(x => x.time) .Select(x => new CrashData(x)) .Where(x => data.IsMatch(x.Time, x.Summary)) .Select(x => new ActionData(x.ListText, () => OpenAdd(DMType.TEXT_TAB_6, new SimpleInfoCreator(x.DetailText)))) .ToArray() ; if (data.IsReverse) { Array.Reverse(m_list); } }
//============================================================================== // 関数 //============================================================================== /// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { m_list = Resources .FindObjectsOfTypeAll <T>() .Where(x => (x.hideFlags & HideFlags.NotEditable) == 0) .Where(x => (x.hideFlags & HideFlags.HideAndDontSave) == 0) .Select(x => new LoadedData(x)) .Where(x => data.IsMatch(x.Text)) .OrderByDescending(x => x.Size) .Select(x => new ActionData(x.Text)) .ToArray() ; if (data.IsReverse) { Array.Reverse(m_list); } }
/// <summary> /// リストの表示に使用するデータを作成します /// </summary> protected override void DoCreate(ListCreateData data) { var tabIndex = data.TabIndex; var tabType = ( TabType )tabIndex; var isAll = tabType == TabType.ALL; var extraTagData = ExtraTagDatas?.ElementAtOrDefault(tabIndex - ( int )TabType.LENGTH); var isExistExtraTagData = extraTagData != null; var extraTagSearchText = isExistExtraTagData ? extraTagData.SearchText : string.Empty; m_list = m_logList .Where(x => isAll || x.Type == tabType || isExistExtraTagData && x.FullCondition.Contains(extraTagSearchText)) .SelectMany(x => x.ToSimpleLogList(MaxCharacterCountPerLine)) .Where(x => data.IsMatch(x.FullCondition)) .Select(x => new ActionData(x.Message, () => OpenAdd(DMType.TEXT_TAB_6, new SimpleInfoCreator(x.ToString(), MaxCharacterCountPerLine)))) .ToArray() ; if (data.IsReverse) { Array.Reverse(m_list); } }