diff --git a/SCHALE.Common/Crypto/TableEncryptionService.cs b/SCHALE.Common/Crypto/TableEncryptionService.cs
new file mode 100644
index 0000000..dacbc39
--- /dev/null
+++ b/SCHALE.Common/Crypto/TableEncryptionService.cs
@@ -0,0 +1,39 @@
+using MersenneTwister;
+using SCHALE.Common.Crypto.XXHash;
+using System.Buffers.Binary;
+using System.Text;
+
+namespace SCHALE.Common.Crypto
+{
+ public static class TableEncryptionService
+ {
+ ///
+ /// Used for decrypting .bytes flatbuffers bin. Doesn't work yet
+ ///
+ ///
+ ///
+ public static void XOR(string name, byte[] bytes)
+ {
+ using var xxhash = XXHash32.Create();
+ xxhash.ComputeHash(Encoding.UTF8.GetBytes(name));
+
+ var mt = MTRandom.Create((int)xxhash.HashUInt32);
+ var key = GC.AllocateUninitializedArray(sizeof(int));
+ BinaryPrimitives.WriteInt32LittleEndian(key, mt.Next() + 1);
+
+ int i = 0;
+ int j = 0;
+ while (i < bytes.Length)
+ {
+ if (j == 4)
+ {
+ key = key = GC.AllocateUninitializedArray(sizeof(int));
+ BinaryPrimitives.WriteInt32LittleEndian(key, mt.Next() + 1);
+ j = 0;
+ }
+
+ bytes[i++] ^= key[j++];
+ }
+ }
+ }
+}
diff --git a/SCHALE.Common/Crypto/TableService.cs b/SCHALE.Common/Crypto/TableService.cs
new file mode 100644
index 0000000..7d60a9a
--- /dev/null
+++ b/SCHALE.Common/Crypto/TableService.cs
@@ -0,0 +1,35 @@
+using MersenneTwister;
+using SCHALE.Common.Crypto.XXHash;
+using System.Text;
+
+namespace SCHALE.Common.Crypto
+{
+ public static class TableService
+ {
+ ///
+ /// General password gen by file name, encode to base64 for zips password
+ ///
+ ///
+ ///
+ ///
+ public static byte[] CreatePassword(string key, int length = 20)
+ {
+ byte[] password = GC.AllocateUninitializedArray((int)Math.Round((decimal)(length / 4 * 3)));
+
+ using var xxhash = XXHash32.Create();
+ xxhash.ComputeHash(Encoding.UTF8.GetBytes(key));
+
+ var mt = MTRandom.Create((int)xxhash.HashUInt32);
+
+ int i = 0;
+ while (i < password.Length)
+ {
+ // IDK why the random result is off by one in this implementation compared to the game's
+ Array.Copy(BitConverter.GetBytes(mt.Next() + 1), 0, password, i, Math.Min(4, password.Length - i));
+ i += 4;
+ }
+
+ return password;
+ }
+ }
+}
diff --git a/SCHALE.Common/Crypto/XOR.cs b/SCHALE.Common/Crypto/XOR.cs
index f5e3d73..df3cc52 100644
--- a/SCHALE.Common/Crypto/XOR.cs
+++ b/SCHALE.Common/Crypto/XOR.cs
@@ -2,11 +2,12 @@
{
public static class XOR
{
- public static void Crypt(byte[] bytes, byte key, uint offset = 0)
+ public static void Crypt(byte[] bytes, byte[] key, uint offset = 0)
{
while (offset < bytes.Length)
{
- bytes[offset++] ^= key;
+ bytes[offset] ^= key[offset % key.Length];
+ offset++;
}
}
}
diff --git a/SCHALE.Common/Crypto/XXHash.cs b/SCHALE.Common/Crypto/XXHash.cs
new file mode 100644
index 0000000..5577394
--- /dev/null
+++ b/SCHALE.Common/Crypto/XXHash.cs
@@ -0,0 +1,590 @@
+/*MIT License
+
+Copyright (c) 2018 differentrain
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE. */
+
+/*
+ * The minimum requirements for YYProject.XXHash are .NET Framework 3.5, and C# 7.0 ,
+ * it means that these code also apply to .NET Core 1.0 or later, Mono 4.6 or later and so on.
+ * If necessary, you can also rewrite these library to .NET Framework 2.0 with just a little work.
+ * Since all code (XXHash32 and XXHash64) are inside these file independently,
+ * I don't recommend using compiled library in your project.
+ * Instead, you can just copy the useful parts to your code, this is the benefit of MIT License. P:)
+ *
+ * If you are using .NET4.5 (or higher) or sibling frameworks, you can add conditional compilation
+ * symbol "HIGHER_VERSIONS" to optimize static-short-methods.
+ */
+
+#define HIGHER_VERSIONS
+
+using System.Security.Cryptography;
+#if HIGHER_VERSIONS
+using System.Runtime.CompilerServices;
+#endif
+
+
+namespace SCHALE.Common.Crypto.XXHash
+{
+ //see details: https://github.com/Cyan4973/xxHash/blob/dev/doc/xxhash_spec.md
+
+ ///
+ /// Represents the class which provides a implementation of the xxHash32 algorithm.
+ ///
+ ///
+ public sealed class XXHash32 : HashAlgorithm
+ {
+ private const uint PRIME32_1 = 2654435761U;
+ private const uint PRIME32_2 = 2246822519U;
+ private const uint PRIME32_3 = 3266489917U;
+ private const uint PRIME32_4 = 668265263U;
+ private const uint PRIME32_5 = 374761393U;
+
+ private static readonly Func FuncGetLittleEndianUInt32;
+ private static readonly Func FuncGetFinalHashUInt32;
+
+ private uint _Seed32;
+
+ private uint _ACC32_1;
+ private uint _ACC32_2;
+ private uint _ACC32_3;
+ private uint _ACC32_4;
+
+ private uint _Hash32;
+
+
+ private int _RemainingLength;
+ private long _TotalLength = 0;
+ private int _CurrentIndex;
+ private byte[] _CurrentArray;
+
+ static XXHash32()
+ {
+ if (BitConverter.IsLittleEndian)
+ {
+
+ FuncGetLittleEndianUInt32 = new Func((x, i) =>
+ {
+ unsafe
+ {
+ fixed (byte* array = x)
+ {
+ return *(uint*)(array + i);
+ }
+ }
+ });
+ FuncGetFinalHashUInt32 = new Func(i => (i & 0x000000FFU) << 24 | (i & 0x0000FF00U) << 8 | (i & 0x00FF0000U) >> 8 | (i & 0xFF000000U) >> 24);
+ }
+ else
+ {
+ FuncGetLittleEndianUInt32 = new Func((x, i) =>
+ {
+ unsafe
+ {
+ fixed (byte* array = x)
+ {
+ return (uint)(array[i++] | (array[i++] << 8) | (array[i++] << 16) | (array[i] << 24));
+ }
+ }
+ });
+ FuncGetFinalHashUInt32 = new Func(i => i);
+ }
+ }
+
+ ///
+ /// Creates an instance of class by default seed(0).
+ ///
+ ///
+ public new static XXHash32 Create() => new XXHash32();
+
+ ///
+ /// Creates an instance of the specified implementation of XXHash32 algorithm.
+ /// This method always throws .
+ ///
+ /// The hash algorithm implementation to use.
+ /// This method always throws .
+ /// This method is not be supported.
+ public new static XXHash32 Create(string algName) => throw new NotSupportedException("This method is not be supported.");
+
+ ///
+ /// Initializes a new instance of the class by default seed(0).
+ ///
+ public XXHash32() => Initialize(0);
+
+ ///
+ /// Initializes a new instance of the class, and sets the to the specified value.
+ ///
+ /// Represent the seed to be used for xxHash32 computing.
+ public XXHash32(uint seed) => Initialize(seed);
+
+ ///
+ /// Gets the value of the computed hash code.
+ ///
+ /// Hash computation has not yet completed.
+ public uint HashUInt32 => State == 0 ? _Hash32 : throw new InvalidOperationException("Hash computation has not yet completed.");
+
+ ///
+ /// Gets or sets the value of seed used by xxHash32 algorithm.
+ ///
+ /// Hash computation has not yet completed.
+ public uint Seed
+ {
+ get => _Seed32;
+ set
+ {
+
+ if (value != _Seed32)
+ {
+ if (State != 0) throw new InvalidOperationException("Hash computation has not yet completed.");
+ _Seed32 = value;
+ Initialize();
+ }
+ }
+ }
+
+
+ ///
+ /// Initializes this instance for new hash computing.
+ ///
+ public override void Initialize()
+ {
+ _ACC32_1 = _Seed32 + PRIME32_1 + PRIME32_2;
+ _ACC32_2 = _Seed32 + PRIME32_2;
+ _ACC32_3 = _Seed32 + 0;
+ _ACC32_4 = _Seed32 - PRIME32_1;
+ }
+
+
+
+ ///
+ /// Routes data written to the object into the hash algorithm for computing the hash.
+ ///
+ /// The input to compute the hash code for.
+ /// The offset into the byte array from which to begin using data.
+ /// The number of bytes in the byte array to use as data.
+ protected override void HashCore(byte[] array, int ibStart, int cbSize)
+ {
+ if (State != 1) State = 1;
+ var size = cbSize - ibStart;
+ _RemainingLength = size & 15;
+ if (cbSize >= 16)
+ {
+ var limit = size - _RemainingLength;
+ do
+ {
+ _ACC32_1 = Round32(_ACC32_1, FuncGetLittleEndianUInt32(array, ibStart));
+ ibStart += 4;
+ _ACC32_2 = Round32(_ACC32_2, FuncGetLittleEndianUInt32(array, ibStart));
+ ibStart += 4;
+ _ACC32_3 = Round32(_ACC32_3, FuncGetLittleEndianUInt32(array, ibStart));
+ ibStart += 4;
+ _ACC32_4 = Round32(_ACC32_4, FuncGetLittleEndianUInt32(array, ibStart));
+ ibStart += 4;
+ } while (ibStart < limit);
+ }
+ _TotalLength += cbSize;
+
+ if (_RemainingLength != 0)
+ {
+ _CurrentArray = array;
+ _CurrentIndex = ibStart;
+ }
+ }
+
+ ///
+ /// Finalizes the hash computation after the last data is processed by the cryptographic stream object.
+ ///
+ /// The computed hash code.
+ protected override byte[] HashFinal()
+ {
+ if (_TotalLength >= 16)
+ {
+#if HIGHER_VERSIONS
+ _Hash32 = RotateLeft32_1(_ACC32_1) + RotateLeft32_7(_ACC32_2) + RotateLeft32_12(_ACC32_3) + RotateLeft32_18(_ACC32_4);
+#else
+ _Hash32 = RotateLeft32(_ACC32_1, 1) + RotateLeft32(_ACC32_2, 7) + RotateLeft32(_ACC32_3, 12) + RotateLeft32(_ACC32_4, 18);
+#endif
+ }
+ else
+ {
+ _Hash32 = _Seed32 + PRIME32_5;
+ }
+
+ _Hash32 += (uint)_TotalLength;
+
+ while (_RemainingLength >= 4)
+ {
+#if HIGHER_VERSIONS
+ _Hash32 = RotateLeft32_17(_Hash32 + FuncGetLittleEndianUInt32(_CurrentArray, _CurrentIndex) * PRIME32_3) * PRIME32_4;
+#else
+ _Hash32 = RotateLeft32(_Hash32 + FuncGetLittleEndianUInt32(_CurrentArray, _CurrentIndex) * PRIME32_3, 17) * PRIME32_4;
+#endif
+ _CurrentIndex += 4;
+ _RemainingLength -= 4;
+ }
+ unsafe
+ {
+ fixed (byte* arrayPtr = _CurrentArray)
+ {
+ while (_RemainingLength-- >= 1)
+ {
+#if HIGHER_VERSIONS
+ _Hash32 = RotateLeft32_11(_Hash32 + arrayPtr[_CurrentIndex++] * PRIME32_5) * PRIME32_1;
+#else
+ _Hash32 = RotateLeft32(_Hash32 + arrayPtr[_CurrentIndex++] * PRIME32_5, 11) * PRIME32_1;
+#endif
+ }
+ }
+ }
+ _Hash32 = (_Hash32 ^ (_Hash32 >> 15)) * PRIME32_2;
+ _Hash32 = (_Hash32 ^ (_Hash32 >> 13)) * PRIME32_3;
+ _Hash32 ^= _Hash32 >> 16;
+
+ _TotalLength = State = 0;
+
+ return BitConverter.GetBytes(FuncGetFinalHashUInt32(_Hash32));
+ }
+
+#if HIGHER_VERSIONS
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static uint Round32(uint input, uint value) => RotateLeft32_13(input + (value * PRIME32_2)) * PRIME32_1;
+
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static uint RotateLeft32_1(uint value) => (value << 1) | (value >> 31); //_ACC32_1
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static uint RotateLeft32_7(uint value) => (value << 7) | (value >> 25); //_ACC32_2
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static uint RotateLeft32_11(uint value) => (value << 11) | (value >> 21);
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static uint RotateLeft32_12(uint value) => (value << 12) | (value >> 20);// _ACC32_3
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static uint RotateLeft32_13(uint value) => (value << 13) | (value >> 19);
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static uint RotateLeft32_17(uint value) => (value << 17) | (value >> 15);
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static uint RotateLeft32_18(uint value) => (value << 18) | (value >> 14); //_ACC32_4
+#else
+ private static uint Round32(uint input, uint value) => RotateLeft32(input + (value * PRIME32_2), 13) * PRIME32_1;
+
+ private static uint RotateLeft32(uint value, int count) => (value << count) | (value >> (32 - count));
+#endif
+ private void Initialize(uint seed)
+ {
+ HashSizeValue = 32;
+ _Seed32 = seed;
+ Initialize();
+ }
+
+ }
+
+ ///
+ /// Represents the class which provides a implementation of the xxHash64 algorithm.
+ ///
+ ///
+ public sealed class XXHash64 : HashAlgorithm
+ {
+ private const ulong PRIME64_1 = 11400714785074694791UL;
+ private const ulong PRIME64_2 = 14029467366897019727UL;
+ private const ulong PRIME64_3 = 1609587929392839161UL;
+ private const ulong PRIME64_4 = 9650029242287828579UL;
+ private const ulong PRIME64_5 = 2870177450012600261UL;
+
+ private static readonly Func FuncGetLittleEndianUInt32;
+ private static readonly Func FuncGetLittleEndianUInt64;
+ private static readonly Func FuncGetFinalHashUInt64;
+
+ private ulong _Seed64;
+
+ private ulong _ACC64_1;
+ private ulong _ACC64_2;
+ private ulong _ACC64_3;
+ private ulong _ACC64_4;
+ private ulong _Hash64;
+
+ private int _RemainingLength;
+ private long _TotalLength;
+ private int _CurrentIndex;
+ private byte[] _CurrentArray;
+
+
+
+ static XXHash64()
+ {
+ if (BitConverter.IsLittleEndian)
+ {
+ FuncGetLittleEndianUInt32 = new Func((x, i) =>
+ {
+ unsafe
+ {
+ fixed (byte* array = x)
+ {
+ return *(uint*)(array + i);
+ }
+ }
+ });
+ FuncGetLittleEndianUInt64 = new Func((x, i) =>
+ {
+ unsafe
+ {
+ fixed (byte* array = x)
+ {
+ return *(ulong*)(array + i);
+ }
+ }
+ });
+ FuncGetFinalHashUInt64 = new Func(i => (i & 0x00000000000000FFUL) << 56 | (i & 0x000000000000FF00UL) << 40 | (i & 0x0000000000FF0000UL) << 24 | (i & 0x00000000FF000000UL) << 8 | (i & 0x000000FF00000000UL) >> 8 | (i & 0x0000FF0000000000UL) >> 24 | (i & 0x00FF000000000000UL) >> 40 | (i & 0xFF00000000000000UL) >> 56);
+ }
+ else
+ {
+ FuncGetLittleEndianUInt32 = new Func((x, i) =>
+ {
+ unsafe
+ {
+ fixed (byte* array = x)
+ {
+ return (uint)(array[i++] | (array[i++] << 8) | (array[i++] << 16) | (array[i] << 24));
+ }
+ }
+ });
+ FuncGetLittleEndianUInt64 = new Func((x, i) =>
+ {
+ unsafe
+ {
+ fixed (byte* array = x)
+ {
+ return array[i++] | ((ulong)array[i++] << 8) | ((ulong)array[i++] << 16) | ((ulong)array[i++] << 24) | ((ulong)array[i++] << 32) | ((ulong)array[i++] << 40) | ((ulong)array[i++] << 48) | ((ulong)array[i] << 56);
+ }
+ }
+ });
+ FuncGetFinalHashUInt64 = new Func(i => i);
+ }
+ }
+
+ ///
+ /// Creates an instance of class by default seed(0).
+ ///
+ ///
+ public new static XXHash64 Create() => new XXHash64();
+
+ ///
+ /// Creates an instance of the specified implementation of XXHash64 algorithm.
+ /// This method always throws .
+ ///
+ /// The hash algorithm implementation to use.
+ /// This method always throws .
+ /// This method is not be supported.
+ public new static XXHash64 Create(string algName) => throw new NotSupportedException("This method is not be supported.");
+
+ ///
+ /// Initializes a new instance of the class by default seed(0).
+ ///
+ public XXHash64() => Initialize(0);
+
+
+ ///
+ /// Initializes a new instance of the class, and sets the to the specified value.
+ ///
+ /// Represent the seed to be used for xxHash64 computing.
+ public XXHash64(uint seed) => Initialize(seed);
+
+
+ ///
+ /// Gets the value of the computed hash code.
+ ///
+ /// Computation has not yet completed.
+ public ulong HashUInt64 => State == 0 ? _Hash64 : throw new InvalidOperationException("Computation has not yet completed.");
+
+ ///
+ /// Gets or sets the value of seed used by xxHash64 algorithm.
+ ///
+ /// Computation has not yet completed.
+ public ulong Seed
+ {
+ get => _Seed64;
+ set
+ {
+ if (value != _Seed64)
+ {
+ if (State != 0) throw new InvalidOperationException("Computation has not yet completed.");
+ _Seed64 = value;
+ Initialize();
+ }
+ }
+ }
+
+
+ ///
+ /// Initializes this instance for new hash computing.
+ ///
+ public override void Initialize()
+ {
+ _ACC64_1 = _Seed64 + PRIME64_1 + PRIME64_2;
+ _ACC64_2 = _Seed64 + PRIME64_2;
+ _ACC64_3 = _Seed64 + 0;
+ _ACC64_4 = _Seed64 - PRIME64_1;
+ }
+
+ ///
+ /// Routes data written to the object into the hash algorithm for computing the hash.
+ ///
+ /// The input to compute the hash code for.
+ /// The offset into the byte array from which to begin using data.
+ /// The number of bytes in the byte array to use as data.
+ protected override void HashCore(byte[] array, int ibStart, int cbSize)
+ {
+ if (State != 1) State = 1;
+ var size = cbSize - ibStart;
+ _RemainingLength = size & 31;
+ if (cbSize >= 32)
+ {
+ var limit = size - _RemainingLength;
+ do
+ {
+ _ACC64_1 = Round64(_ACC64_1, FuncGetLittleEndianUInt64(array, ibStart));
+ ibStart += 8;
+ _ACC64_2 = Round64(_ACC64_2, FuncGetLittleEndianUInt64(array, ibStart));
+ ibStart += 8;
+ _ACC64_3 = Round64(_ACC64_3, FuncGetLittleEndianUInt64(array, ibStart));
+ ibStart += 8;
+ _ACC64_4 = Round64(_ACC64_4, FuncGetLittleEndianUInt64(array, ibStart));
+ ibStart += 8;
+ } while (ibStart < limit);
+ }
+ _TotalLength += cbSize;
+ if (_RemainingLength != 0)
+ {
+ _CurrentArray = array;
+ _CurrentIndex = ibStart;
+ }
+ }
+
+ ///
+ /// Finalizes the hash computation after the last data is processed by the cryptographic stream object.
+ ///
+ /// The computed hash code.
+ protected override byte[] HashFinal()
+ {
+ if (_TotalLength >= 32)
+ {
+#if HIGHER_VERSIONS
+ _Hash64 = RotateLeft64_1(_ACC64_1) + RotateLeft64_7(_ACC64_2) + RotateLeft64_12(_ACC64_3) + RotateLeft64_18(_ACC64_4);
+#else
+
+ _Hash64 = RotateLeft64(_ACC64_1, 1) + RotateLeft64(_ACC64_2, 7) + RotateLeft64(_ACC64_3, 12) + RotateLeft64(_ACC64_4, 18);
+#endif
+ _Hash64 = MergeRound64(_Hash64, _ACC64_1);
+ _Hash64 = MergeRound64(_Hash64, _ACC64_2);
+ _Hash64 = MergeRound64(_Hash64, _ACC64_3);
+ _Hash64 = MergeRound64(_Hash64, _ACC64_4);
+ }
+ else
+ {
+ _Hash64 = _Seed64 + PRIME64_5;
+ }
+
+ _Hash64 += (ulong)_TotalLength;
+
+ while (_RemainingLength >= 8)
+ {
+#if HIGHER_VERSIONS
+ _Hash64 = RotateLeft64_27(_Hash64 ^ Round64(0, FuncGetLittleEndianUInt64(_CurrentArray, _CurrentIndex))) * PRIME64_1 + PRIME64_4;
+#else
+ _Hash64 = RotateLeft64(_Hash64 ^ Round64(0, FuncGetLittleEndianUInt64(_CurrentArray, _CurrentIndex)), 27) * PRIME64_1 + PRIME64_4;
+#endif
+ _CurrentIndex += 8;
+ _RemainingLength -= 8;
+ }
+
+ while (_RemainingLength >= 4)
+ {
+#if HIGHER_VERSIONS
+ _Hash64 = RotateLeft64_23(_Hash64 ^ (FuncGetLittleEndianUInt32(_CurrentArray, _CurrentIndex) * PRIME64_1)) * PRIME64_2 + PRIME64_3;
+#else
+ _Hash64 = RotateLeft64(_Hash64 ^ (FuncGetLittleEndianUInt32(_CurrentArray, _CurrentIndex) * PRIME64_1), 23) * PRIME64_2 + PRIME64_3;
+#endif
+ _CurrentIndex += 4;
+ _RemainingLength -= 4;
+ }
+
+ unsafe
+ {
+ fixed (byte* arrayPtr = _CurrentArray)
+ {
+ while (_RemainingLength-- >= 1)
+ {
+#if HIGHER_VERSIONS
+ _Hash64 = RotateLeft64_11(_Hash64 ^ (arrayPtr[_CurrentIndex++] * PRIME64_5)) * PRIME64_1;
+#else
+ _Hash64 = RotateLeft64(_Hash64 ^ (arrayPtr[_CurrentIndex++] * PRIME64_5), 11) * PRIME64_1;
+#endif
+ }
+ }
+ }
+
+ _Hash64 = (_Hash64 ^ (_Hash64 >> 33)) * PRIME64_2;
+ _Hash64 = (_Hash64 ^ (_Hash64 >> 29)) * PRIME64_3;
+ _Hash64 ^= _Hash64 >> 32;
+
+ _TotalLength = State = 0;
+ return BitConverter.GetBytes(FuncGetFinalHashUInt64(_Hash64));
+ }
+
+#if HIGHER_VERSIONS
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong MergeRound64(ulong input, ulong value) => (input ^ Round64(0, value)) * PRIME64_1 + PRIME64_4;
+
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong Round64(ulong input, ulong value) => RotateLeft64_31(input + (value * PRIME64_2)) * PRIME64_1;
+
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong RotateLeft64_1(ulong value) => (value << 1) | (value >> 63); // _ACC64_1
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong RotateLeft64_7(ulong value) => (value << 7) | (value >> 57); // _ACC64_2
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong RotateLeft64_11(ulong value) => (value << 11) | (value >> 53);
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong RotateLeft64_12(ulong value) => (value << 12) | (value >> 52);// _ACC64_3
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong RotateLeft64_18(ulong value) => (value << 18) | (value >> 46); // _ACC64_4
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong RotateLeft64_23(ulong value) => (value << 23) | (value >> 41);
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong RotateLeft64_27(ulong value) => (value << 27) | (value >> 37);
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ private static ulong RotateLeft64_31(ulong value) => (value << 31) | (value >> 33);
+#else
+ private static ulong MergeRound64(ulong input, ulong value) => (input ^ Round64(0, value)) * PRIME64_1 + PRIME64_4;
+
+ private static ulong Round64(ulong input, ulong value) => RotateLeft64(input + (value * PRIME64_2), 31) * PRIME64_1;
+
+ private static ulong RotateLeft64(ulong value, int count) => (value << count) | (value >> (64 - count));
+#endif
+
+
+ private void Initialize(ulong seed)
+ {
+ HashSizeValue = 64;
+ _Seed64 = seed;
+ Initialize();
+ }
+
+
+ }
+
+}
\ No newline at end of file
diff --git a/SCHALE.Common/FlatData/AcademyFavorScheduleExcel.cs b/SCHALE.Common/FlatData/AcademyFavorScheduleExcel.cs
new file mode 100644
index 0000000..477567e
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyFavorScheduleExcel.cs
@@ -0,0 +1,147 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyFavorScheduleExcel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyFavorScheduleExcel GetRootAsAcademyFavorScheduleExcel(ByteBuffer _bb) { return GetRootAsAcademyFavorScheduleExcel(_bb, new AcademyFavorScheduleExcel()); }
+ public static AcademyFavorScheduleExcel GetRootAsAcademyFavorScheduleExcel(ByteBuffer _bb, AcademyFavorScheduleExcel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyFavorScheduleExcel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long Id { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long CharacterId { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long ScheduleGroupId { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long OrderInGroup { get { int o = __p.__offset(10); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public string Location { get { int o = __p.__offset(12); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetLocationBytes() { return __p.__vector_as_span(12, 1); }
+#else
+ public ArraySegment? GetLocationBytes() { return __p.__vector_as_arraysegment(12); }
+#endif
+ public byte[] GetLocationArray() { return __p.__vector_as_array(12); }
+ public uint LocalizeScenarioId { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetUint(o + __p.bb_pos) : (uint)0; } }
+ public long FavorRank { get { int o = __p.__offset(16); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long SecretStoneAmount { get { int o = __p.__offset(18); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long ScenarioSriptGroupId { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.ParcelType RewardParcelType(int j) { int o = __p.__offset(22); return o != 0 ? (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(__p.__vector(o) + j * 4) : (SCHALE.Common.FlatData.ParcelType)0; }
+ public int RewardParcelTypeLength { get { int o = __p.__offset(22); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetRewardParcelTypeBytes() { return __p.__vector_as_span(22, 4); }
+#else
+ public ArraySegment? GetRewardParcelTypeBytes() { return __p.__vector_as_arraysegment(22); }
+#endif
+ public SCHALE.Common.FlatData.ParcelType[] GetRewardParcelTypeArray() { int o = __p.__offset(22); if (o == 0) return null; int p = __p.__vector(o); int l = __p.__vector_len(o); SCHALE.Common.FlatData.ParcelType[] a = new SCHALE.Common.FlatData.ParcelType[l]; for (int i = 0; i < l; i++) { a[i] = (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(p + i * 4); } return a; }
+ public long RewardParcelId(int j) { int o = __p.__offset(24); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int RewardParcelIdLength { get { int o = __p.__offset(24); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetRewardParcelIdBytes() { return __p.__vector_as_span(24, 8); }
+#else
+ public ArraySegment? GetRewardParcelIdBytes() { return __p.__vector_as_arraysegment(24); }
+#endif
+ public long[] GetRewardParcelIdArray() { return __p.__vector_as_array(24); }
+ public long RewardAmount(int j) { int o = __p.__offset(26); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int RewardAmountLength { get { int o = __p.__offset(26); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetRewardAmountBytes() { return __p.__vector_as_span(26, 8); }
+#else
+ public ArraySegment? GetRewardAmountBytes() { return __p.__vector_as_arraysegment(26); }
+#endif
+ public long[] GetRewardAmountArray() { return __p.__vector_as_array(26); }
+
+ public static Offset CreateAcademyFavorScheduleExcel(FlatBufferBuilder builder,
+ long Id = 0,
+ long CharacterId = 0,
+ long ScheduleGroupId = 0,
+ long OrderInGroup = 0,
+ StringOffset LocationOffset = default(StringOffset),
+ uint LocalizeScenarioId = 0,
+ long FavorRank = 0,
+ long SecretStoneAmount = 0,
+ long ScenarioSriptGroupId = 0,
+ VectorOffset RewardParcelTypeOffset = default(VectorOffset),
+ VectorOffset RewardParcelIdOffset = default(VectorOffset),
+ VectorOffset RewardAmountOffset = default(VectorOffset)) {
+ builder.StartTable(12);
+ AcademyFavorScheduleExcel.AddScenarioSriptGroupId(builder, ScenarioSriptGroupId);
+ AcademyFavorScheduleExcel.AddSecretStoneAmount(builder, SecretStoneAmount);
+ AcademyFavorScheduleExcel.AddFavorRank(builder, FavorRank);
+ AcademyFavorScheduleExcel.AddOrderInGroup(builder, OrderInGroup);
+ AcademyFavorScheduleExcel.AddScheduleGroupId(builder, ScheduleGroupId);
+ AcademyFavorScheduleExcel.AddCharacterId(builder, CharacterId);
+ AcademyFavorScheduleExcel.AddId(builder, Id);
+ AcademyFavorScheduleExcel.AddRewardAmount(builder, RewardAmountOffset);
+ AcademyFavorScheduleExcel.AddRewardParcelId(builder, RewardParcelIdOffset);
+ AcademyFavorScheduleExcel.AddRewardParcelType(builder, RewardParcelTypeOffset);
+ AcademyFavorScheduleExcel.AddLocalizeScenarioId(builder, LocalizeScenarioId);
+ AcademyFavorScheduleExcel.AddLocation(builder, LocationOffset);
+ return AcademyFavorScheduleExcel.EndAcademyFavorScheduleExcel(builder);
+ }
+
+ public static void StartAcademyFavorScheduleExcel(FlatBufferBuilder builder) { builder.StartTable(12); }
+ public static void AddId(FlatBufferBuilder builder, long id) { builder.AddLong(0, id, 0); }
+ public static void AddCharacterId(FlatBufferBuilder builder, long characterId) { builder.AddLong(1, characterId, 0); }
+ public static void AddScheduleGroupId(FlatBufferBuilder builder, long scheduleGroupId) { builder.AddLong(2, scheduleGroupId, 0); }
+ public static void AddOrderInGroup(FlatBufferBuilder builder, long orderInGroup) { builder.AddLong(3, orderInGroup, 0); }
+ public static void AddLocation(FlatBufferBuilder builder, StringOffset locationOffset) { builder.AddOffset(4, locationOffset.Value, 0); }
+ public static void AddLocalizeScenarioId(FlatBufferBuilder builder, uint localizeScenarioId) { builder.AddUint(5, localizeScenarioId, 0); }
+ public static void AddFavorRank(FlatBufferBuilder builder, long favorRank) { builder.AddLong(6, favorRank, 0); }
+ public static void AddSecretStoneAmount(FlatBufferBuilder builder, long secretStoneAmount) { builder.AddLong(7, secretStoneAmount, 0); }
+ public static void AddScenarioSriptGroupId(FlatBufferBuilder builder, long scenarioSriptGroupId) { builder.AddLong(8, scenarioSriptGroupId, 0); }
+ public static void AddRewardParcelType(FlatBufferBuilder builder, VectorOffset rewardParcelTypeOffset) { builder.AddOffset(9, rewardParcelTypeOffset.Value, 0); }
+ public static VectorOffset CreateRewardParcelTypeVector(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddInt((int)data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartRewardParcelTypeVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static void AddRewardParcelId(FlatBufferBuilder builder, VectorOffset rewardParcelIdOffset) { builder.AddOffset(10, rewardParcelIdOffset.Value, 0); }
+ public static VectorOffset CreateRewardParcelIdVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelIdVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelIdVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelIdVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartRewardParcelIdVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
+ public static void AddRewardAmount(FlatBufferBuilder builder, VectorOffset rewardAmountOffset) { builder.AddOffset(11, rewardAmountOffset.Value, 0); }
+ public static VectorOffset CreateRewardAmountVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateRewardAmountVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardAmountVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardAmountVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartRewardAmountVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
+ public static Offset EndAcademyFavorScheduleExcel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyFavorScheduleExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyField(tablePos, 4 /*Id*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 6 /*CharacterId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 8 /*ScheduleGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 10 /*OrderInGroup*/, 8 /*long*/, 8, false)
+ && verifier.VerifyString(tablePos, 12 /*Location*/, false)
+ && verifier.VerifyField(tablePos, 14 /*LocalizeScenarioId*/, 4 /*uint*/, 4, false)
+ && verifier.VerifyField(tablePos, 16 /*FavorRank*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 18 /*SecretStoneAmount*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 20 /*ScenarioSriptGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyVectorOfData(tablePos, 22 /*RewardParcelType*/, 4 /*SCHALE.Common.FlatData.ParcelType*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 24 /*RewardParcelId*/, 8 /*long*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 26 /*RewardAmount*/, 8 /*long*/, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyFavorScheduleExcelTable.cs b/SCHALE.Common/FlatData/AcademyFavorScheduleExcelTable.cs
new file mode 100644
index 0000000..83fbe51
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyFavorScheduleExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyFavorScheduleExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyFavorScheduleExcelTable GetRootAsAcademyFavorScheduleExcelTable(ByteBuffer _bb) { return GetRootAsAcademyFavorScheduleExcelTable(_bb, new AcademyFavorScheduleExcelTable()); }
+ public static AcademyFavorScheduleExcelTable GetRootAsAcademyFavorScheduleExcelTable(ByteBuffer _bb, AcademyFavorScheduleExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyFavorScheduleExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyFavorScheduleExcel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyFavorScheduleExcel?)(new SCHALE.Common.FlatData.AcademyFavorScheduleExcel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyFavorScheduleExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyFavorScheduleExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyFavorScheduleExcelTable.EndAcademyFavorScheduleExcelTable(builder);
+ }
+
+ public static void StartAcademyFavorScheduleExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyFavorScheduleExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyFavorScheduleExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyFavorScheduleExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyLocationExcel.cs b/SCHALE.Common/FlatData/AcademyLocationExcel.cs
new file mode 100644
index 0000000..5757bb4
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyLocationExcel.cs
@@ -0,0 +1,126 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyLocationExcel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyLocationExcel GetRootAsAcademyLocationExcel(ByteBuffer _bb) { return GetRootAsAcademyLocationExcel(_bb, new AcademyLocationExcel()); }
+ public static AcademyLocationExcel GetRootAsAcademyLocationExcel(ByteBuffer _bb, AcademyLocationExcel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyLocationExcel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long Id { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public uint LocalizeEtcId { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetUint(o + __p.bb_pos) : (uint)0; } }
+ public string PrefabPath { get { int o = __p.__offset(8); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetPrefabPathBytes() { return __p.__vector_as_span(8, 1); }
+#else
+ public ArraySegment? GetPrefabPathBytes() { return __p.__vector_as_arraysegment(8); }
+#endif
+ public byte[] GetPrefabPathArray() { return __p.__vector_as_array(8); }
+ public string IconImagePath { get { int o = __p.__offset(10); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetIconImagePathBytes() { return __p.__vector_as_span(10, 1); }
+#else
+ public ArraySegment? GetIconImagePathBytes() { return __p.__vector_as_arraysegment(10); }
+#endif
+ public byte[] GetIconImagePathArray() { return __p.__vector_as_array(10); }
+ public SCHALE.Common.FlatData.School OpenCondition(int j) { int o = __p.__offset(12); return o != 0 ? (SCHALE.Common.FlatData.School)__p.bb.GetInt(__p.__vector(o) + j * 4) : (SCHALE.Common.FlatData.School)0; }
+ public int OpenConditionLength { get { int o = __p.__offset(12); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetOpenConditionBytes() { return __p.__vector_as_span(12, 4); }
+#else
+ public ArraySegment? GetOpenConditionBytes() { return __p.__vector_as_arraysegment(12); }
+#endif
+ public SCHALE.Common.FlatData.School[] GetOpenConditionArray() { int o = __p.__offset(12); if (o == 0) return null; int p = __p.__vector(o); int l = __p.__vector_len(o); SCHALE.Common.FlatData.School[] a = new SCHALE.Common.FlatData.School[l]; for (int i = 0; i < l; i++) { a[i] = (SCHALE.Common.FlatData.School)__p.bb.GetInt(p + i * 4); } return a; }
+ public long OpenConditionCount(int j) { int o = __p.__offset(14); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int OpenConditionCountLength { get { int o = __p.__offset(14); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetOpenConditionCountBytes() { return __p.__vector_as_span(14, 8); }
+#else
+ public ArraySegment? GetOpenConditionCountBytes() { return __p.__vector_as_arraysegment(14); }
+#endif
+ public long[] GetOpenConditionCountArray() { return __p.__vector_as_array(14); }
+ public SCHALE.Common.FlatData.ParcelType RewardParcelType { get { int o = __p.__offset(16); return o != 0 ? (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.ParcelType.None; } }
+ public long RewardParcelId { get { int o = __p.__offset(18); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long OpenTeacherRank { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+
+ public static Offset CreateAcademyLocationExcel(FlatBufferBuilder builder,
+ long Id = 0,
+ uint LocalizeEtcId = 0,
+ StringOffset PrefabPathOffset = default(StringOffset),
+ StringOffset IconImagePathOffset = default(StringOffset),
+ VectorOffset OpenConditionOffset = default(VectorOffset),
+ VectorOffset OpenConditionCountOffset = default(VectorOffset),
+ SCHALE.Common.FlatData.ParcelType RewardParcelType = SCHALE.Common.FlatData.ParcelType.None,
+ long RewardParcelId = 0,
+ long OpenTeacherRank = 0) {
+ builder.StartTable(9);
+ AcademyLocationExcel.AddOpenTeacherRank(builder, OpenTeacherRank);
+ AcademyLocationExcel.AddRewardParcelId(builder, RewardParcelId);
+ AcademyLocationExcel.AddId(builder, Id);
+ AcademyLocationExcel.AddRewardParcelType(builder, RewardParcelType);
+ AcademyLocationExcel.AddOpenConditionCount(builder, OpenConditionCountOffset);
+ AcademyLocationExcel.AddOpenCondition(builder, OpenConditionOffset);
+ AcademyLocationExcel.AddIconImagePath(builder, IconImagePathOffset);
+ AcademyLocationExcel.AddPrefabPath(builder, PrefabPathOffset);
+ AcademyLocationExcel.AddLocalizeEtcId(builder, LocalizeEtcId);
+ return AcademyLocationExcel.EndAcademyLocationExcel(builder);
+ }
+
+ public static void StartAcademyLocationExcel(FlatBufferBuilder builder) { builder.StartTable(9); }
+ public static void AddId(FlatBufferBuilder builder, long id) { builder.AddLong(0, id, 0); }
+ public static void AddLocalizeEtcId(FlatBufferBuilder builder, uint localizeEtcId) { builder.AddUint(1, localizeEtcId, 0); }
+ public static void AddPrefabPath(FlatBufferBuilder builder, StringOffset prefabPathOffset) { builder.AddOffset(2, prefabPathOffset.Value, 0); }
+ public static void AddIconImagePath(FlatBufferBuilder builder, StringOffset iconImagePathOffset) { builder.AddOffset(3, iconImagePathOffset.Value, 0); }
+ public static void AddOpenCondition(FlatBufferBuilder builder, VectorOffset openConditionOffset) { builder.AddOffset(4, openConditionOffset.Value, 0); }
+ public static VectorOffset CreateOpenConditionVector(FlatBufferBuilder builder, SCHALE.Common.FlatData.School[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddInt((int)data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateOpenConditionVectorBlock(FlatBufferBuilder builder, SCHALE.Common.FlatData.School[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateOpenConditionVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateOpenConditionVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartOpenConditionVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static void AddOpenConditionCount(FlatBufferBuilder builder, VectorOffset openConditionCountOffset) { builder.AddOffset(5, openConditionCountOffset.Value, 0); }
+ public static VectorOffset CreateOpenConditionCountVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateOpenConditionCountVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateOpenConditionCountVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateOpenConditionCountVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartOpenConditionCountVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
+ public static void AddRewardParcelType(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType rewardParcelType) { builder.AddInt(6, (int)rewardParcelType, 0); }
+ public static void AddRewardParcelId(FlatBufferBuilder builder, long rewardParcelId) { builder.AddLong(7, rewardParcelId, 0); }
+ public static void AddOpenTeacherRank(FlatBufferBuilder builder, long openTeacherRank) { builder.AddLong(8, openTeacherRank, 0); }
+ public static Offset EndAcademyLocationExcel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyLocationExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyField(tablePos, 4 /*Id*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 6 /*LocalizeEtcId*/, 4 /*uint*/, 4, false)
+ && verifier.VerifyString(tablePos, 8 /*PrefabPath*/, false)
+ && verifier.VerifyString(tablePos, 10 /*IconImagePath*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 12 /*OpenCondition*/, 4 /*SCHALE.Common.FlatData.School*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 14 /*OpenConditionCount*/, 8 /*long*/, false)
+ && verifier.VerifyField(tablePos, 16 /*RewardParcelType*/, 4 /*SCHALE.Common.FlatData.ParcelType*/, 4, false)
+ && verifier.VerifyField(tablePos, 18 /*RewardParcelId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 20 /*OpenTeacherRank*/, 8 /*long*/, 8, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyLocationExcelTable.cs b/SCHALE.Common/FlatData/AcademyLocationExcelTable.cs
new file mode 100644
index 0000000..776616a
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyLocationExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyLocationExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyLocationExcelTable GetRootAsAcademyLocationExcelTable(ByteBuffer _bb) { return GetRootAsAcademyLocationExcelTable(_bb, new AcademyLocationExcelTable()); }
+ public static AcademyLocationExcelTable GetRootAsAcademyLocationExcelTable(ByteBuffer _bb, AcademyLocationExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyLocationExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyLocationExcel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyLocationExcel?)(new SCHALE.Common.FlatData.AcademyLocationExcel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyLocationExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyLocationExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyLocationExcelTable.EndAcademyLocationExcelTable(builder);
+ }
+
+ public static void StartAcademyLocationExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyLocationExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyLocationExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyLocationExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyLocationRankExcel.cs b/SCHALE.Common/FlatData/AcademyLocationRankExcel.cs
new file mode 100644
index 0000000..efa1937
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyLocationRankExcel.cs
@@ -0,0 +1,60 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyLocationRankExcel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyLocationRankExcel GetRootAsAcademyLocationRankExcel(ByteBuffer _bb) { return GetRootAsAcademyLocationRankExcel(_bb, new AcademyLocationRankExcel()); }
+ public static AcademyLocationRankExcel GetRootAsAcademyLocationRankExcel(ByteBuffer _bb, AcademyLocationRankExcel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyLocationRankExcel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long Rank { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long RankExp { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long TotalExp { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+
+ public static Offset CreateAcademyLocationRankExcel(FlatBufferBuilder builder,
+ long Rank = 0,
+ long RankExp = 0,
+ long TotalExp = 0) {
+ builder.StartTable(3);
+ AcademyLocationRankExcel.AddTotalExp(builder, TotalExp);
+ AcademyLocationRankExcel.AddRankExp(builder, RankExp);
+ AcademyLocationRankExcel.AddRank(builder, Rank);
+ return AcademyLocationRankExcel.EndAcademyLocationRankExcel(builder);
+ }
+
+ public static void StartAcademyLocationRankExcel(FlatBufferBuilder builder) { builder.StartTable(3); }
+ public static void AddRank(FlatBufferBuilder builder, long rank) { builder.AddLong(0, rank, 0); }
+ public static void AddRankExp(FlatBufferBuilder builder, long rankExp) { builder.AddLong(1, rankExp, 0); }
+ public static void AddTotalExp(FlatBufferBuilder builder, long totalExp) { builder.AddLong(2, totalExp, 0); }
+ public static Offset EndAcademyLocationRankExcel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyLocationRankExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyField(tablePos, 4 /*Rank*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 6 /*RankExp*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 8 /*TotalExp*/, 8 /*long*/, 8, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyLocationRankExcelTable.cs b/SCHALE.Common/FlatData/AcademyLocationRankExcelTable.cs
new file mode 100644
index 0000000..59f1f97
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyLocationRankExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyLocationRankExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyLocationRankExcelTable GetRootAsAcademyLocationRankExcelTable(ByteBuffer _bb) { return GetRootAsAcademyLocationRankExcelTable(_bb, new AcademyLocationRankExcelTable()); }
+ public static AcademyLocationRankExcelTable GetRootAsAcademyLocationRankExcelTable(ByteBuffer _bb, AcademyLocationRankExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyLocationRankExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyLocationRankExcel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyLocationRankExcel?)(new SCHALE.Common.FlatData.AcademyLocationRankExcel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyLocationRankExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyLocationRankExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyLocationRankExcelTable.EndAcademyLocationRankExcelTable(builder);
+ }
+
+ public static void StartAcademyLocationRankExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyLocationRankExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyLocationRankExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyLocationRankExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessageConditions.cs b/SCHALE.Common/FlatData/AcademyMessageConditions.cs
new file mode 100644
index 0000000..2da20bc
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessageConditions.cs
@@ -0,0 +1,18 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+public enum AcademyMessageConditions : int
+{
+ None = 0,
+ FavorRankUp = 1,
+ AcademySchedule = 2,
+ Answer = 3,
+ Feedback = 4,
+};
+
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessageTypes.cs b/SCHALE.Common/FlatData/AcademyMessageTypes.cs
new file mode 100644
index 0000000..df511c9
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessageTypes.cs
@@ -0,0 +1,16 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+public enum AcademyMessageTypes : int
+{
+ None = 0,
+ Text = 1,
+ Image = 2,
+};
+
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessanger1Excel.cs b/SCHALE.Common/FlatData/AcademyMessanger1Excel.cs
new file mode 100644
index 0000000..fed1f18
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessanger1Excel.cs
@@ -0,0 +1,133 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyMessanger1Excel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyMessanger1Excel GetRootAsAcademyMessanger1Excel(ByteBuffer _bb) { return GetRootAsAcademyMessanger1Excel(_bb, new AcademyMessanger1Excel()); }
+ public static AcademyMessanger1Excel GetRootAsAcademyMessanger1Excel(ByteBuffer _bb, AcademyMessanger1Excel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyMessanger1Excel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long MessageGroupId { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long Id { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long CharacterId { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.AcademyMessageConditions MessageCondition { get { int o = __p.__offset(10); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessageConditions)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.AcademyMessageConditions.None; } }
+ public long ConditionValue { get { int o = __p.__offset(12); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long PreConditionGroupId { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long PreConditionFavorScheduleId { get { int o = __p.__offset(16); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FavorScheduleId { get { int o = __p.__offset(18); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long NextGroupId { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FeedbackTimeMillisec { get { int o = __p.__offset(22); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.AcademyMessageTypes MessageType { get { int o = __p.__offset(24); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessageTypes)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.AcademyMessageTypes.None; } }
+ public string ImagePath { get { int o = __p.__offset(26); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetImagePathBytes() { return __p.__vector_as_span(26, 1); }
+#else
+ public ArraySegment? GetImagePathBytes() { return __p.__vector_as_arraysegment(26); }
+#endif
+ public byte[] GetImagePathArray() { return __p.__vector_as_array(26); }
+ public string MessageKR { get { int o = __p.__offset(28); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetMessageKRBytes() { return __p.__vector_as_span(28, 1); }
+#else
+ public ArraySegment? GetMessageKRBytes() { return __p.__vector_as_arraysegment(28); }
+#endif
+ public byte[] GetMessageKRArray() { return __p.__vector_as_array(28); }
+ public string MessageJP { get { int o = __p.__offset(30); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetMessageJPBytes() { return __p.__vector_as_span(30, 1); }
+#else
+ public ArraySegment? GetMessageJPBytes() { return __p.__vector_as_arraysegment(30); }
+#endif
+ public byte[] GetMessageJPArray() { return __p.__vector_as_array(30); }
+
+ public static Offset CreateAcademyMessanger1Excel(FlatBufferBuilder builder,
+ long MessageGroupId = 0,
+ long Id = 0,
+ long CharacterId = 0,
+ SCHALE.Common.FlatData.AcademyMessageConditions MessageCondition = SCHALE.Common.FlatData.AcademyMessageConditions.None,
+ long ConditionValue = 0,
+ long PreConditionGroupId = 0,
+ long PreConditionFavorScheduleId = 0,
+ long FavorScheduleId = 0,
+ long NextGroupId = 0,
+ long FeedbackTimeMillisec = 0,
+ SCHALE.Common.FlatData.AcademyMessageTypes MessageType = SCHALE.Common.FlatData.AcademyMessageTypes.None,
+ StringOffset ImagePathOffset = default(StringOffset),
+ StringOffset MessageKROffset = default(StringOffset),
+ StringOffset MessageJPOffset = default(StringOffset)) {
+ builder.StartTable(14);
+ AcademyMessanger1Excel.AddFeedbackTimeMillisec(builder, FeedbackTimeMillisec);
+ AcademyMessanger1Excel.AddNextGroupId(builder, NextGroupId);
+ AcademyMessanger1Excel.AddFavorScheduleId(builder, FavorScheduleId);
+ AcademyMessanger1Excel.AddPreConditionFavorScheduleId(builder, PreConditionFavorScheduleId);
+ AcademyMessanger1Excel.AddPreConditionGroupId(builder, PreConditionGroupId);
+ AcademyMessanger1Excel.AddConditionValue(builder, ConditionValue);
+ AcademyMessanger1Excel.AddCharacterId(builder, CharacterId);
+ AcademyMessanger1Excel.AddId(builder, Id);
+ AcademyMessanger1Excel.AddMessageGroupId(builder, MessageGroupId);
+ AcademyMessanger1Excel.AddMessageJP(builder, MessageJPOffset);
+ AcademyMessanger1Excel.AddMessageKR(builder, MessageKROffset);
+ AcademyMessanger1Excel.AddImagePath(builder, ImagePathOffset);
+ AcademyMessanger1Excel.AddMessageType(builder, MessageType);
+ AcademyMessanger1Excel.AddMessageCondition(builder, MessageCondition);
+ return AcademyMessanger1Excel.EndAcademyMessanger1Excel(builder);
+ }
+
+ public static void StartAcademyMessanger1Excel(FlatBufferBuilder builder) { builder.StartTable(14); }
+ public static void AddMessageGroupId(FlatBufferBuilder builder, long messageGroupId) { builder.AddLong(0, messageGroupId, 0); }
+ public static void AddId(FlatBufferBuilder builder, long id) { builder.AddLong(1, id, 0); }
+ public static void AddCharacterId(FlatBufferBuilder builder, long characterId) { builder.AddLong(2, characterId, 0); }
+ public static void AddMessageCondition(FlatBufferBuilder builder, SCHALE.Common.FlatData.AcademyMessageConditions messageCondition) { builder.AddInt(3, (int)messageCondition, 0); }
+ public static void AddConditionValue(FlatBufferBuilder builder, long conditionValue) { builder.AddLong(4, conditionValue, 0); }
+ public static void AddPreConditionGroupId(FlatBufferBuilder builder, long preConditionGroupId) { builder.AddLong(5, preConditionGroupId, 0); }
+ public static void AddPreConditionFavorScheduleId(FlatBufferBuilder builder, long preConditionFavorScheduleId) { builder.AddLong(6, preConditionFavorScheduleId, 0); }
+ public static void AddFavorScheduleId(FlatBufferBuilder builder, long favorScheduleId) { builder.AddLong(7, favorScheduleId, 0); }
+ public static void AddNextGroupId(FlatBufferBuilder builder, long nextGroupId) { builder.AddLong(8, nextGroupId, 0); }
+ public static void AddFeedbackTimeMillisec(FlatBufferBuilder builder, long feedbackTimeMillisec) { builder.AddLong(9, feedbackTimeMillisec, 0); }
+ public static void AddMessageType(FlatBufferBuilder builder, SCHALE.Common.FlatData.AcademyMessageTypes messageType) { builder.AddInt(10, (int)messageType, 0); }
+ public static void AddImagePath(FlatBufferBuilder builder, StringOffset imagePathOffset) { builder.AddOffset(11, imagePathOffset.Value, 0); }
+ public static void AddMessageKR(FlatBufferBuilder builder, StringOffset messageKROffset) { builder.AddOffset(12, messageKROffset.Value, 0); }
+ public static void AddMessageJP(FlatBufferBuilder builder, StringOffset messageJPOffset) { builder.AddOffset(13, messageJPOffset.Value, 0); }
+ public static Offset EndAcademyMessanger1Excel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyMessanger1ExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyField(tablePos, 4 /*MessageGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 6 /*Id*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 8 /*CharacterId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 10 /*MessageCondition*/, 4 /*SCHALE.Common.FlatData.AcademyMessageConditions*/, 4, false)
+ && verifier.VerifyField(tablePos, 12 /*ConditionValue*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 14 /*PreConditionGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 16 /*PreConditionFavorScheduleId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 18 /*FavorScheduleId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 20 /*NextGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 22 /*FeedbackTimeMillisec*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 24 /*MessageType*/, 4 /*SCHALE.Common.FlatData.AcademyMessageTypes*/, 4, false)
+ && verifier.VerifyString(tablePos, 26 /*ImagePath*/, false)
+ && verifier.VerifyString(tablePos, 28 /*MessageKR*/, false)
+ && verifier.VerifyString(tablePos, 30 /*MessageJP*/, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessanger1ExcelTable.cs b/SCHALE.Common/FlatData/AcademyMessanger1ExcelTable.cs
new file mode 100644
index 0000000..2bef73f
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessanger1ExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyMessanger1ExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyMessanger1ExcelTable GetRootAsAcademyMessanger1ExcelTable(ByteBuffer _bb) { return GetRootAsAcademyMessanger1ExcelTable(_bb, new AcademyMessanger1ExcelTable()); }
+ public static AcademyMessanger1ExcelTable GetRootAsAcademyMessanger1ExcelTable(ByteBuffer _bb, AcademyMessanger1ExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyMessanger1ExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyMessanger1Excel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessanger1Excel?)(new SCHALE.Common.FlatData.AcademyMessanger1Excel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyMessanger1ExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyMessanger1ExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyMessanger1ExcelTable.EndAcademyMessanger1ExcelTable(builder);
+ }
+
+ public static void StartAcademyMessanger1ExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyMessanger1ExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyMessanger1ExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyMessanger1ExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessanger2Excel.cs b/SCHALE.Common/FlatData/AcademyMessanger2Excel.cs
new file mode 100644
index 0000000..7d2ff22
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessanger2Excel.cs
@@ -0,0 +1,133 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyMessanger2Excel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyMessanger2Excel GetRootAsAcademyMessanger2Excel(ByteBuffer _bb) { return GetRootAsAcademyMessanger2Excel(_bb, new AcademyMessanger2Excel()); }
+ public static AcademyMessanger2Excel GetRootAsAcademyMessanger2Excel(ByteBuffer _bb, AcademyMessanger2Excel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyMessanger2Excel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long MessageGroupId { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long Id { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long CharacterId { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.AcademyMessageConditions MessageCondition { get { int o = __p.__offset(10); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessageConditions)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.AcademyMessageConditions.None; } }
+ public long ConditionValue { get { int o = __p.__offset(12); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long PreConditionGroupId { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long PreConditionFavorScheduleId { get { int o = __p.__offset(16); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FavorScheduleId { get { int o = __p.__offset(18); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long NextGroupId { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FeedbackTimeMillisec { get { int o = __p.__offset(22); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.AcademyMessageTypes MessageType { get { int o = __p.__offset(24); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessageTypes)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.AcademyMessageTypes.None; } }
+ public string ImagePath { get { int o = __p.__offset(26); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetImagePathBytes() { return __p.__vector_as_span(26, 1); }
+#else
+ public ArraySegment? GetImagePathBytes() { return __p.__vector_as_arraysegment(26); }
+#endif
+ public byte[] GetImagePathArray() { return __p.__vector_as_array(26); }
+ public string MessageKR { get { int o = __p.__offset(28); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetMessageKRBytes() { return __p.__vector_as_span(28, 1); }
+#else
+ public ArraySegment? GetMessageKRBytes() { return __p.__vector_as_arraysegment(28); }
+#endif
+ public byte[] GetMessageKRArray() { return __p.__vector_as_array(28); }
+ public string MessageJP { get { int o = __p.__offset(30); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetMessageJPBytes() { return __p.__vector_as_span(30, 1); }
+#else
+ public ArraySegment? GetMessageJPBytes() { return __p.__vector_as_arraysegment(30); }
+#endif
+ public byte[] GetMessageJPArray() { return __p.__vector_as_array(30); }
+
+ public static Offset CreateAcademyMessanger2Excel(FlatBufferBuilder builder,
+ long MessageGroupId = 0,
+ long Id = 0,
+ long CharacterId = 0,
+ SCHALE.Common.FlatData.AcademyMessageConditions MessageCondition = SCHALE.Common.FlatData.AcademyMessageConditions.None,
+ long ConditionValue = 0,
+ long PreConditionGroupId = 0,
+ long PreConditionFavorScheduleId = 0,
+ long FavorScheduleId = 0,
+ long NextGroupId = 0,
+ long FeedbackTimeMillisec = 0,
+ SCHALE.Common.FlatData.AcademyMessageTypes MessageType = SCHALE.Common.FlatData.AcademyMessageTypes.None,
+ StringOffset ImagePathOffset = default(StringOffset),
+ StringOffset MessageKROffset = default(StringOffset),
+ StringOffset MessageJPOffset = default(StringOffset)) {
+ builder.StartTable(14);
+ AcademyMessanger2Excel.AddFeedbackTimeMillisec(builder, FeedbackTimeMillisec);
+ AcademyMessanger2Excel.AddNextGroupId(builder, NextGroupId);
+ AcademyMessanger2Excel.AddFavorScheduleId(builder, FavorScheduleId);
+ AcademyMessanger2Excel.AddPreConditionFavorScheduleId(builder, PreConditionFavorScheduleId);
+ AcademyMessanger2Excel.AddPreConditionGroupId(builder, PreConditionGroupId);
+ AcademyMessanger2Excel.AddConditionValue(builder, ConditionValue);
+ AcademyMessanger2Excel.AddCharacterId(builder, CharacterId);
+ AcademyMessanger2Excel.AddId(builder, Id);
+ AcademyMessanger2Excel.AddMessageGroupId(builder, MessageGroupId);
+ AcademyMessanger2Excel.AddMessageJP(builder, MessageJPOffset);
+ AcademyMessanger2Excel.AddMessageKR(builder, MessageKROffset);
+ AcademyMessanger2Excel.AddImagePath(builder, ImagePathOffset);
+ AcademyMessanger2Excel.AddMessageType(builder, MessageType);
+ AcademyMessanger2Excel.AddMessageCondition(builder, MessageCondition);
+ return AcademyMessanger2Excel.EndAcademyMessanger2Excel(builder);
+ }
+
+ public static void StartAcademyMessanger2Excel(FlatBufferBuilder builder) { builder.StartTable(14); }
+ public static void AddMessageGroupId(FlatBufferBuilder builder, long messageGroupId) { builder.AddLong(0, messageGroupId, 0); }
+ public static void AddId(FlatBufferBuilder builder, long id) { builder.AddLong(1, id, 0); }
+ public static void AddCharacterId(FlatBufferBuilder builder, long characterId) { builder.AddLong(2, characterId, 0); }
+ public static void AddMessageCondition(FlatBufferBuilder builder, SCHALE.Common.FlatData.AcademyMessageConditions messageCondition) { builder.AddInt(3, (int)messageCondition, 0); }
+ public static void AddConditionValue(FlatBufferBuilder builder, long conditionValue) { builder.AddLong(4, conditionValue, 0); }
+ public static void AddPreConditionGroupId(FlatBufferBuilder builder, long preConditionGroupId) { builder.AddLong(5, preConditionGroupId, 0); }
+ public static void AddPreConditionFavorScheduleId(FlatBufferBuilder builder, long preConditionFavorScheduleId) { builder.AddLong(6, preConditionFavorScheduleId, 0); }
+ public static void AddFavorScheduleId(FlatBufferBuilder builder, long favorScheduleId) { builder.AddLong(7, favorScheduleId, 0); }
+ public static void AddNextGroupId(FlatBufferBuilder builder, long nextGroupId) { builder.AddLong(8, nextGroupId, 0); }
+ public static void AddFeedbackTimeMillisec(FlatBufferBuilder builder, long feedbackTimeMillisec) { builder.AddLong(9, feedbackTimeMillisec, 0); }
+ public static void AddMessageType(FlatBufferBuilder builder, SCHALE.Common.FlatData.AcademyMessageTypes messageType) { builder.AddInt(10, (int)messageType, 0); }
+ public static void AddImagePath(FlatBufferBuilder builder, StringOffset imagePathOffset) { builder.AddOffset(11, imagePathOffset.Value, 0); }
+ public static void AddMessageKR(FlatBufferBuilder builder, StringOffset messageKROffset) { builder.AddOffset(12, messageKROffset.Value, 0); }
+ public static void AddMessageJP(FlatBufferBuilder builder, StringOffset messageJPOffset) { builder.AddOffset(13, messageJPOffset.Value, 0); }
+ public static Offset EndAcademyMessanger2Excel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyMessanger2ExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyField(tablePos, 4 /*MessageGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 6 /*Id*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 8 /*CharacterId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 10 /*MessageCondition*/, 4 /*SCHALE.Common.FlatData.AcademyMessageConditions*/, 4, false)
+ && verifier.VerifyField(tablePos, 12 /*ConditionValue*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 14 /*PreConditionGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 16 /*PreConditionFavorScheduleId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 18 /*FavorScheduleId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 20 /*NextGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 22 /*FeedbackTimeMillisec*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 24 /*MessageType*/, 4 /*SCHALE.Common.FlatData.AcademyMessageTypes*/, 4, false)
+ && verifier.VerifyString(tablePos, 26 /*ImagePath*/, false)
+ && verifier.VerifyString(tablePos, 28 /*MessageKR*/, false)
+ && verifier.VerifyString(tablePos, 30 /*MessageJP*/, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessanger2ExcelTable.cs b/SCHALE.Common/FlatData/AcademyMessanger2ExcelTable.cs
new file mode 100644
index 0000000..5b36f82
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessanger2ExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyMessanger2ExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyMessanger2ExcelTable GetRootAsAcademyMessanger2ExcelTable(ByteBuffer _bb) { return GetRootAsAcademyMessanger2ExcelTable(_bb, new AcademyMessanger2ExcelTable()); }
+ public static AcademyMessanger2ExcelTable GetRootAsAcademyMessanger2ExcelTable(ByteBuffer _bb, AcademyMessanger2ExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyMessanger2ExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyMessanger2Excel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessanger2Excel?)(new SCHALE.Common.FlatData.AcademyMessanger2Excel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyMessanger2ExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyMessanger2ExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyMessanger2ExcelTable.EndAcademyMessanger2ExcelTable(builder);
+ }
+
+ public static void StartAcademyMessanger2ExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyMessanger2ExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyMessanger2ExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyMessanger2ExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessanger3Excel.cs b/SCHALE.Common/FlatData/AcademyMessanger3Excel.cs
new file mode 100644
index 0000000..dec3693
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessanger3Excel.cs
@@ -0,0 +1,133 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyMessanger3Excel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyMessanger3Excel GetRootAsAcademyMessanger3Excel(ByteBuffer _bb) { return GetRootAsAcademyMessanger3Excel(_bb, new AcademyMessanger3Excel()); }
+ public static AcademyMessanger3Excel GetRootAsAcademyMessanger3Excel(ByteBuffer _bb, AcademyMessanger3Excel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyMessanger3Excel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long MessageGroupId { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long Id { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long CharacterId { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.AcademyMessageConditions MessageCondition { get { int o = __p.__offset(10); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessageConditions)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.AcademyMessageConditions.None; } }
+ public long ConditionValue { get { int o = __p.__offset(12); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long PreConditionGroupId { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long PreConditionFavorScheduleId { get { int o = __p.__offset(16); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FavorScheduleId { get { int o = __p.__offset(18); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long NextGroupId { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FeedbackTimeMillisec { get { int o = __p.__offset(22); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.AcademyMessageTypes MessageType { get { int o = __p.__offset(24); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessageTypes)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.AcademyMessageTypes.None; } }
+ public string ImagePath { get { int o = __p.__offset(26); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetImagePathBytes() { return __p.__vector_as_span(26, 1); }
+#else
+ public ArraySegment? GetImagePathBytes() { return __p.__vector_as_arraysegment(26); }
+#endif
+ public byte[] GetImagePathArray() { return __p.__vector_as_array(26); }
+ public string MessageKR { get { int o = __p.__offset(28); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetMessageKRBytes() { return __p.__vector_as_span(28, 1); }
+#else
+ public ArraySegment? GetMessageKRBytes() { return __p.__vector_as_arraysegment(28); }
+#endif
+ public byte[] GetMessageKRArray() { return __p.__vector_as_array(28); }
+ public string MessageJP { get { int o = __p.__offset(30); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetMessageJPBytes() { return __p.__vector_as_span(30, 1); }
+#else
+ public ArraySegment? GetMessageJPBytes() { return __p.__vector_as_arraysegment(30); }
+#endif
+ public byte[] GetMessageJPArray() { return __p.__vector_as_array(30); }
+
+ public static Offset CreateAcademyMessanger3Excel(FlatBufferBuilder builder,
+ long MessageGroupId = 0,
+ long Id = 0,
+ long CharacterId = 0,
+ SCHALE.Common.FlatData.AcademyMessageConditions MessageCondition = SCHALE.Common.FlatData.AcademyMessageConditions.None,
+ long ConditionValue = 0,
+ long PreConditionGroupId = 0,
+ long PreConditionFavorScheduleId = 0,
+ long FavorScheduleId = 0,
+ long NextGroupId = 0,
+ long FeedbackTimeMillisec = 0,
+ SCHALE.Common.FlatData.AcademyMessageTypes MessageType = SCHALE.Common.FlatData.AcademyMessageTypes.None,
+ StringOffset ImagePathOffset = default(StringOffset),
+ StringOffset MessageKROffset = default(StringOffset),
+ StringOffset MessageJPOffset = default(StringOffset)) {
+ builder.StartTable(14);
+ AcademyMessanger3Excel.AddFeedbackTimeMillisec(builder, FeedbackTimeMillisec);
+ AcademyMessanger3Excel.AddNextGroupId(builder, NextGroupId);
+ AcademyMessanger3Excel.AddFavorScheduleId(builder, FavorScheduleId);
+ AcademyMessanger3Excel.AddPreConditionFavorScheduleId(builder, PreConditionFavorScheduleId);
+ AcademyMessanger3Excel.AddPreConditionGroupId(builder, PreConditionGroupId);
+ AcademyMessanger3Excel.AddConditionValue(builder, ConditionValue);
+ AcademyMessanger3Excel.AddCharacterId(builder, CharacterId);
+ AcademyMessanger3Excel.AddId(builder, Id);
+ AcademyMessanger3Excel.AddMessageGroupId(builder, MessageGroupId);
+ AcademyMessanger3Excel.AddMessageJP(builder, MessageJPOffset);
+ AcademyMessanger3Excel.AddMessageKR(builder, MessageKROffset);
+ AcademyMessanger3Excel.AddImagePath(builder, ImagePathOffset);
+ AcademyMessanger3Excel.AddMessageType(builder, MessageType);
+ AcademyMessanger3Excel.AddMessageCondition(builder, MessageCondition);
+ return AcademyMessanger3Excel.EndAcademyMessanger3Excel(builder);
+ }
+
+ public static void StartAcademyMessanger3Excel(FlatBufferBuilder builder) { builder.StartTable(14); }
+ public static void AddMessageGroupId(FlatBufferBuilder builder, long messageGroupId) { builder.AddLong(0, messageGroupId, 0); }
+ public static void AddId(FlatBufferBuilder builder, long id) { builder.AddLong(1, id, 0); }
+ public static void AddCharacterId(FlatBufferBuilder builder, long characterId) { builder.AddLong(2, characterId, 0); }
+ public static void AddMessageCondition(FlatBufferBuilder builder, SCHALE.Common.FlatData.AcademyMessageConditions messageCondition) { builder.AddInt(3, (int)messageCondition, 0); }
+ public static void AddConditionValue(FlatBufferBuilder builder, long conditionValue) { builder.AddLong(4, conditionValue, 0); }
+ public static void AddPreConditionGroupId(FlatBufferBuilder builder, long preConditionGroupId) { builder.AddLong(5, preConditionGroupId, 0); }
+ public static void AddPreConditionFavorScheduleId(FlatBufferBuilder builder, long preConditionFavorScheduleId) { builder.AddLong(6, preConditionFavorScheduleId, 0); }
+ public static void AddFavorScheduleId(FlatBufferBuilder builder, long favorScheduleId) { builder.AddLong(7, favorScheduleId, 0); }
+ public static void AddNextGroupId(FlatBufferBuilder builder, long nextGroupId) { builder.AddLong(8, nextGroupId, 0); }
+ public static void AddFeedbackTimeMillisec(FlatBufferBuilder builder, long feedbackTimeMillisec) { builder.AddLong(9, feedbackTimeMillisec, 0); }
+ public static void AddMessageType(FlatBufferBuilder builder, SCHALE.Common.FlatData.AcademyMessageTypes messageType) { builder.AddInt(10, (int)messageType, 0); }
+ public static void AddImagePath(FlatBufferBuilder builder, StringOffset imagePathOffset) { builder.AddOffset(11, imagePathOffset.Value, 0); }
+ public static void AddMessageKR(FlatBufferBuilder builder, StringOffset messageKROffset) { builder.AddOffset(12, messageKROffset.Value, 0); }
+ public static void AddMessageJP(FlatBufferBuilder builder, StringOffset messageJPOffset) { builder.AddOffset(13, messageJPOffset.Value, 0); }
+ public static Offset EndAcademyMessanger3Excel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyMessanger3ExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyField(tablePos, 4 /*MessageGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 6 /*Id*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 8 /*CharacterId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 10 /*MessageCondition*/, 4 /*SCHALE.Common.FlatData.AcademyMessageConditions*/, 4, false)
+ && verifier.VerifyField(tablePos, 12 /*ConditionValue*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 14 /*PreConditionGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 16 /*PreConditionFavorScheduleId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 18 /*FavorScheduleId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 20 /*NextGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 22 /*FeedbackTimeMillisec*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 24 /*MessageType*/, 4 /*SCHALE.Common.FlatData.AcademyMessageTypes*/, 4, false)
+ && verifier.VerifyString(tablePos, 26 /*ImagePath*/, false)
+ && verifier.VerifyString(tablePos, 28 /*MessageKR*/, false)
+ && verifier.VerifyString(tablePos, 30 /*MessageJP*/, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessanger3ExcelTable.cs b/SCHALE.Common/FlatData/AcademyMessanger3ExcelTable.cs
new file mode 100644
index 0000000..9f24123
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessanger3ExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyMessanger3ExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyMessanger3ExcelTable GetRootAsAcademyMessanger3ExcelTable(ByteBuffer _bb) { return GetRootAsAcademyMessanger3ExcelTable(_bb, new AcademyMessanger3ExcelTable()); }
+ public static AcademyMessanger3ExcelTable GetRootAsAcademyMessanger3ExcelTable(ByteBuffer _bb, AcademyMessanger3ExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyMessanger3ExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyMessanger3Excel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessanger3Excel?)(new SCHALE.Common.FlatData.AcademyMessanger3Excel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyMessanger3ExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyMessanger3ExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyMessanger3ExcelTable.EndAcademyMessanger3ExcelTable(builder);
+ }
+
+ public static void StartAcademyMessanger3ExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyMessanger3ExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyMessanger3ExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyMessanger3ExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessangerExcel.cs b/SCHALE.Common/FlatData/AcademyMessangerExcel.cs
new file mode 100644
index 0000000..af7156a
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessangerExcel.cs
@@ -0,0 +1,133 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyMessangerExcel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyMessangerExcel GetRootAsAcademyMessangerExcel(ByteBuffer _bb) { return GetRootAsAcademyMessangerExcel(_bb, new AcademyMessangerExcel()); }
+ public static AcademyMessangerExcel GetRootAsAcademyMessangerExcel(ByteBuffer _bb, AcademyMessangerExcel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyMessangerExcel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long MessageGroupId { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long Id { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long CharacterId { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.AcademyMessageConditions MessageCondition { get { int o = __p.__offset(10); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessageConditions)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.AcademyMessageConditions.None; } }
+ public long ConditionValue { get { int o = __p.__offset(12); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long PreConditionGroupId { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long PreConditionFavorScheduleId { get { int o = __p.__offset(16); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FavorScheduleId { get { int o = __p.__offset(18); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long NextGroupId { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FeedbackTimeMillisec { get { int o = __p.__offset(22); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.AcademyMessageTypes MessageType { get { int o = __p.__offset(24); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessageTypes)__p.bb.GetInt(o + __p.bb_pos) : SCHALE.Common.FlatData.AcademyMessageTypes.None; } }
+ public string ImagePath { get { int o = __p.__offset(26); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetImagePathBytes() { return __p.__vector_as_span(26, 1); }
+#else
+ public ArraySegment? GetImagePathBytes() { return __p.__vector_as_arraysegment(26); }
+#endif
+ public byte[] GetImagePathArray() { return __p.__vector_as_array(26); }
+ public string MessageKR { get { int o = __p.__offset(28); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetMessageKRBytes() { return __p.__vector_as_span(28, 1); }
+#else
+ public ArraySegment? GetMessageKRBytes() { return __p.__vector_as_arraysegment(28); }
+#endif
+ public byte[] GetMessageKRArray() { return __p.__vector_as_array(28); }
+ public string MessageJP { get { int o = __p.__offset(30); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetMessageJPBytes() { return __p.__vector_as_span(30, 1); }
+#else
+ public ArraySegment? GetMessageJPBytes() { return __p.__vector_as_arraysegment(30); }
+#endif
+ public byte[] GetMessageJPArray() { return __p.__vector_as_array(30); }
+
+ public static Offset CreateAcademyMessangerExcel(FlatBufferBuilder builder,
+ long MessageGroupId = 0,
+ long Id = 0,
+ long CharacterId = 0,
+ SCHALE.Common.FlatData.AcademyMessageConditions MessageCondition = SCHALE.Common.FlatData.AcademyMessageConditions.None,
+ long ConditionValue = 0,
+ long PreConditionGroupId = 0,
+ long PreConditionFavorScheduleId = 0,
+ long FavorScheduleId = 0,
+ long NextGroupId = 0,
+ long FeedbackTimeMillisec = 0,
+ SCHALE.Common.FlatData.AcademyMessageTypes MessageType = SCHALE.Common.FlatData.AcademyMessageTypes.None,
+ StringOffset ImagePathOffset = default(StringOffset),
+ StringOffset MessageKROffset = default(StringOffset),
+ StringOffset MessageJPOffset = default(StringOffset)) {
+ builder.StartTable(14);
+ AcademyMessangerExcel.AddFeedbackTimeMillisec(builder, FeedbackTimeMillisec);
+ AcademyMessangerExcel.AddNextGroupId(builder, NextGroupId);
+ AcademyMessangerExcel.AddFavorScheduleId(builder, FavorScheduleId);
+ AcademyMessangerExcel.AddPreConditionFavorScheduleId(builder, PreConditionFavorScheduleId);
+ AcademyMessangerExcel.AddPreConditionGroupId(builder, PreConditionGroupId);
+ AcademyMessangerExcel.AddConditionValue(builder, ConditionValue);
+ AcademyMessangerExcel.AddCharacterId(builder, CharacterId);
+ AcademyMessangerExcel.AddId(builder, Id);
+ AcademyMessangerExcel.AddMessageGroupId(builder, MessageGroupId);
+ AcademyMessangerExcel.AddMessageJP(builder, MessageJPOffset);
+ AcademyMessangerExcel.AddMessageKR(builder, MessageKROffset);
+ AcademyMessangerExcel.AddImagePath(builder, ImagePathOffset);
+ AcademyMessangerExcel.AddMessageType(builder, MessageType);
+ AcademyMessangerExcel.AddMessageCondition(builder, MessageCondition);
+ return AcademyMessangerExcel.EndAcademyMessangerExcel(builder);
+ }
+
+ public static void StartAcademyMessangerExcel(FlatBufferBuilder builder) { builder.StartTable(14); }
+ public static void AddMessageGroupId(FlatBufferBuilder builder, long messageGroupId) { builder.AddLong(0, messageGroupId, 0); }
+ public static void AddId(FlatBufferBuilder builder, long id) { builder.AddLong(1, id, 0); }
+ public static void AddCharacterId(FlatBufferBuilder builder, long characterId) { builder.AddLong(2, characterId, 0); }
+ public static void AddMessageCondition(FlatBufferBuilder builder, SCHALE.Common.FlatData.AcademyMessageConditions messageCondition) { builder.AddInt(3, (int)messageCondition, 0); }
+ public static void AddConditionValue(FlatBufferBuilder builder, long conditionValue) { builder.AddLong(4, conditionValue, 0); }
+ public static void AddPreConditionGroupId(FlatBufferBuilder builder, long preConditionGroupId) { builder.AddLong(5, preConditionGroupId, 0); }
+ public static void AddPreConditionFavorScheduleId(FlatBufferBuilder builder, long preConditionFavorScheduleId) { builder.AddLong(6, preConditionFavorScheduleId, 0); }
+ public static void AddFavorScheduleId(FlatBufferBuilder builder, long favorScheduleId) { builder.AddLong(7, favorScheduleId, 0); }
+ public static void AddNextGroupId(FlatBufferBuilder builder, long nextGroupId) { builder.AddLong(8, nextGroupId, 0); }
+ public static void AddFeedbackTimeMillisec(FlatBufferBuilder builder, long feedbackTimeMillisec) { builder.AddLong(9, feedbackTimeMillisec, 0); }
+ public static void AddMessageType(FlatBufferBuilder builder, SCHALE.Common.FlatData.AcademyMessageTypes messageType) { builder.AddInt(10, (int)messageType, 0); }
+ public static void AddImagePath(FlatBufferBuilder builder, StringOffset imagePathOffset) { builder.AddOffset(11, imagePathOffset.Value, 0); }
+ public static void AddMessageKR(FlatBufferBuilder builder, StringOffset messageKROffset) { builder.AddOffset(12, messageKROffset.Value, 0); }
+ public static void AddMessageJP(FlatBufferBuilder builder, StringOffset messageJPOffset) { builder.AddOffset(13, messageJPOffset.Value, 0); }
+ public static Offset EndAcademyMessangerExcel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyMessangerExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyField(tablePos, 4 /*MessageGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 6 /*Id*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 8 /*CharacterId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 10 /*MessageCondition*/, 4 /*SCHALE.Common.FlatData.AcademyMessageConditions*/, 4, false)
+ && verifier.VerifyField(tablePos, 12 /*ConditionValue*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 14 /*PreConditionGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 16 /*PreConditionFavorScheduleId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 18 /*FavorScheduleId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 20 /*NextGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 22 /*FeedbackTimeMillisec*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 24 /*MessageType*/, 4 /*SCHALE.Common.FlatData.AcademyMessageTypes*/, 4, false)
+ && verifier.VerifyString(tablePos, 26 /*ImagePath*/, false)
+ && verifier.VerifyString(tablePos, 28 /*MessageKR*/, false)
+ && verifier.VerifyString(tablePos, 30 /*MessageJP*/, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyMessangerExcelTable.cs b/SCHALE.Common/FlatData/AcademyMessangerExcelTable.cs
new file mode 100644
index 0000000..f100c28
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyMessangerExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyMessangerExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyMessangerExcelTable GetRootAsAcademyMessangerExcelTable(ByteBuffer _bb) { return GetRootAsAcademyMessangerExcelTable(_bb, new AcademyMessangerExcelTable()); }
+ public static AcademyMessangerExcelTable GetRootAsAcademyMessangerExcelTable(ByteBuffer _bb, AcademyMessangerExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyMessangerExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyMessangerExcel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyMessangerExcel?)(new SCHALE.Common.FlatData.AcademyMessangerExcel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyMessangerExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyMessangerExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyMessangerExcelTable.EndAcademyMessangerExcelTable(builder);
+ }
+
+ public static void StartAcademyMessangerExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyMessangerExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyMessangerExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyMessangerExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyRewardExcel.cs b/SCHALE.Common/FlatData/AcademyRewardExcel.cs
new file mode 100644
index 0000000..22dd0c1
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyRewardExcel.cs
@@ -0,0 +1,253 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyRewardExcel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyRewardExcel GetRootAsAcademyRewardExcel(ByteBuffer _bb) { return GetRootAsAcademyRewardExcel(_bb, new AcademyRewardExcel()); }
+ public static AcademyRewardExcel GetRootAsAcademyRewardExcel(ByteBuffer _bb, AcademyRewardExcel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyRewardExcel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public string Location { get { int o = __p.__offset(4); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetLocationBytes() { return __p.__vector_as_span(4, 1); }
+#else
+ public ArraySegment? GetLocationBytes() { return __p.__vector_as_arraysegment(4); }
+#endif
+ public byte[] GetLocationArray() { return __p.__vector_as_array(4); }
+ public long ScheduleGroupId { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long OrderInGroup { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long Id { get { int o = __p.__offset(10); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public string ProgressTexture { get { int o = __p.__offset(12); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } }
+#if ENABLE_SPAN_T
+ public Span GetProgressTextureBytes() { return __p.__vector_as_span(12, 1); }
+#else
+ public ArraySegment? GetProgressTextureBytes() { return __p.__vector_as_arraysegment(12); }
+#endif
+ public byte[] GetProgressTextureArray() { return __p.__vector_as_array(12); }
+ public uint LocalizeEtcId { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetUint(o + __p.bb_pos) : (uint)0; } }
+ public long LocationRank { get { int o = __p.__offset(16); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long FavorExp { get { int o = __p.__offset(18); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long SecretStoneAmount { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long SecretStoneProb { get { int o = __p.__offset(22); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long ExtraFavorExp { get { int o = __p.__offset(24); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long ExtraFavorExpProb { get { int o = __p.__offset(26); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.ParcelType ExtraRewardParcelType(int j) { int o = __p.__offset(28); return o != 0 ? (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(__p.__vector(o) + j * 4) : (SCHALE.Common.FlatData.ParcelType)0; }
+ public int ExtraRewardParcelTypeLength { get { int o = __p.__offset(28); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetExtraRewardParcelTypeBytes() { return __p.__vector_as_span(28, 4); }
+#else
+ public ArraySegment? GetExtraRewardParcelTypeBytes() { return __p.__vector_as_arraysegment(28); }
+#endif
+ public SCHALE.Common.FlatData.ParcelType[] GetExtraRewardParcelTypeArray() { int o = __p.__offset(28); if (o == 0) return null; int p = __p.__vector(o); int l = __p.__vector_len(o); SCHALE.Common.FlatData.ParcelType[] a = new SCHALE.Common.FlatData.ParcelType[l]; for (int i = 0; i < l; i++) { a[i] = (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(p + i * 4); } return a; }
+ public long ExtraRewardParcelId(int j) { int o = __p.__offset(30); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int ExtraRewardParcelIdLength { get { int o = __p.__offset(30); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetExtraRewardParcelIdBytes() { return __p.__vector_as_span(30, 8); }
+#else
+ public ArraySegment? GetExtraRewardParcelIdBytes() { return __p.__vector_as_arraysegment(30); }
+#endif
+ public long[] GetExtraRewardParcelIdArray() { return __p.__vector_as_array(30); }
+ public long ExtraRewardAmount(int j) { int o = __p.__offset(32); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int ExtraRewardAmountLength { get { int o = __p.__offset(32); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetExtraRewardAmountBytes() { return __p.__vector_as_span(32, 8); }
+#else
+ public ArraySegment? GetExtraRewardAmountBytes() { return __p.__vector_as_arraysegment(32); }
+#endif
+ public long[] GetExtraRewardAmountArray() { return __p.__vector_as_array(32); }
+ public long ExtraRewardProb(int j) { int o = __p.__offset(34); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int ExtraRewardProbLength { get { int o = __p.__offset(34); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetExtraRewardProbBytes() { return __p.__vector_as_span(34, 8); }
+#else
+ public ArraySegment? GetExtraRewardProbBytes() { return __p.__vector_as_arraysegment(34); }
+#endif
+ public long[] GetExtraRewardProbArray() { return __p.__vector_as_array(34); }
+ public bool IsExtraRewardDisplayed(int j) { int o = __p.__offset(36); return o != 0 ? 0!=__p.bb.Get(__p.__vector(o) + j * 1) : false; }
+ public int IsExtraRewardDisplayedLength { get { int o = __p.__offset(36); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetIsExtraRewardDisplayedBytes() { return __p.__vector_as_span(36, 1); }
+#else
+ public ArraySegment? GetIsExtraRewardDisplayedBytes() { return __p.__vector_as_arraysegment(36); }
+#endif
+ public bool[] GetIsExtraRewardDisplayedArray() { return __p.__vector_as_array(36); }
+ public SCHALE.Common.FlatData.ParcelType RewardParcelType(int j) { int o = __p.__offset(38); return o != 0 ? (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(__p.__vector(o) + j * 4) : (SCHALE.Common.FlatData.ParcelType)0; }
+ public int RewardParcelTypeLength { get { int o = __p.__offset(38); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetRewardParcelTypeBytes() { return __p.__vector_as_span(38, 4); }
+#else
+ public ArraySegment? GetRewardParcelTypeBytes() { return __p.__vector_as_arraysegment(38); }
+#endif
+ public SCHALE.Common.FlatData.ParcelType[] GetRewardParcelTypeArray() { int o = __p.__offset(38); if (o == 0) return null; int p = __p.__vector(o); int l = __p.__vector_len(o); SCHALE.Common.FlatData.ParcelType[] a = new SCHALE.Common.FlatData.ParcelType[l]; for (int i = 0; i < l; i++) { a[i] = (SCHALE.Common.FlatData.ParcelType)__p.bb.GetInt(p + i * 4); } return a; }
+ public long RewardParcelId(int j) { int o = __p.__offset(40); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int RewardParcelIdLength { get { int o = __p.__offset(40); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetRewardParcelIdBytes() { return __p.__vector_as_span(40, 8); }
+#else
+ public ArraySegment? GetRewardParcelIdBytes() { return __p.__vector_as_arraysegment(40); }
+#endif
+ public long[] GetRewardParcelIdArray() { return __p.__vector_as_array(40); }
+ public long RewardAmount(int j) { int o = __p.__offset(42); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int RewardAmountLength { get { int o = __p.__offset(42); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetRewardAmountBytes() { return __p.__vector_as_span(42, 8); }
+#else
+ public ArraySegment? GetRewardAmountBytes() { return __p.__vector_as_arraysegment(42); }
+#endif
+ public long[] GetRewardAmountArray() { return __p.__vector_as_array(42); }
+
+ public static Offset CreateAcademyRewardExcel(FlatBufferBuilder builder,
+ StringOffset LocationOffset = default(StringOffset),
+ long ScheduleGroupId = 0,
+ long OrderInGroup = 0,
+ long Id = 0,
+ StringOffset ProgressTextureOffset = default(StringOffset),
+ uint LocalizeEtcId = 0,
+ long LocationRank = 0,
+ long FavorExp = 0,
+ long SecretStoneAmount = 0,
+ long SecretStoneProb = 0,
+ long ExtraFavorExp = 0,
+ long ExtraFavorExpProb = 0,
+ VectorOffset ExtraRewardParcelTypeOffset = default(VectorOffset),
+ VectorOffset ExtraRewardParcelIdOffset = default(VectorOffset),
+ VectorOffset ExtraRewardAmountOffset = default(VectorOffset),
+ VectorOffset ExtraRewardProbOffset = default(VectorOffset),
+ VectorOffset IsExtraRewardDisplayedOffset = default(VectorOffset),
+ VectorOffset RewardParcelTypeOffset = default(VectorOffset),
+ VectorOffset RewardParcelIdOffset = default(VectorOffset),
+ VectorOffset RewardAmountOffset = default(VectorOffset)) {
+ builder.StartTable(20);
+ AcademyRewardExcel.AddExtraFavorExpProb(builder, ExtraFavorExpProb);
+ AcademyRewardExcel.AddExtraFavorExp(builder, ExtraFavorExp);
+ AcademyRewardExcel.AddSecretStoneProb(builder, SecretStoneProb);
+ AcademyRewardExcel.AddSecretStoneAmount(builder, SecretStoneAmount);
+ AcademyRewardExcel.AddFavorExp(builder, FavorExp);
+ AcademyRewardExcel.AddLocationRank(builder, LocationRank);
+ AcademyRewardExcel.AddId(builder, Id);
+ AcademyRewardExcel.AddOrderInGroup(builder, OrderInGroup);
+ AcademyRewardExcel.AddScheduleGroupId(builder, ScheduleGroupId);
+ AcademyRewardExcel.AddRewardAmount(builder, RewardAmountOffset);
+ AcademyRewardExcel.AddRewardParcelId(builder, RewardParcelIdOffset);
+ AcademyRewardExcel.AddRewardParcelType(builder, RewardParcelTypeOffset);
+ AcademyRewardExcel.AddIsExtraRewardDisplayed(builder, IsExtraRewardDisplayedOffset);
+ AcademyRewardExcel.AddExtraRewardProb(builder, ExtraRewardProbOffset);
+ AcademyRewardExcel.AddExtraRewardAmount(builder, ExtraRewardAmountOffset);
+ AcademyRewardExcel.AddExtraRewardParcelId(builder, ExtraRewardParcelIdOffset);
+ AcademyRewardExcel.AddExtraRewardParcelType(builder, ExtraRewardParcelTypeOffset);
+ AcademyRewardExcel.AddLocalizeEtcId(builder, LocalizeEtcId);
+ AcademyRewardExcel.AddProgressTexture(builder, ProgressTextureOffset);
+ AcademyRewardExcel.AddLocation(builder, LocationOffset);
+ return AcademyRewardExcel.EndAcademyRewardExcel(builder);
+ }
+
+ public static void StartAcademyRewardExcel(FlatBufferBuilder builder) { builder.StartTable(20); }
+ public static void AddLocation(FlatBufferBuilder builder, StringOffset locationOffset) { builder.AddOffset(0, locationOffset.Value, 0); }
+ public static void AddScheduleGroupId(FlatBufferBuilder builder, long scheduleGroupId) { builder.AddLong(1, scheduleGroupId, 0); }
+ public static void AddOrderInGroup(FlatBufferBuilder builder, long orderInGroup) { builder.AddLong(2, orderInGroup, 0); }
+ public static void AddId(FlatBufferBuilder builder, long id) { builder.AddLong(3, id, 0); }
+ public static void AddProgressTexture(FlatBufferBuilder builder, StringOffset progressTextureOffset) { builder.AddOffset(4, progressTextureOffset.Value, 0); }
+ public static void AddLocalizeEtcId(FlatBufferBuilder builder, uint localizeEtcId) { builder.AddUint(5, localizeEtcId, 0); }
+ public static void AddLocationRank(FlatBufferBuilder builder, long locationRank) { builder.AddLong(6, locationRank, 0); }
+ public static void AddFavorExp(FlatBufferBuilder builder, long favorExp) { builder.AddLong(7, favorExp, 0); }
+ public static void AddSecretStoneAmount(FlatBufferBuilder builder, long secretStoneAmount) { builder.AddLong(8, secretStoneAmount, 0); }
+ public static void AddSecretStoneProb(FlatBufferBuilder builder, long secretStoneProb) { builder.AddLong(9, secretStoneProb, 0); }
+ public static void AddExtraFavorExp(FlatBufferBuilder builder, long extraFavorExp) { builder.AddLong(10, extraFavorExp, 0); }
+ public static void AddExtraFavorExpProb(FlatBufferBuilder builder, long extraFavorExpProb) { builder.AddLong(11, extraFavorExpProb, 0); }
+ public static void AddExtraRewardParcelType(FlatBufferBuilder builder, VectorOffset extraRewardParcelTypeOffset) { builder.AddOffset(12, extraRewardParcelTypeOffset.Value, 0); }
+ public static VectorOffset CreateExtraRewardParcelTypeVector(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddInt((int)data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardParcelTypeVectorBlock(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardParcelTypeVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardParcelTypeVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartExtraRewardParcelTypeVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static void AddExtraRewardParcelId(FlatBufferBuilder builder, VectorOffset extraRewardParcelIdOffset) { builder.AddOffset(13, extraRewardParcelIdOffset.Value, 0); }
+ public static VectorOffset CreateExtraRewardParcelIdVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardParcelIdVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardParcelIdVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardParcelIdVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartExtraRewardParcelIdVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
+ public static void AddExtraRewardAmount(FlatBufferBuilder builder, VectorOffset extraRewardAmountOffset) { builder.AddOffset(14, extraRewardAmountOffset.Value, 0); }
+ public static VectorOffset CreateExtraRewardAmountVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardAmountVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardAmountVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardAmountVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartExtraRewardAmountVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
+ public static void AddExtraRewardProb(FlatBufferBuilder builder, VectorOffset extraRewardProbOffset) { builder.AddOffset(15, extraRewardProbOffset.Value, 0); }
+ public static VectorOffset CreateExtraRewardProbVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardProbVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardProbVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateExtraRewardProbVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartExtraRewardProbVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
+ public static void AddIsExtraRewardDisplayed(FlatBufferBuilder builder, VectorOffset isExtraRewardDisplayedOffset) { builder.AddOffset(16, isExtraRewardDisplayedOffset.Value, 0); }
+ public static VectorOffset CreateIsExtraRewardDisplayedVector(FlatBufferBuilder builder, bool[] data) { builder.StartVector(1, data.Length, 1); for (int i = data.Length - 1; i >= 0; i--) builder.AddBool(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateIsExtraRewardDisplayedVectorBlock(FlatBufferBuilder builder, bool[] data) { builder.StartVector(1, data.Length, 1); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateIsExtraRewardDisplayedVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(1, data.Count, 1); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateIsExtraRewardDisplayedVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartIsExtraRewardDisplayedVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); }
+ public static void AddRewardParcelType(FlatBufferBuilder builder, VectorOffset rewardParcelTypeOffset) { builder.AddOffset(17, rewardParcelTypeOffset.Value, 0); }
+ public static VectorOffset CreateRewardParcelTypeVector(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddInt((int)data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, SCHALE.Common.FlatData.ParcelType[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelTypeVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartRewardParcelTypeVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static void AddRewardParcelId(FlatBufferBuilder builder, VectorOffset rewardParcelIdOffset) { builder.AddOffset(18, rewardParcelIdOffset.Value, 0); }
+ public static VectorOffset CreateRewardParcelIdVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelIdVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelIdVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardParcelIdVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartRewardParcelIdVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
+ public static void AddRewardAmount(FlatBufferBuilder builder, VectorOffset rewardAmountOffset) { builder.AddOffset(19, rewardAmountOffset.Value, 0); }
+ public static VectorOffset CreateRewardAmountVector(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddLong(data[i]); return builder.EndVector(); }
+ public static VectorOffset CreateRewardAmountVectorBlock(FlatBufferBuilder builder, long[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardAmountVectorBlock(FlatBufferBuilder builder, ArraySegment data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateRewardAmountVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartRewardAmountVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); }
+ public static Offset EndAcademyRewardExcel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyRewardExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyString(tablePos, 4 /*Location*/, false)
+ && verifier.VerifyField(tablePos, 6 /*ScheduleGroupId*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 8 /*OrderInGroup*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 10 /*Id*/, 8 /*long*/, 8, false)
+ && verifier.VerifyString(tablePos, 12 /*ProgressTexture*/, false)
+ && verifier.VerifyField(tablePos, 14 /*LocalizeEtcId*/, 4 /*uint*/, 4, false)
+ && verifier.VerifyField(tablePos, 16 /*LocationRank*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 18 /*FavorExp*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 20 /*SecretStoneAmount*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 22 /*SecretStoneProb*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 24 /*ExtraFavorExp*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 26 /*ExtraFavorExpProb*/, 8 /*long*/, 8, false)
+ && verifier.VerifyVectorOfData(tablePos, 28 /*ExtraRewardParcelType*/, 4 /*SCHALE.Common.FlatData.ParcelType*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 30 /*ExtraRewardParcelId*/, 8 /*long*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 32 /*ExtraRewardAmount*/, 8 /*long*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 34 /*ExtraRewardProb*/, 8 /*long*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 36 /*IsExtraRewardDisplayed*/, 1 /*bool*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 38 /*RewardParcelType*/, 4 /*SCHALE.Common.FlatData.ParcelType*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 40 /*RewardParcelId*/, 8 /*long*/, false)
+ && verifier.VerifyVectorOfData(tablePos, 42 /*RewardAmount*/, 8 /*long*/, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyRewardExcelTable.cs b/SCHALE.Common/FlatData/AcademyRewardExcelTable.cs
new file mode 100644
index 0000000..955a72b
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyRewardExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyRewardExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyRewardExcelTable GetRootAsAcademyRewardExcelTable(ByteBuffer _bb) { return GetRootAsAcademyRewardExcelTable(_bb, new AcademyRewardExcelTable()); }
+ public static AcademyRewardExcelTable GetRootAsAcademyRewardExcelTable(ByteBuffer _bb, AcademyRewardExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyRewardExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyRewardExcel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyRewardExcel?)(new SCHALE.Common.FlatData.AcademyRewardExcel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyRewardExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyRewardExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyRewardExcelTable.EndAcademyRewardExcelTable(builder);
+ }
+
+ public static void StartAcademyRewardExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyRewardExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyRewardExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyRewardExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyTicketExcel.cs b/SCHALE.Common/FlatData/AcademyTicketExcel.cs
new file mode 100644
index 0000000..e87a89f
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyTicketExcel.cs
@@ -0,0 +1,55 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyTicketExcel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyTicketExcel GetRootAsAcademyTicketExcel(ByteBuffer _bb) { return GetRootAsAcademyTicketExcel(_bb, new AcademyTicketExcel()); }
+ public static AcademyTicketExcel GetRootAsAcademyTicketExcel(ByteBuffer _bb, AcademyTicketExcel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyTicketExcel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long LocationRankSum { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long ScheduleTicktetMax { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+
+ public static Offset CreateAcademyTicketExcel(FlatBufferBuilder builder,
+ long LocationRankSum = 0,
+ long ScheduleTicktetMax = 0) {
+ builder.StartTable(2);
+ AcademyTicketExcel.AddScheduleTicktetMax(builder, ScheduleTicktetMax);
+ AcademyTicketExcel.AddLocationRankSum(builder, LocationRankSum);
+ return AcademyTicketExcel.EndAcademyTicketExcel(builder);
+ }
+
+ public static void StartAcademyTicketExcel(FlatBufferBuilder builder) { builder.StartTable(2); }
+ public static void AddLocationRankSum(FlatBufferBuilder builder, long locationRankSum) { builder.AddLong(0, locationRankSum, 0); }
+ public static void AddScheduleTicktetMax(FlatBufferBuilder builder, long scheduleTicktetMax) { builder.AddLong(1, scheduleTicktetMax, 0); }
+ public static Offset EndAcademyTicketExcel(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyTicketExcelVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyField(tablePos, 4 /*LocationRankSum*/, 8 /*long*/, 8, false)
+ && verifier.VerifyField(tablePos, 6 /*ScheduleTicktetMax*/, 8 /*long*/, 8, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyTicketExcelTable.cs b/SCHALE.Common/FlatData/AcademyTicketExcelTable.cs
new file mode 100644
index 0000000..f574413
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyTicketExcelTable.cs
@@ -0,0 +1,56 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyTicketExcelTable : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyTicketExcelTable GetRootAsAcademyTicketExcelTable(ByteBuffer _bb) { return GetRootAsAcademyTicketExcelTable(_bb, new AcademyTicketExcelTable()); }
+ public static AcademyTicketExcelTable GetRootAsAcademyTicketExcelTable(ByteBuffer _bb, AcademyTicketExcelTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyTicketExcelTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public SCHALE.Common.FlatData.AcademyTicketExcel? DataList(int j) { int o = __p.__offset(4); return o != 0 ? (SCHALE.Common.FlatData.AcademyTicketExcel?)(new SCHALE.Common.FlatData.AcademyTicketExcel()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int DataListLength { get { int o = __p.__offset(4); return o != 0 ? __p.__vector_len(o) : 0; } }
+
+ public static Offset CreateAcademyTicketExcelTable(FlatBufferBuilder builder,
+ VectorOffset DataListOffset = default(VectorOffset)) {
+ builder.StartTable(1);
+ AcademyTicketExcelTable.AddDataList(builder, DataListOffset);
+ return AcademyTicketExcelTable.EndAcademyTicketExcelTable(builder);
+ }
+
+ public static void StartAcademyTicketExcelTable(FlatBufferBuilder builder) { builder.StartTable(1); }
+ public static void AddDataList(FlatBufferBuilder builder, VectorOffset dataListOffset) { builder.AddOffset(0, dataListOffset.Value, 0); }
+ public static VectorOffset CreateDataListVector(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, Offset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, ArraySegment> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); }
+ public static VectorOffset CreateDataListVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add>(dataPtr, sizeInBytes); return builder.EndVector(); }
+ public static void StartDataListVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ public static Offset EndAcademyTicketExcelTable(FlatBufferBuilder builder) {
+ int o = builder.EndTable();
+ return new Offset(o);
+ }
+}
+
+
+static public class AcademyTicketExcelTableVerify
+{
+ static public bool Verify(Google.FlatBuffers.Verifier verifier, uint tablePos)
+ {
+ return verifier.VerifyTableStart(tablePos)
+ && verifier.VerifyVectorOfTables(tablePos, 4 /*DataList*/, SCHALE.Common.FlatData.AcademyTicketExcelVerify.Verify, false)
+ && verifier.VerifyTableEnd(tablePos);
+ }
+}
+
+}
diff --git a/SCHALE.Common/FlatData/AcademyZoneExcel.cs b/SCHALE.Common/FlatData/AcademyZoneExcel.cs
new file mode 100644
index 0000000..5fd0951
--- /dev/null
+++ b/SCHALE.Common/FlatData/AcademyZoneExcel.cs
@@ -0,0 +1,104 @@
+//
+// automatically generated by the FlatBuffers compiler, do not modify
+//
+
+namespace SCHALE.Common.FlatData
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::Google.FlatBuffers;
+
+public struct AcademyZoneExcel : IFlatbufferObject
+{
+ private Table __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_24_3_25(); }
+ public static AcademyZoneExcel GetRootAsAcademyZoneExcel(ByteBuffer _bb) { return GetRootAsAcademyZoneExcel(_bb, new AcademyZoneExcel()); }
+ public static AcademyZoneExcel GetRootAsAcademyZoneExcel(ByteBuffer _bb, AcademyZoneExcel obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
+ public AcademyZoneExcel __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public long Id { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long LocationId { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public long LocationRankForUnlock { get { int o = __p.__offset(8); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public uint LocalizeEtcId { get { int o = __p.__offset(10); return o != 0 ? __p.bb.GetUint(o + __p.bb_pos) : (uint)0; } }
+ public long StudentVisitProb(int j) { int o = __p.__offset(12); return o != 0 ? __p.bb.GetLong(__p.__vector(o) + j * 8) : (long)0; }
+ public int StudentVisitProbLength { get { int o = __p.__offset(12); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span GetStudentVisitProbBytes() { return __p.__vector_as_span(12, 8); }
+#else
+ public ArraySegment? GetStudentVisitProbBytes() { return __p.__vector_as_arraysegment(12); }
+#endif
+ public long[] GetStudentVisitProbArray() { return __p.__vector_as_array(12); }
+ public long RewardGroupId { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
+ public SCHALE.Common.FlatData.Tag Tags(int j) { int o = __p.__offset(16); return o != 0 ? (SCHALE.Common.FlatData.Tag)__p.bb.GetInt(__p.__vector(o) + j * 4) : (SCHALE.Common.FlatData.Tag)0; }
+ public int TagsLength { get { int o = __p.__offset(16); return o != 0 ? __p.__vector_len(o) : 0; } }
+#if ENABLE_SPAN_T
+ public Span