514 lines
24 KiB
C#
514 lines
24 KiB
C#
/*
|
||
* @Author: 白哉
|
||
* @Description: 成就 编辑器
|
||
* @Date: 2025年04月22日 星期二 15:04:14
|
||
* @Modify:
|
||
*/
|
||
|
||
|
||
using System.Collections.Generic;
|
||
using Logic.Achievement;
|
||
using NUnit.Framework;
|
||
using RuntimeData;
|
||
using UnityEditor;
|
||
using UnityEngine;
|
||
|
||
|
||
namespace Logic.Editor
|
||
{
|
||
public class AchievementEditorWindow : EditorWindow
|
||
{
|
||
// 滑条
|
||
private Vector2 _barPosition;
|
||
|
||
// 背景
|
||
private GUIStyle _redBoxStyle;
|
||
private GUIStyle _whiteBoxStyle;
|
||
|
||
private AchievementAsset _asset;
|
||
|
||
private uint _bigID;
|
||
private uint _smallID;
|
||
private uint _internalID;
|
||
|
||
private Dictionary<uint, bool> _showItem;
|
||
private List<AchievementItem> _itemList;
|
||
|
||
|
||
[MenuItem("Tools/成就编辑器")]
|
||
private static void ShowWindow()
|
||
{
|
||
var window = CreateWindow<AchievementEditorWindow>();
|
||
window.titleContent = new GUIContent("成就编辑器");
|
||
window.Show();
|
||
window.minSize = new Vector2(500, 600);
|
||
}
|
||
|
||
protected virtual void OnEnable()
|
||
{
|
||
|
||
}
|
||
|
||
private void OnDisable()
|
||
{
|
||
|
||
}
|
||
|
||
private void OnGUI()
|
||
{
|
||
_showItem ??= new Dictionary<uint, bool>();
|
||
if (!_asset)
|
||
{
|
||
var path = $"Assets/Resources/DataAssets/Achievement.asset";
|
||
_asset = AssetDatabase.LoadAssetAtPath<AchievementAsset>(path);
|
||
if (!_asset)
|
||
{
|
||
_asset = CreateInstance<AchievementAsset>();
|
||
AssetDatabase.CreateAsset(_asset, path);
|
||
AssetDatabase.SaveAssets();
|
||
AssetDatabase.Refresh();
|
||
}
|
||
}
|
||
if (_redBoxStyle == null)
|
||
{
|
||
_redBoxStyle = InspectorUtils.GetHelpBoxStyle();
|
||
InspectorUtils.AddBorder(_redBoxStyle, new Color(0.5f, 0.4f, 0.4f, 0.6f));
|
||
}
|
||
if (_whiteBoxStyle == null)
|
||
{
|
||
_whiteBoxStyle = InspectorUtils.GetHelpBoxStyle();
|
||
InspectorUtils.AddBorder(_whiteBoxStyle, new Color(1f, 1f, 1f, 0.2f));
|
||
}
|
||
|
||
GUI.skin.button.wordWrap = true;
|
||
_barPosition = EditorGUILayout.BeginScrollView(_barPosition);
|
||
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("保存"))
|
||
{
|
||
EditorUtility.SetDirty(_asset);
|
||
AssetDatabase.SaveAssets();
|
||
AssetDatabase.Refresh();
|
||
}
|
||
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("清空"))
|
||
{
|
||
foreach (var item in _itemList)
|
||
{
|
||
_asset.Data.AchievementList.Remove(item);
|
||
}
|
||
}
|
||
if (Application.isPlaying && InspectorUtils.InspectorButtonWithTextWidth("清空成就完成情况(运行时)"))
|
||
{
|
||
AchievementDataManager.Instance.Achievement.ClearAchievementFinishedInfo();
|
||
AchievementDataManager.Instance.SaveAchievementData();
|
||
}
|
||
if (_bigID != 0 && _smallID != 0)
|
||
{
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("增加一条成就"))
|
||
{
|
||
_asset.Data.AddNewAchievementItem(_bigID, _smallID);
|
||
}
|
||
}
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("刷新排序"))
|
||
{
|
||
_asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID));
|
||
}
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("全选"))
|
||
{
|
||
var keys = new List<uint>();
|
||
foreach (var key in _showItem.Keys)keys.Add(key);
|
||
foreach (var key in keys) _showItem[key] = true;
|
||
}
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("全不选"))
|
||
{
|
||
var keys = new List<uint>();
|
||
foreach (var key in _showItem.Keys)keys.Add(key);
|
||
foreach (var key in keys) _showItem[key] = false;
|
||
}
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("批量创建伟人成就"))
|
||
{
|
||
var giantList = new List<GiantType>();
|
||
giantList.Add(GiantType.EgyptianRemilia);
|
||
giantList.Add(GiantType.EgyptianPatchouli);
|
||
giantList.Add(GiantType.EgyptianSakuya);
|
||
giantList.Add(GiantType.EgyptianFlandre);
|
||
giantList.Add(GiantType.EgyptianMeiling);
|
||
|
||
giantList.Add(GiantType.FrenchKaguya);
|
||
giantList.Add(GiantType.FrenchEirin);
|
||
giantList.Add(GiantType.FrenchInaba);
|
||
giantList.Add(GiantType.FrenchReisen);
|
||
giantList.Add(GiantType.FrenchMokou);
|
||
|
||
giantList.Add(GiantType.GermanyKanako);
|
||
giantList.Add(GiantType.GermanySuwako);
|
||
giantList.Add(GiantType.GermanySanae);
|
||
giantList.Add(GiantType.GermanyAya);
|
||
giantList.Add(GiantType.GermanyNitori);
|
||
|
||
giantList.Add(GiantType.IndianSatori);
|
||
giantList.Add(GiantType.IndianKoishi);
|
||
giantList.Add(GiantType.IndianRin);
|
||
giantList.Add(GiantType.IndianYuugi);
|
||
giantList.Add(GiantType.IndianUtsuho);
|
||
|
||
for (int i = 0; i < giantList.Count; i++)
|
||
{
|
||
var item = new AchievementItem();
|
||
item.BigID = 1;
|
||
item.SmallID = (uint)(i / 5 + 1);
|
||
item.InternalID = (uint)(i % 5 + 1);
|
||
if (_asset.Data.GetAchievementItem(item.BigID, item.SmallID, item.InternalID) != null) continue;
|
||
|
||
var condition = new TrainGiantCondition();
|
||
condition.TargetCount = 1;
|
||
condition.TargetGiant = giantList[i];
|
||
item.Conditions.Add(condition);
|
||
_asset.Data.AchievementList.Add(item);
|
||
_asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID));
|
||
_asset.Data.RefreshAchievementDict();
|
||
}
|
||
}
|
||
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("批量创建奇观成就"))
|
||
{
|
||
for (int i = (int)WonderLibrary.EgyptianRemiliaPEACE; i <= (int)WonderLibrary.IndianSatoriEYE; i++)
|
||
for(int j = 1;j <= 3;j++)
|
||
{
|
||
var item = new AchievementItem();
|
||
item.BigID = 3;
|
||
item.SmallID = (uint)(i + 1);
|
||
item.InternalID = (uint)j;
|
||
if (_asset.Data.GetAchievementItem(item.BigID, item.SmallID, item.InternalID) != null) continue;
|
||
|
||
var condition = new BuildWonderConditionCondition();
|
||
condition.TargetCount = 10;
|
||
condition.Wonder = (WonderLibrary)i;
|
||
item.Conditions.Add(condition);
|
||
_asset.Data.AchievementList.Add(item);
|
||
_asset.Data.AchievementList.Sort((a, b) => a.ID.CompareTo(b.ID));
|
||
_asset.Data.RefreshAchievementDict();
|
||
}
|
||
}
|
||
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>筛选:</b>");
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 大类序号: </b>");
|
||
_bigID = (uint)EditorGUILayout.IntField((int)_bigID, GUILayout.Width(20));
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 小类序号: </b>");
|
||
_smallID = (uint)EditorGUILayout.IntField((int)_smallID, GUILayout.Width(20));
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 类内序号: </b>");
|
||
_internalID = (uint)EditorGUILayout.IntField((int)_internalID, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
_itemList = _asset.Data.GetAchievementItemList(_bigID, _smallID, _internalID);
|
||
var deleteSet = new HashSet<AchievementItem>();
|
||
foreach (var item in _itemList)
|
||
{
|
||
if (OnGUIAchievementItem(item)) deleteSet.Add(item);
|
||
EditorGUILayout.Space();
|
||
}
|
||
foreach (var item in deleteSet)
|
||
{
|
||
_showItem.Remove(item.ID);
|
||
_asset.Data.AchievementList.Remove(item);
|
||
}
|
||
|
||
EditorGUILayout.EndScrollView();
|
||
}
|
||
|
||
private bool OnGUIAchievementItem(AchievementItem item)
|
||
{
|
||
bool isDelete = false;
|
||
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
var isShow = false;
|
||
if (_showItem.TryGetValue(item.ID, out var value)) isShow = value;
|
||
isShow = EditorGUILayout.Toggle(isShow, GUILayout.Width(16));
|
||
_showItem[item.ID] = isShow;
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 成就ID: {item.ID}</b>");
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 名称 </b>");
|
||
item.Name = EditorGUILayout.TextField(item.Name, GUILayout.Width(100));
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 描述 </b>");
|
||
item.Desc = EditorGUILayout.TextField(item.Desc, GUILayout.Width(300));
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("+"))
|
||
{
|
||
item.Conditions.Add(AchievementFactory.GetAchievementCondition(AchievementConditionType.AroundBuildings));
|
||
}
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("x")) isDelete = true;
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
if (isShow)
|
||
{
|
||
var deleteSet = new HashSet<AchievementConditionBase>();
|
||
for (int i = 0; i < item.Conditions.Count; i++)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
var conditionType = item.Conditions[i].GetConditionType();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 条件类型 </b>");
|
||
conditionType = (AchievementConditionType) EditorGUILayout.EnumPopup( conditionType, GUILayout.Width(150));
|
||
if (conditionType != item.Conditions[i].GetConditionType())
|
||
item.Conditions[i] = AchievementFactory.GetAchievementCondition(conditionType);
|
||
if (InspectorUtils.InspectorButtonWithTextWidth("x")) deleteSet.Add(item.Conditions[i]);
|
||
EditorGUILayout.EndHorizontal();
|
||
OnGUIAchievementICondition(item.Conditions[i]);
|
||
EditorGUILayout.Space();
|
||
}
|
||
foreach (var condition in deleteSet) item.Conditions.Remove(condition);
|
||
}
|
||
|
||
EditorGUILayout.EndVertical();
|
||
|
||
return isDelete;
|
||
}
|
||
|
||
private void OnGUIAchievementICondition(AchievementConditionBase condition)
|
||
{
|
||
if (condition is TrainGiantCondition c1)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>召唤 n 次特定伟人</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:次数 n </b>");
|
||
c1.TargetCount = EditorGUILayout.IntField(c1.TargetCount, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:伟人类型 </b>");
|
||
c1.TargetGiant = (GiantType) EditorGUILayout.EnumPopup(c1.TargetGiant, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
|
||
if (condition is BuildWonderConditionCondition c2)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>建造 n 次 特定奇观</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:次数 n </b>");
|
||
c2.TargetCount = EditorGUILayout.IntField(c2.TargetCount, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:奇观类型 </b>");
|
||
c2.Wonder = (WonderLibrary) EditorGUILayout.EnumPopup(c2.Wonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
|
||
if (condition is WonderInCityConditionCondition c3)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>特定奇观 属于 特定城市</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:奇观类型 n </b>");
|
||
c3.Wonder = (WonderLibrary) EditorGUILayout.EnumPopup(c3.Wonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:指定城市 </b>");
|
||
c3.TargetCity = (CityLibrary) EditorGUILayout.EnumPopup(c3.TargetCity, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
|
||
if (condition is UnitOnWonderConditionCondition c4)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>特定奇观 上有 指定伟人 持续 n 回合</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:奇观类型 n </b>");
|
||
c4.Wonder = (WonderLibrary) EditorGUILayout.EnumPopup(c4.Wonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:指定伟人 </b>");
|
||
c4.Giant = (GiantType) EditorGUILayout.EnumPopup(c4.Giant, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数3:回合数 n </b>");
|
||
c4.TargetTurns = EditorGUILayout.IntField(c4.TargetTurns, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
|
||
if (condition is AroundBuildingsConditionCondition c5)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>特定奇观 周围有 n 个指定 Grid</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:奇观类型 n </b>");
|
||
c5.Wonder = (WonderLibrary) EditorGUILayout.EnumPopup(c5.Wonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:指定数量 n </b>");
|
||
c5.TargetCount = EditorGUILayout.IntField(c5.TargetCount, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数3:范围 x </b>");
|
||
c5.OffsetX = EditorGUILayout.IntField(c5.OffsetX, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数4:范围 y </b>");
|
||
c5.OffsetY = EditorGUILayout.IntField(c5.OffsetY, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数5:海陆层目标 </b>");
|
||
c5.Terrain = (TerrainType) EditorGUILayout.EnumPopup(c5.Terrain, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数6:地形层目标 </b>");
|
||
c5.Feature = (TerrainFeature) EditorGUILayout.EnumPopup(c5.Feature, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数7:植被层目标 </b>");
|
||
c5.Vegetation = (Vegetation) EditorGUILayout.EnumPopup(c5.Vegetation, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数8:资源层+建筑层目标 </b>");
|
||
c5.Resource = (ResourceType) EditorGUILayout.EnumPopup(c5.Resource, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
|
||
if (condition is AroundWondersConditionCondition c6)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>特定奇观 周围有 n 个 指定奇观</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:奇观类型 n </b>");
|
||
c6.Wonder = (WonderLibrary) EditorGUILayout.EnumPopup(c6.Wonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:指定数量 n </b>");
|
||
c6.TargetCount = EditorGUILayout.IntField(c6.TargetCount, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数3:范围 x </b>");
|
||
c6.OffsetX = EditorGUILayout.IntField(c6.OffsetX, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数4:范围 y </b>");
|
||
c6.OffsetY = EditorGUILayout.IntField(c6.OffsetY, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数5:奇观目标 </b>");
|
||
c6.AroundWonder = (WonderLibrary) EditorGUILayout.EnumPopup(c6.AroundWonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
|
||
if (condition is AroundEnemyUnitsConditionCondition c7)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>特定奇观 周围有 n 个 敌方单位</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:奇观类型 n </b>");
|
||
c7.Wonder = (WonderLibrary) EditorGUILayout.EnumPopup(c7.Wonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:指定数量 n </b>");
|
||
c7.TargetCount = EditorGUILayout.IntField(c7.TargetCount, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数3:范围 x </b>");
|
||
c7.OffsetX = EditorGUILayout.IntField(c7.OffsetX, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数4:范围 y </b>");
|
||
c7.OffsetY = EditorGUILayout.IntField(c7.OffsetY, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
|
||
if (condition is AroundSelfUnitsConditionCondition c8)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>特定奇观 周围有 n 个 友方单位</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:奇观类型 n </b>");
|
||
c8.Wonder = (WonderLibrary) EditorGUILayout.EnumPopup(c8.Wonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:指定数量 n </b>");
|
||
c8.TargetCount = EditorGUILayout.IntField(c8.TargetCount, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数3:范围 x </b>");
|
||
c8.OffsetX = EditorGUILayout.IntField(c8.OffsetX, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数4:范围 y </b>");
|
||
c8.OffsetY = EditorGUILayout.IntField(c8.OffsetY, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
|
||
if (condition is AroundCityGridsConditionCondition c9)
|
||
{
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b>特定奇观 周围有 n 个 指定城市格子</b>");
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数1:奇观类型 n </b>");
|
||
c9.Wonder = (WonderLibrary) EditorGUILayout.EnumPopup(c9.Wonder, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数2:指定数量 n </b>");
|
||
c9.TargetCount = EditorGUILayout.IntField(c9.TargetCount, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数3:范围 x </b>");
|
||
c9.OffsetX = EditorGUILayout.IntField(c9.OffsetX, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数4:范围 y </b>");
|
||
c9.OffsetY = EditorGUILayout.IntField(c9.OffsetY, GUILayout.Width(20));
|
||
EditorGUILayout.EndHorizontal();
|
||
|
||
EditorGUILayout.BeginHorizontal();
|
||
InspectorUtils.InspectorTextWidthRich($"<b> 参数5:指定城市 n </b>");
|
||
c9.TargetCity = (CityLibrary) EditorGUILayout.EnumPopup(c9.TargetCity, GUILayout.Width(150));
|
||
EditorGUILayout.EndHorizontal();
|
||
}
|
||
}
|
||
}
|
||
} |