+EA 23.283 Nightly Patch 2 - Plugin.BaseCore
March 6, 2026
3 files modified.
Important Changes
None.
ExcelParser
public static void ReportIllFormat<T>(int id)
cs
{
StringBuilder stringBuilder = new StringBuilder();
string name = typeof(T).Name;
ICell cell = row.Cells.TryGet(id, returnNull: true);
string value = ((row.RowNum < 3) ? ", SourceData begins at the 4th row. 3rd row is the default value row." : $", default:'{rowDefault.Cells.TryGet(id, returnNull: true)}'");
ICell cell = row?.Cells.TryGet(id, returnNull: true);
IRow obj = row;
string value = ((obj != null && obj.RowNum >= 3) ? $", default:'{rowDefault?.Cells.TryGet(id, returnNull: true)}'" : ", SourceData begins at the 4th row. 3rd row is the default value row.");
stringBuilder.AppendLine("$source ill-format file: " + path);
stringBuilder.Append($"row#{row.RowNum + 1}, cell'{id + 1}'/'{ToLetterId(id)}', expected:'{name}', read:'{cell}'");
object[] array = new object[5];
IRow obj2 = row;
array[0] = ((obj2 != null) ? new int?(obj2.RowNum + 1) : null);
array[1] = id + 1;
array[2] = ToLetterId(id);
array[3] = name;
array[4] = cell;
stringBuilder.Append(string.Format("row#{0}, cell'{1}'/'{2}', expected:'{3}', read:'{4}'", array));
stringBuilder.AppendLine(value);
Debug.LogError(stringBuilder);
}IO
public static byte[] ReadLZ4(byte[] bytes)
cs
public static bool IsCompressed(string path)
{
byte[] array;
using (BinaryReader binaryReader = new BinaryReader(File.OpenRead(path)))
using FileStream fileStream = File.OpenRead(path);
if (fileStream.Length == 0L)
{
binaryReader.BaseStream.Seek(0L, SeekOrigin.Begin);
array = binaryReader.ReadBytes(4);
return false;
}
if (array.Length > 3 && array[0] == 123 && array[1] == 13 && array[2] == 10 && array[3] == 32)
bool flag;
while (true)
{
return false;
switch (fileStream.ReadByte())
{
case 9:
case 10:
case 13:
case 32:
continue;
case -1:
return false;
case 34:
case 45:
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 91:
case 102:
case 110:
case 116:
case 123:
flag = true;
break;
default:
flag = false;
break;
}
break;
}
return true;
return !flag;
}
public static void Compress(string path, string text)SourceData
public virtual void RemoveDuplicateRows()
cs
{
HashSet<T2> hashSet = new HashSet<T2>();
List<T> list = new List<T>(rows.Count);
bool flag = typeof(T).DeclaringType.Name.Contains("Lang");
string arg = GetType().Name;
System.Reflection.FieldInfo field = typeof(T).GetField("id");
bool flag = typeof(LangRow).IsAssignableFrom(typeof(T));
if (field == null)
{
return;
}
if (field.FieldType != typeof(T2))
{
Debug.LogError($"#source override: {arg} id field mismatch {field.FieldType} != {typeof(T2)}");