feat(battle-engine): full Unity primitive/runtime surface + game extension copies
Grows Vector2/3, Mathf, Color, Quaternion, GameObject, Transform, Camera, Material, ParticleSystem, Rect, Bounds, Time to the surface the engine references; adds Input/ Random/Resources statics + full KeyCode enum. Copies the verbatim extension files that collapse thousands of CS1061s at once (ContentKeywordExt, JsonData/LitJson extensions, EventExtension.Call, GameObjectExtension(s)). 26.5k -> 15.9k errors; residual now dominated by god-object member surface (GameMgr/UIManager/EffectMgr/Vfx*).
This commit is contained in:
125
SVSim.BattleEngine/Engine/Wizard.AutoTest/LitJsonExtention.cs
Normal file
125
SVSim.BattleEngine/Engine/Wizard.AutoTest/LitJsonExtention.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LitJson;
|
||||
|
||||
namespace Wizard.AutoTest;
|
||||
|
||||
public static class LitJsonExtention
|
||||
{
|
||||
public static bool? ToBooleanOrNull(this JsonData jsonData, string key)
|
||||
{
|
||||
if (!jsonData.HasKey(key))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!jsonData[key].IsBoolean)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return jsonData[key].ToBoolean();
|
||||
}
|
||||
|
||||
public static bool ToBooleanOrDefault(this JsonData jsonData, string key, bool defaultBoolean)
|
||||
{
|
||||
bool? flag = jsonData.ToBooleanOrNull(key);
|
||||
if (!flag.HasValue)
|
||||
{
|
||||
return defaultBoolean;
|
||||
}
|
||||
return flag.Value;
|
||||
}
|
||||
|
||||
public static int? ToIntOrNull(this JsonData jsonData, string key)
|
||||
{
|
||||
if (!jsonData.HasKey(key))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!jsonData[key].IsInt)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return jsonData[key].ToInt();
|
||||
}
|
||||
|
||||
public static int ToIntOrDefault(this JsonData jsonData, string key, int defaultInt)
|
||||
{
|
||||
int? num = jsonData.ToIntOrNull(key);
|
||||
if (!num.HasValue)
|
||||
{
|
||||
return defaultInt;
|
||||
}
|
||||
return num.Value;
|
||||
}
|
||||
|
||||
public static long? ToLongOrNull(this JsonData jsonData, string key)
|
||||
{
|
||||
if (!jsonData.HasKey(key))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!jsonData[key].IsLong && !jsonData[key].IsInt)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return jsonData[key].ToLong();
|
||||
}
|
||||
|
||||
public static long ToLongOrDefault(this JsonData jsonData, string key, int defaultLong)
|
||||
{
|
||||
long? num = jsonData.ToLongOrNull(key);
|
||||
if (!num.HasValue)
|
||||
{
|
||||
return defaultLong;
|
||||
}
|
||||
return num.Value;
|
||||
}
|
||||
|
||||
public static string ToStringOrNull(this JsonData jsonData, string key)
|
||||
{
|
||||
if (!jsonData.HasKey(key))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!jsonData[key].IsString)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return jsonData[key].ToString();
|
||||
}
|
||||
|
||||
public static string ToStringOrDefault(this JsonData jsonData, string key, string defaultString)
|
||||
{
|
||||
return jsonData.ToStringOrNull(key) ?? defaultString;
|
||||
}
|
||||
|
||||
public static JsonData ToObjectOrNull(this JsonData jsonData, string key)
|
||||
{
|
||||
if (!jsonData.HasKey(key))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!jsonData[key].IsObject)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return jsonData[key];
|
||||
}
|
||||
|
||||
public static IEnumerable<JsonData> ToJsonDataCollection(this JsonData jsonData, string key)
|
||||
{
|
||||
if (jsonData.HasKey(key) && jsonData[key].IsArray)
|
||||
{
|
||||
JsonData arrayJsonData = jsonData[key];
|
||||
for (int i = 0; i < arrayJsonData.Count; i++)
|
||||
{
|
||||
yield return arrayJsonData[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool HasKey(this JsonData jsonData, string key)
|
||||
{
|
||||
return jsonData.Keys.Any((string k) => k == key);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user