【建造】配置表、建造相关

iOS_release
zhangaotian 2024-07-09 14:59:12 +08:00
parent 2e5c6bc10f
commit d0e9387e48
21 changed files with 751 additions and 16 deletions

View File

@ -0,0 +1,152 @@
[
{
"ID": 10001,
"Name": "Island",
"ThematicID": 1,
"SeriesID": 1,
"BuildGroupID": 1,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Icon/{0}.png"
},
{
"ID": 10002,
"Name": "Tree1",
"ThematicID": 1,
"SeriesID": 1,
"BuildGroupID": 2,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Icon/{0}.png"
},
{
"ID": 10003,
"Name": "Tree2",
"ThematicID": 1,
"SeriesID": 1,
"BuildGroupID": 3,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Icon/{0}.png"
},
{
"ID": 10004,
"Name": "Tree3",
"ThematicID": 1,
"SeriesID": 1,
"BuildGroupID": 4,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Icon/{0}.png"
},
{
"ID": 10005,
"Name": "Grass",
"ThematicID": 1,
"SeriesID": 1,
"BuildGroupID": 5,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_1/Icon/{0}.png"
},
{
"ID": 10006,
"Name": "Island",
"ThematicID": 2,
"SeriesID": 1,
"BuildGroupID": 1,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Icon/{0}.png"
},
{
"ID": 10007,
"Name": "Tree1",
"ThematicID": 2,
"SeriesID": 1,
"BuildGroupID": 2,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Icon/{0}.png"
},
{
"ID": 10008,
"Name": "Tree2",
"ThematicID": 2,
"SeriesID": 1,
"BuildGroupID": 3,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Icon/{0}.png"
},
{
"ID": 10009,
"Name": "Tree3",
"ThematicID": 2,
"SeriesID": 1,
"BuildGroupID": 4,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Icon/{0}.png"
},
{
"ID": 10010,
"Name": "Grass",
"ThematicID": 2,
"SeriesID": 1,
"BuildGroupID": 5,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_2/Icon/{0}.png"
},
{
"ID": 10011,
"Name": "Island",
"ThematicID": 3,
"SeriesID": 1,
"BuildGroupID": 1,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Icon/{0}.png"
},
{
"ID": 10012,
"Name": "Tree1",
"ThematicID": 3,
"SeriesID": 1,
"BuildGroupID": 2,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Icon/{0}.png"
},
{
"ID": 10013,
"Name": "Tree2",
"ThematicID": 3,
"SeriesID": 1,
"BuildGroupID": 3,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Icon/{0}.png"
},
{
"ID": 10014,
"Name": "Tree3",
"ThematicID": 3,
"SeriesID": 1,
"BuildGroupID": 4,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Icon/{0}.png"
},
{
"ID": 10015,
"Name": "Grass",
"ThematicID": 3,
"SeriesID": 1,
"BuildGroupID": 5,
"NormalPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Normal/{0}.png",
"PickPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Pick/{0}.png",
"IconPath": "Assets/Art/Texture/MainBuild/BuildItem/Thematic_3/Icon/{0}.png"
}
]

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e37c572b6462f4ae4966f375120c32e4
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,14 @@
[
{
"ID": 1,
"ThematicCount": 3,
"BuildGroupCount": 5,
"UnlockCondition": [
20,
45,
75,
110,
145
]
}
]

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8152806c520c446d9b7a792b01bdbdb3
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,129 @@
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using cfg.Build;
using PhxhSDK;
namespace Framework.Manager
{
public class BuildItem
{
public DataBuildItem _buildItem;
public Sprite NormalSprite;
public Sprite PickSprite;
public Sprite IconSprite;
public BuildItem(DataBuildItem buildItem)
{
_buildItem = buildItem;
}
public async void Load()
{
if (_buildItem == null) return;
NormalSprite =
await AssetManager.Instance.LoadAssetAsync<Sprite>(
string.Format(_buildItem.NormalPath, _buildItem.Name));
PickSprite =
await AssetManager.Instance.LoadAssetAsync<Sprite>(string.Format(_buildItem.PickPath, _buildItem.Name));
IconSprite =
await AssetManager.Instance.LoadAssetAsync<Sprite>(string.Format(_buildItem.IconPath, _buildItem.Name));
}
public void UnLoad()
{
AssetManager.Instance.Unload(string.Format(_buildItem.NormalPath, _buildItem.Name));
AssetManager.Instance.Unload(string.Format(_buildItem.PickPath, _buildItem.Name));
AssetManager.Instance.Unload(string.Format(_buildItem.IconPath, _buildItem.Name));
}
}
public class BuildGroup
{
public int GroupID;
public int UnlockCondition;
public Dictionary<int, BuildItem> BuildItems = new();
}
public class BuildManager : Singlenton<BuildManager>
{
public Dictionary<int, BuildGroup> BuildGroups;
public DataBuildSeries CurSeries;
public void Init()
{
var buildSeriesTable = TableManager.Instance.Tables.BuildSeriesConfig;
if (buildSeriesTable == null) return;
//系列初始化 当前就一个系列
CurSeries = buildSeriesTable.DataList[0];
BuildGroups = new Dictionary<int, BuildGroup>(CurSeries.ID);
InitData();
/*foreach (var group in BuildGroups)
{
DebugUtil.LogWarning("当前 {0} 物品组的解锁关卡是:{1}", group.Key, group.Value.UnlockCondition);
foreach (var item in group.Value.BuildItems)
{
DebugUtil.LogError("当前 {0} 物品组的物体有:{1}", group.Key, item.Value._buildItem.ID);
}
}*/
}
private void InitData()
{
var buildItemTable = TableManager.Instance.Tables.BuildItemConfig;
if (buildItemTable?.DataList == null) return;
foreach (var buildItem in buildItemTable.DataList)
{
//查找该系列的所有建造物品
if (buildItem.SeriesID == CurSeries.ID)
{
//根据物品组ID查找并添加
if (!BuildGroups.TryGetValue(buildItem.BuildGroupID, out var buildGroup))
{
var group = new BuildGroup();
var item = new BuildItem(buildItem);
item.Load();
group.BuildItems.TryAdd(buildItem.ID, item);
group.UnlockCondition = GetUnlockCondition(CurSeries, buildItem.BuildGroupID);
BuildGroups.TryAdd(buildItem.BuildGroupID, group);
}
else
{
if (!buildGroup.BuildItems.TryGetValue(buildItem.ID, out var buildGroupItem))
{
var item = new BuildItem(buildItem);
item.Load();
buildGroup.BuildItems.TryAdd(buildItem.ID, item);
}
}
}
}
}
/// <summary>
/// 根据物品组ID获取解锁条件关卡
/// </summary>
private int GetUnlockCondition(DataBuildSeries series, int groupID)
{
var index = groupID - 1;
if (series.UnlockCondition.Length > index && index >= 0)
{
return series.UnlockCondition[index];
}
return Constants.LevelConstants.DefaultUnlockCondition;
}
public void Release()
{
foreach (var item in BuildGroups.SelectMany(group => group.Value.BuildItems))
{
item.Value.UnLoad();
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 38787c038480b403592c43f439211fff
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,4 +1,3 @@
namespace Framework.Constants namespace Framework.Constants
{ {
public class LevelConstants public class LevelConstants
@ -30,6 +29,8 @@ namespace Framework.Constants
public const int PopUpLimitNumber = 8; public const int PopUpLimitNumber = 8;
public const int LevelRateIndex = 4; public const int LevelRateIndex = 4;
public const int DefaultUnlockCondition = 100;
/// <summary> /// <summary>
/// 关卡选择 一页数量 /// 关卡选择 一页数量
/// </summary> /// </summary>

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 556d810f9585b4f1fbb16ca0562721f6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,72 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
using SimpleJSON;
namespace cfg.Build
{
public sealed partial class BuildItemConfig
{
private readonly Dictionary<int, Build.DataBuildItem> _dataMap;
private readonly List<Build.DataBuildItem> _dataList;
public BuildItemConfig(JSONNode _json)
{
_dataMap = new Dictionary<int, Build.DataBuildItem>();
_dataList = new List<Build.DataBuildItem>();
foreach(JSONNode _row in _json.Children)
{
var _v = Build.DataBuildItem.DeserializeDataBuildItem(_row);
_dataList.Add(_v);
_dataMap.Add(_v.ID, _v);
}
PostInit();
}
public Dictionary<int, Build.DataBuildItem> DataMap => _dataMap;
public List<Build.DataBuildItem> DataList => _dataList;
public Build.DataBuildItem GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : null;
public Build.DataBuildItem Get(int key) {
if (_dataMap.TryGetValue(key, out var v)) {
return v;
} else {
UnityEngine.Debug.LogError($"table BuildItemConfig key not found: {key}");
return null;
}
}
public Build.DataBuildItem this[int key] => _dataMap[key];
public void Resolve(Dictionary<string, object> _tables)
{
foreach(var v in _dataList)
{
v.Resolve(_tables);
}
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
foreach(var v in _dataList)
{
v.TranslateText(translator);
}
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d41be1704f29f424bad40130deccde9d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,72 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
using SimpleJSON;
namespace cfg.Build
{
public sealed partial class BuildSeriesConfig
{
private readonly Dictionary<int, Build.DataBuildSeries> _dataMap;
private readonly List<Build.DataBuildSeries> _dataList;
public BuildSeriesConfig(JSONNode _json)
{
_dataMap = new Dictionary<int, Build.DataBuildSeries>();
_dataList = new List<Build.DataBuildSeries>();
foreach(JSONNode _row in _json.Children)
{
var _v = Build.DataBuildSeries.DeserializeDataBuildSeries(_row);
_dataList.Add(_v);
_dataMap.Add(_v.ID, _v);
}
PostInit();
}
public Dictionary<int, Build.DataBuildSeries> DataMap => _dataMap;
public List<Build.DataBuildSeries> DataList => _dataList;
public Build.DataBuildSeries GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : null;
public Build.DataBuildSeries Get(int key) {
if (_dataMap.TryGetValue(key, out var v)) {
return v;
} else {
UnityEngine.Debug.LogError($"table BuildSeriesConfig key not found: {key}");
return null;
}
}
public Build.DataBuildSeries this[int key] => _dataMap[key];
public void Resolve(Dictionary<string, object> _tables)
{
foreach(var v in _dataList)
{
v.Resolve(_tables);
}
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
foreach(var v in _dataList)
{
v.TranslateText(translator);
}
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6146e420859df410bbf1c53c2a9b05a9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
using SimpleJSON;
namespace cfg.Build
{
public sealed partial class DataBuildItem : Bright.Config.BeanBase
{
public DataBuildItem(JSONNode _json)
{
{ if(!_json["ID"].IsNumber) { throw new SerializationException(); } ID = _json["ID"]; }
{ if(!_json["Name"].IsString) { throw new SerializationException(); } Name = _json["Name"]; }
{ if(!_json["ThematicID"].IsNumber) { throw new SerializationException(); } ThematicID = _json["ThematicID"]; }
{ if(!_json["SeriesID"].IsNumber) { throw new SerializationException(); } SeriesID = _json["SeriesID"]; }
{ if(!_json["BuildGroupID"].IsNumber) { throw new SerializationException(); } BuildGroupID = _json["BuildGroupID"]; }
{ if(!_json["NormalPath"].IsString) { throw new SerializationException(); } NormalPath = _json["NormalPath"]; }
{ if(!_json["PickPath"].IsString) { throw new SerializationException(); } PickPath = _json["PickPath"]; }
{ if(!_json["IconPath"].IsString) { throw new SerializationException(); } IconPath = _json["IconPath"]; }
PostInit();
}
public DataBuildItem(int ID, string Name, int ThematicID, int SeriesID, int BuildGroupID, string NormalPath, string PickPath, string IconPath )
{
this.ID = ID;
this.Name = Name;
this.ThematicID = ThematicID;
this.SeriesID = SeriesID;
this.BuildGroupID = BuildGroupID;
this.NormalPath = NormalPath;
this.PickPath = PickPath;
this.IconPath = IconPath;
PostInit();
}
public static DataBuildItem DeserializeDataBuildItem(JSONNode _json)
{
return new Build.DataBuildItem(_json);
}
/// <summary>
/// 建造物品ID
/// </summary>
public int ID { get; private set; }
/// <summary>
/// 物品名称
/// </summary>
public string Name { get; private set; }
/// <summary>
/// 主题ID
/// </summary>
public int ThematicID { get; private set; }
/// <summary>
/// 系列ID
/// </summary>
public int SeriesID { get; private set; }
/// <summary>
/// 物品组ID
/// </summary>
public int BuildGroupID { get; private set; }
/// <summary>
/// 物品路径
/// </summary>
public string NormalPath { get; private set; }
/// <summary>
/// 物品选中时表现路径
/// </summary>
public string PickPath { get; private set; }
/// <summary>
/// 图标路径
/// </summary>
public string IconPath { get; private set; }
public const int __ID__ = 1004346967;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
}
public override string ToString()
{
return "{ "
+ "ID:" + ID + ","
+ "Name:" + Name + ","
+ "ThematicID:" + ThematicID + ","
+ "SeriesID:" + SeriesID + ","
+ "BuildGroupID:" + BuildGroupID + ","
+ "NormalPath:" + NormalPath + ","
+ "PickPath:" + PickPath + ","
+ "IconPath:" + IconPath + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f0ed8ee5dcd7e43c5a3a6afed7d85538
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,84 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
using SimpleJSON;
namespace cfg.Build
{
public sealed partial class DataBuildSeries : Bright.Config.BeanBase
{
public DataBuildSeries(JSONNode _json)
{
{ if(!_json["ID"].IsNumber) { throw new SerializationException(); } ID = _json["ID"]; }
{ if(!_json["ThematicCount"].IsNumber) { throw new SerializationException(); } ThematicCount = _json["ThematicCount"]; }
{ if(!_json["BuildGroupCount"].IsNumber) { throw new SerializationException(); } BuildGroupCount = _json["BuildGroupCount"]; }
{ var __json0 = _json["UnlockCondition"]; if(!__json0.IsArray) { throw new SerializationException(); } int _n0 = __json0.Count; UnlockCondition = new int[_n0]; int __index0=0; foreach(JSONNode __e0 in __json0.Children) { int __v0; { if(!__e0.IsNumber) { throw new SerializationException(); } __v0 = __e0; } UnlockCondition[__index0++] = __v0; } }
PostInit();
}
public DataBuildSeries(int ID, int ThematicCount, int BuildGroupCount, int[] UnlockCondition )
{
this.ID = ID;
this.ThematicCount = ThematicCount;
this.BuildGroupCount = BuildGroupCount;
this.UnlockCondition = UnlockCondition;
PostInit();
}
public static DataBuildSeries DeserializeDataBuildSeries(JSONNode _json)
{
return new Build.DataBuildSeries(_json);
}
/// <summary>
/// 系列ID
/// </summary>
public int ID { get; private set; }
/// <summary>
/// 主题数量
/// </summary>
public int ThematicCount { get; private set; }
/// <summary>
/// 物品组数量
/// </summary>
public int BuildGroupCount { get; private set; }
/// <summary>
/// 解锁关卡
/// </summary>
public int[] UnlockCondition { get; private set; }
public const int __ID__ = -917380933;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
}
public override string ToString()
{
return "{ "
+ "ID:" + ID + ","
+ "ThematicCount:" + ThematicCount + ","
+ "BuildGroupCount:" + BuildGroupCount + ","
+ "UnlockCondition:" + Bright.Common.StringUtil.CollectionToString(UnlockCondition) + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 60c5dc707d5a74f8d8e7f162bb732543
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -19,6 +19,8 @@ public sealed partial class Tables
public StringCfg.StringConfig StringConfig {get; } public StringCfg.StringConfig StringConfig {get; }
public AD.ADConfig ADConfig {get; } public AD.ADConfig ADConfig {get; }
public Prop.PropConfig PropConfig {get; } public Prop.PropConfig PropConfig {get; }
public Build.BuildItemConfig BuildItemConfig {get; }
public Build.BuildSeriesConfig BuildSeriesConfig {get; }
public Tables(System.Func<string, JSONNode> loader) public Tables(System.Func<string, JSONNode> loader)
{ {
@ -29,11 +31,17 @@ public sealed partial class Tables
tables.Add("AD.ADConfig", ADConfig); tables.Add("AD.ADConfig", ADConfig);
PropConfig = new Prop.PropConfig(loader("prop_propconfig")); PropConfig = new Prop.PropConfig(loader("prop_propconfig"));
tables.Add("Prop.PropConfig", PropConfig); tables.Add("Prop.PropConfig", PropConfig);
BuildItemConfig = new Build.BuildItemConfig(loader("build_builditemconfig"));
tables.Add("Build.BuildItemConfig", BuildItemConfig);
BuildSeriesConfig = new Build.BuildSeriesConfig(loader("build_buildseriesconfig"));
tables.Add("Build.BuildSeriesConfig", BuildSeriesConfig);
PostInit(); PostInit();
StringConfig.Resolve(tables); StringConfig.Resolve(tables);
ADConfig.Resolve(tables); ADConfig.Resolve(tables);
PropConfig.Resolve(tables); PropConfig.Resolve(tables);
BuildItemConfig.Resolve(tables);
BuildSeriesConfig.Resolve(tables);
PostResolve(); PostResolve();
} }
@ -41,12 +49,16 @@ public sealed partial class Tables
loader("stringcfg_stringconfig"); loader("stringcfg_stringconfig");
loader("ad_adconfig"); loader("ad_adconfig");
loader("prop_propconfig"); loader("prop_propconfig");
loader("build_builditemconfig");
loader("build_buildseriesconfig");
} }
public static void AfterLoaded(Action<string> loader) { public static void AfterLoaded(Action<string> loader) {
loader("stringcfg_stringconfig"); loader("stringcfg_stringconfig");
loader("ad_adconfig"); loader("ad_adconfig");
loader("prop_propconfig"); loader("prop_propconfig");
loader("build_builditemconfig");
loader("build_buildseriesconfig");
} }
public void TranslateText(System.Func<string, string, string> translator) public void TranslateText(System.Func<string, string, string> translator)
@ -54,6 +66,8 @@ public sealed partial class Tables
StringConfig.TranslateText(translator); StringConfig.TranslateText(translator);
ADConfig.TranslateText(translator); ADConfig.TranslateText(translator);
PropConfig.TranslateText(translator); PropConfig.TranslateText(translator);
BuildItemConfig.TranslateText(translator);
BuildSeriesConfig.TranslateText(translator);
} }
partial void PostInit(); partial void PostInit();

View File

@ -1,20 +1,28 @@
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Config/Data/ad_adconfig.json,A36B3A44ABABA2DDE095849E3626C9,1094,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Config/Data/ad_adconfig.json,A36B3A44ABABA2DDE095849E3626C9,1094,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Config/Data/prop_propconfig.json,7C02F583533F144939CBFF8C7E18473,880,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Config/Data/build_builditemconfig.json,6075FDA09E32518F3E635C72B56BE7BB,5390,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Config/Data/stringcfg_stringconfig.json,448F97FC077CE499139EFC4854438,7226,1719548938242 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Config/Data/build_buildseriesconfig.json,42EAC994C82DC8ECBF7E095FB6A39,156,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/AD/ADConfig.cs,A4C9CBC6BD55B1C14634FD73C748ACA,1928,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Config/Data/prop_propconfig.json,7C02F583533F144939CBFF8C7E18473,880,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/AD/ADType.cs,F6A7395BDA6D1E7D1EF51E344CB045,603,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Config/Data/stringcfg_stringconfig.json,448F97FC077CE499139EFC4854438,7226,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/AD/DataAD.cs,7F68864C5AB693111C5C3250967FB782,3417,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/AD/ADConfig.cs,A4C9CBC6BD55B1C14634FD73C748ACA,1928,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/BI/Event.cs,9BC756F4D9E749FBCEF49BF6929557,6506,1719548938242 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/AD/ADType.cs,F6A7395BDA6D1E7D1EF51E344CB045,603,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/BI/EventFirst.cs,72E992B782D0734B64364E4777CA3B35,2964,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/AD/DataAD.cs,7F68864C5AB693111C5C3250967FB782,3417,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Prop/DataProp.cs,B1E5165AD7B7B28F863BF25E9581BF7B,4385,1719548938242 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/BI/Event.cs,9BC756F4D9E749FBCEF49BF6929557,6506,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Prop/PropConfig.cs,263DA0E1E0FA37A6401A432E49E8,2040,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/BI/EventFirst.cs,72E992B782D0734B64364E4777CA3B35,2964,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Prop/PropType.cs,56DDB93BC3D6491F012DAE849526897,757,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Build/BuildItemConfig.cs,4714A01BBC36D6A99C9B955B333A51,2059,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/StringCfg/DataString.cs,1613DCE5B077AE52BB90193DD949348,2327,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Build/BuildSeriesConfig.cs,EAC945DD99AC18E8BB8BEC47F39463A,2087,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/StringCfg/StringConfig.cs,90AC6ED26EAF4A66498B4816B635F47,2080,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Build/DataBuildItem.cs,84FCA11123B22C3DE7285A6E56DF6499,3697,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Tables.cs,9F517A5B82261C51F83097C8AC1519,1963,1719548938241 /Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Build/DataBuildSeries.cs,6A95F8649FE3B730BEC3CE2C3877849,2860,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Prop/DataProp.cs,B1E5165AD7B7B28F863BF25E9581BF7B,4385,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Prop/PropConfig.cs,263DA0E1E0FA37A6401A432E49E8,2040,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Prop/PropType.cs,56DDB93BC3D6491F012DAE849526897,757,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/StringCfg/DataString.cs,1613DCE5B077AE52BB90193DD949348,2327,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/StringCfg/StringConfig.cs,90AC6ED26EAF4A66498B4816B635F47,2080,1720505680246
/Users/zhangaotian/UnityProject/Forest_Client/Forest/Assets/Scripts/Gameplay/DataTable/Tables.cs,39B71A95C87B6A23CC35B8E8F3C595,2753,1720505680247
/Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/__beans__.xlsx,FBF2DDFEE7FB39A727F2C3ACA7E228E,11821,1718685908733 /Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/__beans__.xlsx,FBF2DDFEE7FB39A727F2C3ACA7E228E,11821,1718685908733
/Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/__enums__.xlsx,9966F8C0BCDDD717667BB975C9862F80,12651,1718685908733 /Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/__enums__.xlsx,9966F8C0BCDDD717667BB975C9862F80,12651,1718685908733
/Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/__tables__.xlsx,AF34F79C23336475A93B5ACEE819B6A,10886,1718685908734 /Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/__tables__.xlsx,D0163D3F43E7627ABD0AEBC1439C079,11188,1720501036099
/Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/AD.xlsx,C664BD5E7C8E22397FB8CDF12EAED4E,9832,1719548816307 /Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/AD.xlsx,C664BD5E7C8E22397FB8CDF12EAED4E,9832,1719548816307
/Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/BuildItemConfig.xlsx,59F98AB50F4738F745894959F31AAC,10350,1720505626778
/Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/BuildSeriesConfig.xlsx,CF1411D7DEAFE70A2D82CDB4D746577,9511,1720505240267
/Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/Prop.xlsx,518794514E27F37BF9D0B6BA712533A5,10050,1718685908733 /Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/Prop.xlsx,518794514E27F37BF9D0B6BA712533A5,10050,1718685908733
/Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/StringConfig.xlsx,7928FA644D565490BF62C9F31161DF,12898,1719225115683 /Users/zhangaotian/UnityProject/Forest_Client/Tool/Luban/Datas/StringConfig.xlsx,7928FA644D565490BF62C9F31161DF,12898,1719225115683

Binary file not shown.

Binary file not shown.

Binary file not shown.