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:
14
SVSim.BattleEngine/Engine/ContentKeywordExt.cs
Normal file
14
SVSim.BattleEngine/Engine/ContentKeywordExt.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
internal static class ContentKeywordExt
|
||||
{
|
||||
public static string ToStringCustom(this SkillFilterCreator.ContentKeyword type)
|
||||
{
|
||||
return type switch
|
||||
{
|
||||
SkillFilterCreator.ContentKeyword._class => "class",
|
||||
SkillFilterCreator.ContentKeyword._true => "true",
|
||||
SkillFilterCreator.ContentKeyword._false => "false",
|
||||
SkillFilterCreator.ContentKeyword._ref_prev => "<-",
|
||||
_ => type.ToString(),
|
||||
};
|
||||
}
|
||||
}
|
||||
159
SVSim.BattleEngine/Engine/Cute/EventExtension.cs
Normal file
159
SVSim.BattleEngine/Engine/Cute/EventExtension.cs
Normal file
@@ -0,0 +1,159 @@
|
||||
using System;
|
||||
|
||||
namespace Cute;
|
||||
|
||||
public static class EventExtension
|
||||
{
|
||||
public static void Call(this Action action)
|
||||
{
|
||||
action?.Invoke();
|
||||
}
|
||||
|
||||
public static void Call<T1>(this Action<T1> action, T1 arg1)
|
||||
{
|
||||
action?.Invoke(arg1);
|
||||
}
|
||||
|
||||
public static void Call<T1, T2>(this Action<T1, T2> action, T1 arg1, T2 arg2)
|
||||
{
|
||||
action?.Invoke(arg1, arg2);
|
||||
}
|
||||
|
||||
public static void Call<T1, T2, T3>(this Action<T1, T2, T3> action, T1 arg1, T2 arg2, T3 arg3)
|
||||
{
|
||||
action?.Invoke(arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
public static void Call<T1, T2, T3, T4>(this Action<T1, T2, T3, T4> action, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
|
||||
{
|
||||
action?.Invoke(arg1, arg2, arg3, arg4);
|
||||
}
|
||||
|
||||
public static void Call<T1, T2, T3, T4, T5>(this Action<T1, T2, T3, T4, T5> action, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
|
||||
{
|
||||
action?.Invoke(arg1, arg2, arg3, arg4, arg5);
|
||||
}
|
||||
|
||||
public static void Call<T1, T2, T3, T4, T5, T6>(this Action<T1, T2, T3, T4, T5, T6> action, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
|
||||
{
|
||||
action?.Invoke(arg1, arg2, arg3, arg4, arg5, arg6);
|
||||
}
|
||||
|
||||
public static void Call<T1, T2, T3, T4, T5, T6, T7>(this Action<T1, T2, T3, T4, T5, T6, T7> action, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
|
||||
{
|
||||
action?.Invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
||||
}
|
||||
|
||||
public static void Call<T1, T2, T3, T4, T5, T6, T7, T8>(this Action<T1, T2, T3, T4, T5, T6, T7, T8> action, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
|
||||
{
|
||||
action?.Invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
||||
}
|
||||
|
||||
public static void Call<T1, T2, T3, T4, T5, T6, T7, T8, T9>(this Action<T1, T2, T3, T4, T5, T6, T7, T8, T9> action, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
|
||||
{
|
||||
action?.Invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
||||
}
|
||||
|
||||
public static TR Call<TR>(this Func<TR> func)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return default(TR);
|
||||
}
|
||||
return func();
|
||||
}
|
||||
|
||||
public static TR Call<T1, TR>(this Func<T1, TR> func, T1 arg1)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return default(TR);
|
||||
}
|
||||
return func(arg1);
|
||||
}
|
||||
|
||||
public static TR Call<T1, T2, TR>(this Func<T1, T2, TR> func, T1 arg1, T2 arg2)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return default(TR);
|
||||
}
|
||||
return func(arg1, arg2);
|
||||
}
|
||||
|
||||
public static TR Call<T1, T2, T3, TR>(this Func<T1, T2, T3, TR> func, T1 arg1, T2 arg2, T3 arg3)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return default(TR);
|
||||
}
|
||||
return func(arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
public static TR Call<T1, T2, T3, T4, TR>(this Func<T1, T2, T3, T4, TR> func, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return default(TR);
|
||||
}
|
||||
return func(arg1, arg2, arg3, arg4);
|
||||
}
|
||||
|
||||
public static TR Call<T1, T2, T3, T4, T5, TR>(this Func<T1, T2, T3, T4, T5, TR> func, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return default(TR);
|
||||
}
|
||||
return func(arg1, arg2, arg3, arg4, arg5);
|
||||
}
|
||||
|
||||
public static TR[] GetAllFuncCallResults<TR>(this Func<TR> func)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return new TR[0];
|
||||
}
|
||||
return CallAllFunc(func, (Delegate f) => ((Func<TR>)f)());
|
||||
}
|
||||
|
||||
public static TR[] GetAllFuncCallResults<T1, TR>(this Func<T1, TR> func, T1 arg1)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return new TR[0];
|
||||
}
|
||||
return CallAllFunc(func, (Delegate f) => ((Func<T1, TR>)f)(arg1));
|
||||
}
|
||||
|
||||
public static TR[] GetAllFuncCallResults<T1, T2, TR>(this Func<T1, T2, TR> func, T1 arg1, T2 arg2)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return new TR[0];
|
||||
}
|
||||
return CallAllFunc(func, (Delegate f) => ((Func<T1, T2, TR>)f)(arg1, arg2));
|
||||
}
|
||||
|
||||
public static TR[] GetAllFuncCallResults<T1, T2, T3, TR>(this Func<T1, T2, T3, TR> func, T1 arg1, T2 arg2, T3 arg3)
|
||||
{
|
||||
if (func == null)
|
||||
{
|
||||
return new TR[0];
|
||||
}
|
||||
return CallAllFunc(func, (Delegate f) => ((Func<T1, T2, T3, TR>)f)(arg1, arg2, arg3));
|
||||
}
|
||||
|
||||
private static TR[] CallAllFunc<TR>(Delegate func, Func<Delegate, TR> call)
|
||||
{
|
||||
Delegate[] invocationList = func.GetInvocationList();
|
||||
int num = invocationList.Length;
|
||||
TR[] array = new TR[num];
|
||||
for (int i = 0; i < num; i++)
|
||||
{
|
||||
TR val = call(invocationList[i]);
|
||||
array[i] = val;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
}
|
||||
21
SVSim.BattleEngine/Engine/GameObjectExtension.cs
Normal file
21
SVSim.BattleEngine/Engine/GameObjectExtension.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using UnityEngine;
|
||||
|
||||
public static class GameObjectExtension
|
||||
{
|
||||
public static void SetLayer(this GameObject gameObject, int layer, bool isSetChildren)
|
||||
{
|
||||
if (gameObject == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
gameObject.layer = layer;
|
||||
if (!isSetChildren)
|
||||
{
|
||||
return;
|
||||
}
|
||||
foreach (Transform item in gameObject.transform)
|
||||
{
|
||||
item.gameObject.SetLayer(layer, isSetChildren);
|
||||
}
|
||||
}
|
||||
}
|
||||
22
SVSim.BattleEngine/Engine/GameObjectExtensions.cs
Normal file
22
SVSim.BattleEngine/Engine/GameObjectExtensions.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
public static class GameObjectExtensions
|
||||
{
|
||||
public static BattleCardBase GetBattleCard(this GameObject go)
|
||||
{
|
||||
if (go == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
BattleCardBase battleCardBase = null;
|
||||
BattleCardBase battleCardBase2 = null;
|
||||
battleCardBase = BattleManagerBase.GetIns().BattlePlayer.AllCards.FirstOrDefault((BattleCardBase s) => s.BattleCardView.GameObject == go);
|
||||
battleCardBase2 = BattleManagerBase.GetIns().BattleEnemy.AllCards.FirstOrDefault((BattleCardBase s) => s.BattleCardView.GameObject == go);
|
||||
if (battleCardBase != null)
|
||||
{
|
||||
return battleCardBase;
|
||||
}
|
||||
return battleCardBase2;
|
||||
}
|
||||
}
|
||||
64
SVSim.BattleEngine/Engine/JsonDataExtension.cs
Normal file
64
SVSim.BattleEngine/Engine/JsonDataExtension.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using LitJson;
|
||||
|
||||
public static class JsonDataExtension
|
||||
{
|
||||
public static bool TryGetValue(this JsonData data, string key, out JsonData value)
|
||||
{
|
||||
value = null;
|
||||
if (!data.IsObject)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!data.Keys.Contains(key))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
value = data[key];
|
||||
return true;
|
||||
}
|
||||
|
||||
public static string GetValueOrDefault(this JsonData data, string key, string defaultValue)
|
||||
{
|
||||
if (!data.TryGetValue(key, out var value))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return value.ToString();
|
||||
}
|
||||
|
||||
public static int GetValueOrDefault(this JsonData data, string key, int defaultValue)
|
||||
{
|
||||
if (!data.TryGetValue(key, out var value))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return value.ToInt();
|
||||
}
|
||||
|
||||
public static long GetValueOrDefault(this JsonData data, string key, long defaultValue)
|
||||
{
|
||||
if (!data.TryGetValue(key, out var value))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return value.ToLong();
|
||||
}
|
||||
|
||||
public static double GetValueOrDefault(this JsonData data, string key, double defaultValue)
|
||||
{
|
||||
if (!data.TryGetValue(key, out var value))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return value.ToDouble();
|
||||
}
|
||||
|
||||
public static bool GetValueOrDefault(this JsonData data, string key, bool defaultValue)
|
||||
{
|
||||
if (!data.TryGetValue(key, out var value))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return value.ToBoolean();
|
||||
}
|
||||
}
|
||||
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