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:
gamer147
2026-06-05 20:22:43 -04:00
parent a00e90c74a
commit 4491c6c7f3
10 changed files with 895 additions and 39 deletions

View 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(),
};
}
}

View 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;
}
}

View 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);
}
}
}

View 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;
}
}

View 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();
}
}

View 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);
}
}