diff --git a/.gitignore b/.gitignore index 0b1cfad..f423a61 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,9 @@ +.DS_Store *.sublime-project *.sublime-workspace -*.sln -*.csproj -*.zip +/*.sln +/*.csproj +/*.zip .vs/ Temp/ Library/ @@ -14,4 +15,5 @@ obj/ Assets/Plugins/Editor.meta Assets/Plugins/Editor *.DotSettings.user - +/build/bin +/build/obj diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 03dbecb..65df470 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,7 +8,7 @@ stages: build_lib_test: stage: build - image: mono:5.8 + image: mcr.microsoft.com/dotnet/core/sdk:3.1-buster script: - ./build.sh tags: @@ -22,13 +22,13 @@ build_lib_release: script: - export BUILD_VERSION=$(echo $CI_COMMIT_REF_NAME | sed 's/\([0-9]\+\.[0-9]\+\.[0-9]\+\)\-release$/\1/g') - echo $BUILD_VERSION - - sed -i -e "s/0.5.1.0/$BUILD_VERSION.0/g" Assets/Plugins/Rayark/Mast/Properties/AssemblyInfo.cs + - sed -i -e "s/0.5.1.0/$BUILD_VERSION.0/g" build/Rayark.Mast.csproj - ./build.sh artifacts: expire_in: 5 yrs name: mast-unity-project paths: - - build + - pack tags: - docker only: @@ -38,7 +38,7 @@ mast-release: stage: release image: bash script: - - cp build/Assets/Plugins/Rayark/Mast/Rayark.Mast.dll . + - cp pack/Assets/Plugins/Rayark/Mast/Rayark.Mast.dll . artifacts: expire_in: 5 yrs paths: @@ -78,4 +78,4 @@ pages: tags: - docker only: - - master + - master \ No newline at end of file diff --git a/Assets/Plugins/Rayark/Mast/AggregateException.cs b/Assets/Plugins/Rayark/Mast/AggregateException.cs deleted file mode 100644 index 1bcc3b5..0000000 --- a/Assets/Plugins/Rayark/Mast/AggregateException.cs +++ /dev/null @@ -1,248 +0,0 @@ -// Rayark.Mast.AggregateException -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Diagnostics; -using System.Globalization; -using System.Runtime.Serialization; -using System.Security; - -namespace Rayark.Mast -{ - /// Represents one or more errors that occur during application execution. - [Serializable] - [DebuggerDisplay("Count = {InnerExceptionCount}")] - public class AggregateException : Exception - { - const string DEFAULT_MESSAGE = "Aggregate Exception"; - private ReadOnlyCollection m_innerExceptions; - - /// Gets a read-only collection of the instances that caused the current exception. - /// Returns a read-only collection of the instances that caused the current exception. - public ReadOnlyCollection InnerExceptions - { - get - { - return m_innerExceptions; - } - } - - private int InnerExceptionCount - { - get { return InnerExceptions.Count; } - } - - /// Initializes a new instance of the class with a system-supplied message that describes the error. - public AggregateException() - : base(DEFAULT_MESSAGE) - { - m_innerExceptions = new ReadOnlyCollection(new Exception[0]); - } - - /// Initializes a new instance of the class with a specified message that describes the error. - /// The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - public AggregateException(string message) - : base(message) - { - m_innerExceptions = new ReadOnlyCollection(new Exception[0]); - } - - /// Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - /// The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. - /// The exception that is the cause of the current exception. If the parameter is not , the current exception is raised in a block that handles the inner exception. - /// The argument is null. - public AggregateException(string message, Exception innerException) - : base(message, innerException) - { - if (innerException == null) - { - throw new ArgumentNullException("innerException"); - } - m_innerExceptions = new ReadOnlyCollection(new Exception[1] - { - innerException - }); - } - - /// Initializes a new instance of the class with references to the inner exceptions that are the cause of this exception. - /// The exceptions that are the cause of the current exception. - /// The argument is null. - /// An element of is null. - public AggregateException(IEnumerable innerExceptions) - : this(DEFAULT_MESSAGE, innerExceptions) - { - } - - /// Initializes a new instance of the class with references to the inner exceptions that are the cause of this exception. - /// The exceptions that are the cause of the current exception. - /// The argument is null. - /// An element of is null. - public AggregateException(params Exception[] innerExceptions) - : this(DEFAULT_MESSAGE, innerExceptions) - { - } - - /// Initializes a new instance of the class with a specified error message and references to the inner exceptions that are the cause of this exception. - /// The error message that explains the reason for the exception. - /// The exceptions that are the cause of the current exception. - /// The argument is null. - /// An element of is null. - public AggregateException(string message, IEnumerable innerExceptions) - : this(message, (innerExceptions as IList) ?? ((innerExceptions == null) ? null : new List(innerExceptions))) - { - } - - /// Initializes a new instance of the class with a specified error message and references to the inner exceptions that are the cause of this exception. - /// The error message that explains the reason for the exception. - /// The exceptions that are the cause of the current exception. - /// The argument is null. - /// An element of is null. - public AggregateException(string message, params Exception[] innerExceptions) - : this(message, (IList)innerExceptions) - { - } - - private AggregateException(string message, IList innerExceptions) - : base(message, (innerExceptions != null && innerExceptions.Count > 0) ? innerExceptions[0] : null) - { - if (innerExceptions == null) - { - throw new ArgumentNullException("innerExceptions"); - } - Exception[] array = new Exception[innerExceptions.Count]; - for (int i = 0; i < array.Length; i++) - { - array[i] = innerExceptions[i]; - if (array[i] == null) - { - throw new ArgumentException(DEFAULT_MESSAGE); - } - } - m_innerExceptions = new ReadOnlyCollection(array); - } - - /// Initializes a new instance of the class with serialized data. - /// The object that holds the serialized object data. - /// The contextual information about the source or destination. - /// The argument is null. - /// The exception could not be deserialized correctly. - [SecurityCritical] - protected AggregateException(SerializationInfo info, StreamingContext context) - : base(info, context) - { - if (info == null) - { - throw new ArgumentNullException("info"); - } - Exception[] array = info.GetValue("InnerExceptions", typeof(Exception[])) as Exception[]; - if (array == null) - { - throw new SerializationException("AggregateException_DeserializationFailure"); - } - m_innerExceptions = new ReadOnlyCollection(array); - } - - /// Initializes a new instance of the class with serialized data. - /// The object that holds the serialized object data. - /// The contextual information about the source or destination. - /// The argument is null. - [SecurityCritical] - public override void GetObjectData(SerializationInfo info, StreamingContext context) - { - if (info == null) - { - throw new ArgumentNullException("info"); - } - base.GetObjectData(info, context); - Exception[] array = new Exception[m_innerExceptions.Count]; - m_innerExceptions.CopyTo(array, 0); - info.AddValue("InnerExceptions", array, typeof(Exception[])); - } - - /// Returns the that is the root cause of this exception. - /// Returns the that is the root cause of this exception. - public override Exception GetBaseException() - { - Exception ex = this; - AggregateException ex2 = this; - while (ex2 != null && ex2.InnerExceptions.Count == 1) - { - ex = ex.InnerException; - ex2 = (ex as AggregateException); - } - return ex; - } - - /// Invokes a handler on each contained by this . - /// The predicate to execute for each exception. The predicate accepts as an argument the to be processed and returns a Boolean to indicate whether the exception was handled. - /// The argument is null. - /// An exception contained by this was not handled. - public void Handle(Func predicate) - { - if (predicate == null) - { - throw new ArgumentNullException("predicate"); - } - List list = null; - for (int i = 0; i < m_innerExceptions.Count; i++) - { - if (!predicate(m_innerExceptions[i])) - { - if (list == null) - { - list = new List(); - } - list.Add(m_innerExceptions[i]); - } - } - if (list == null) - { - return; - } - throw new AggregateException(Message, list); - } - - /// Flattens an instances into a single, new instance. - /// A new, flattened . - public AggregateException Flatten() - { - List list = new List(); - List list2 = new List(); - list2.Add(this); - int num = 0; - while (list2.Count > num) - { - IList innerExceptions = list2[num++].InnerExceptions; - for (int i = 0; i < innerExceptions.Count; i++) - { - Exception ex = innerExceptions[i]; - if (ex != null) - { - AggregateException ex2 = ex as AggregateException; - if (ex2 != null) - { - list2.Add(ex2); - } - else - { - list.Add(ex); - } - } - } - } - return new AggregateException(Message, list); - } - - /// Creates and returns a string representation of the current . - /// A string representation of the current exception. - public override string ToString() - { - string text = base.ToString(); - for (int i = 0; i < m_innerExceptions.Count; i++) - { - text = string.Format(CultureInfo.InvariantCulture, "{0}{1} Excepion[{2}]:{3}{4}{5}", text, Environment.NewLine, i, m_innerExceptions[i].ToString(), "<---", Environment.NewLine); - } - return text; - } - } -} \ No newline at end of file diff --git a/Assets/Plugins/Rayark/Mast/AggregateException.cs.meta b/Assets/Plugins/Rayark/Mast/AggregateException.cs.meta deleted file mode 100644 index 586280f..0000000 --- a/Assets/Plugins/Rayark/Mast/AggregateException.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0061a9c9f3931874ea8e6d7dfb4e19dd -timeCreated: 1533266090 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Plugins/Rayark/Mast/Editor/Tests/TestMonad.cs b/Assets/Plugins/Rayark/Mast/Editor/Tests/TestMonad.cs index 39c7e3b..0c2c391 100644 --- a/Assets/Plugins/Rayark/Mast/Editor/Tests/TestMonad.cs +++ b/Assets/Plugins/Rayark/Mast/Editor/Tests/TestMonad.cs @@ -236,7 +236,7 @@ public void ConcurrentMonad2ErrorTest() var mc = new ConcurrentMonad(m1, m2); _Wait(mc); - Assert.IsNull(mc.Result); + Assert.AreEqual(default((int,string)), mc.Result); Assert.AreEqual(mc.Error.Message, "error 2"); } @@ -276,7 +276,7 @@ public void ConcurrentMonad3ErrorTest() var mc = new ConcurrentMonad(m1, m2, m4); _Wait(mc); - Assert.IsNull(mc.Result); + Assert.AreEqual(default((int,string,bool)), mc.Result); Assert.AreEqual(mc.Error.Message, "error 2"); } diff --git a/Assets/Plugins/Rayark/Mast/FuncMonad.cs b/Assets/Plugins/Rayark/Mast/FuncMonad.cs index 186e1fc..c6ad568 100644 --- a/Assets/Plugins/Rayark/Mast/FuncMonad.cs +++ b/Assets/Plugins/Rayark/Mast/FuncMonad.cs @@ -11,7 +11,7 @@ namespace Rayark.Mast /// makes it possible to add some extra operation right before a complex monad. public class FuncMonad : IMonad, IEnumerator { - public readonly Func _func; + private readonly Func _func; public FuncMonad(Func func) { diff --git a/Assets/Plugins/Rayark/Mast/Monad.cs b/Assets/Plugins/Rayark/Mast/Monad.cs index 32fa0e0..0171e63 100644 --- a/Assets/Plugins/Rayark/Mast/Monad.cs +++ b/Assets/Plugins/Rayark/Mast/Monad.cs @@ -191,7 +191,7 @@ public static IMonad WhenAll(params IMonad[] ms) /// The first monad /// The second monad /// - public static IMonad> WhenAll(IMonad m1, IMonad m2) + public static IMonad<(T1, T2)> WhenAll(IMonad m1, IMonad m2) { return new ConcurrentMonad(m1, m2); } @@ -207,7 +207,7 @@ public static IMonad> WhenAll(IMonad m1, IMonad m2 /// The second monad /// The third monad /// - public static IMonad> WhenAll(IMonad m1, IMonad m2, IMonad m3) + public static IMonad<(T1, T2, T3)> WhenAll(IMonad m1, IMonad m2, IMonad m3) { return new ConcurrentMonad(m1, m2, m3); } @@ -632,7 +632,7 @@ private IEnumerator _Do( IMonad m) /// When any monad finished with error, the will stop immediately. /// This class is rarely used directly. Use the extension method or LINQ syntax instead if it is possible. /// - public class ConcurrentMonad : IMonad> + public class ConcurrentMonad : IMonad<(T1, T2)> { private readonly IMonad _m1; private readonly IMonad _m2; @@ -649,7 +649,7 @@ public ConcurrentMonad(IMonad m1, IMonad m2) /// /// The Item1 and Item2 field of the result will be the return value of the first and second monad respectively. /// - public Tuple Result + public (T1, T2) Result { get; private set; @@ -696,7 +696,7 @@ public IEnumerator Do() } if (Error != null) yield break; - Result = new Tuple(_m1.Result, _m2.Result); + Result = (_m1.Result, _m2.Result); } } @@ -718,7 +718,7 @@ private IEnumerator _Do(IMonad m) /// When any monad finished with error, the will stop immediately. /// This class is rarely used directly. Use the extension method or LINQ syntax instead if it is possible. /// - public class ConcurrentMonad : IMonad> + public class ConcurrentMonad : IMonad<(T1, T2, T3)> { private readonly IMonad _m1; private readonly IMonad _m2; @@ -737,7 +737,7 @@ public ConcurrentMonad(IMonad m1, IMonad m2, IMonad m3) /// /// The Item1, Item2, and Item3 fields of the result will be the return value of the first, second and third monads respectively. /// - public Tuple Result + public (T1, T2, T3) Result { get; private set; @@ -785,7 +785,7 @@ public IEnumerator Do() } if (Error != null) yield break; - Result = new Tuple(_m1.Result, _m2.Result, _m3.Result); + Result = (_m1.Result, _m2.Result, _m3.Result); } } @@ -821,7 +821,7 @@ public Exception Error private set; } - Func _func; + private readonly Func _func; /// /// Initialize a new instance of the . diff --git a/Assets/Plugins/Rayark/Mast/Tuple.cs b/Assets/Plugins/Rayark/Mast/Tuple.cs deleted file mode 100644 index c75b738..0000000 --- a/Assets/Plugins/Rayark/Mast/Tuple.cs +++ /dev/null @@ -1,1273 +0,0 @@ -// This is Tuple polyfill modified from CoreCLR -// https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/Tuple.cs - -using System; -using System.Text; -using System.Collections; -using System.Collections.Generic; -using System.Diagnostics; - -namespace Rayark.Mast -{ - /// - /// This interface is required for types that want to be indexed into by dynamic patterns. - /// - public interface ITuple - { - /// - /// The number of positions in this data structure. - /// - int Length { get; } - - /// - /// Get the element at position . - /// - object this[int index] { get; } - } - - /// - /// Helper so we can call some tuple methods recursively without knowing the underlying types. - /// - internal interface ITupleInternal : ITuple - { - string ToString(StringBuilder sb); - int GetHashCode(IEqualityComparer comparer); - } - - public static class Tuple - { - public static Tuple Create(T1 item1) - { - return new Tuple(item1); - } - - public static Tuple Create(T1 item1, T2 item2) - { - return new Tuple(item1, item2); - } - - public static Tuple Create(T1 item1, T2 item2, T3 item3) - { - return new Tuple(item1, item2, item3); - } - - public static Tuple Create(T1 item1, T2 item2, T3 item3, T4 item4) - { - return new Tuple(item1, item2, item3, item4); - } - - public static Tuple Create(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5) - { - return new Tuple(item1, item2, item3, item4, item5); - } - - public static Tuple Create(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6) - { - return new Tuple(item1, item2, item3, item4, item5, item6); - } - - public static Tuple Create(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7) - { - return new Tuple(item1, item2, item3, item4, item5, item6, item7); - } - - public static Tuple> Create(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8) - { - return new Tuple>(item1, item2, item3, item4, item5, item6, item7, new Tuple(item8)); - } - - // From System.Web.Util.HashCodeCombiner - internal static int CombineHashCodes(int h1, int h2) - { - return (((h1 << 5) + h1) ^ h2); - } - - internal static int CombineHashCodes(int h1, int h2, int h3) - { - return CombineHashCodes(CombineHashCodes(h1, h2), h3); - } - - internal static int CombineHashCodes(int h1, int h2, int h3, int h4) - { - return CombineHashCodes(CombineHashCodes(h1, h2), CombineHashCodes(h3, h4)); - } - - internal static int CombineHashCodes(int h1, int h2, int h3, int h4, int h5) - { - return CombineHashCodes(CombineHashCodes(h1, h2, h3, h4), h5); - } - - internal static int CombineHashCodes(int h1, int h2, int h3, int h4, int h5, int h6) - { - return CombineHashCodes(CombineHashCodes(h1, h2, h3, h4), CombineHashCodes(h5, h6)); - } - - internal static int CombineHashCodes(int h1, int h2, int h3, int h4, int h5, int h6, int h7) - { - return CombineHashCodes(CombineHashCodes(h1, h2, h3, h4), CombineHashCodes(h5, h6, h7)); - } - - internal static int CombineHashCodes(int h1, int h2, int h3, int h4, int h5, int h6, int h7, int h8) - { - return CombineHashCodes(CombineHashCodes(h1, h2, h3, h4), CombineHashCodes(h5, h6, h7, h8)); - } - } - - [Serializable] - public class Tuple : IComparable, ITupleInternal, ITuple - { - private readonly T1 m_Item1; - - public T1 Item1 { get { return m_Item1; } } - - public Tuple(T1 item1) - { - m_Item1 = item1; - } - - public override Boolean Equals(Object obj) - { - Tuple objTuple = obj as Tuple; - return EqualityComparer.Default.Equals(m_Item1, objTuple.m_Item1); - } - - - Int32 IComparable.CompareTo(Object obj) - { - Tuple objTuple = obj as Tuple; - return Comparer.Default.Compare(m_Item1, objTuple.m_Item1); - } - - - - public override int GetHashCode() - { - return ((ITupleInternal)this).GetHashCode(EqualityComparer.Default); - } - - Int32 ITupleInternal.GetHashCode(IEqualityComparer comparer) - { - return comparer.GetHashCode(m_Item1); - } - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("("); - return ((ITupleInternal)this).ToString(sb); - } - - string ITupleInternal.ToString(StringBuilder sb) - { - sb.Append(m_Item1); - sb.Append(")"); - return sb.ToString(); - } - - /// - /// The number of positions in this data structure. - /// - int ITuple.Length - { - get { return 1; } - } - - /// - /// Get the element at position . - /// - object ITuple.this[int index] - { - get - { - if (index != 0) - { - throw new IndexOutOfRangeException(); - } - return Item1; - } - } - } - - [Serializable] - public class Tuple : IComparable, ITupleInternal, ITuple - { - private readonly T1 m_Item1; - private readonly T2 m_Item2; - - public T1 Item1 { get { return m_Item1; } } - public T2 Item2 { get { return m_Item2; } } - - public Tuple(T1 item1, T2 item2) - { - m_Item1 = item1; - m_Item2 = item2; - } - - public override Boolean Equals(Object obj) - { - return _Equals(obj, EqualityComparer.Default); ; - } - - Boolean _Equals(Object other, IEqualityComparer comparer) - { - if (other == null) return false; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - return false; - } - - return comparer.Equals(m_Item1, objTuple.m_Item1) && comparer.Equals(m_Item2, objTuple.m_Item2); - } - - Int32 IComparable.CompareTo(Object obj) - { - return _CompareTo(obj, Comparer.Default); - } - - Int32 _CompareTo(Object other, IComparer comparer) - { - if (other == null) return 1; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - throw new ArgumentException(string.Format("Wrong type {0} of {1}", this.GetType().ToString()), "other"); - } - - int c = 0; - - c = comparer.Compare(m_Item1, objTuple.m_Item1); - - if (c != 0) return c; - - return comparer.Compare(m_Item2, objTuple.m_Item2); - } - - public override int GetHashCode() - { - return _GetHashCode(EqualityComparer.Default); - } - - Int32 _GetHashCode(IEqualityComparer comparer) - { - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1), comparer.GetHashCode(m_Item2)); - } - - Int32 ITupleInternal.GetHashCode(IEqualityComparer comparer) - { - return _GetHashCode(comparer); - } - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("("); - return ((ITupleInternal)this).ToString(sb); - } - - string ITupleInternal.ToString(StringBuilder sb) - { - sb.Append(m_Item1); - sb.Append(", "); - sb.Append(m_Item2); - sb.Append(")"); - return sb.ToString(); - } - - /// - /// The number of positions in this data structure. - /// - int ITuple.Length - { - get - { - return 2; - } - } - - /// - /// Get the element at position . - /// - object ITuple.this[int index] - { - get - { - switch (index) - { - case 0: - return Item1; - case 1: - return Item2; - default: - throw new IndexOutOfRangeException(); - } - } - } - } - - [Serializable] - public class Tuple : IComparable, ITupleInternal, ITuple - { - private readonly T1 m_Item1; - private readonly T2 m_Item2; - private readonly T3 m_Item3; - - public T1 Item1 { get { return m_Item1; } } - public T2 Item2 { get { return m_Item2; } } - public T3 Item3 { get { return m_Item3; } } - - public Tuple(T1 item1, T2 item2, T3 item3) - { - m_Item1 = item1; - m_Item2 = item2; - m_Item3 = item3; - } - - public override Boolean Equals(Object obj) - { - return _Equals(obj, EqualityComparer.Default); ; - } - - Boolean _Equals(Object other, IEqualityComparer comparer) - { - if (other == null) return false; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - return false; - } - - return comparer.Equals(m_Item1, objTuple.m_Item1) && comparer.Equals(m_Item2, objTuple.m_Item2) && comparer.Equals(m_Item3, objTuple.m_Item3); - } - - Int32 IComparable.CompareTo(Object obj) - { - return _CompareTo(obj, Comparer.Default); - } - - Int32 _CompareTo(Object other, IComparer comparer) - { - if (other == null) return 1; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - throw new ArgumentException(string.Format("Wrong type {0} of {1}", this.GetType().ToString()), "other"); - } - - int c = 0; - - c = comparer.Compare(m_Item1, objTuple.m_Item1); - - if (c != 0) return c; - - c = comparer.Compare(m_Item2, objTuple.m_Item2); - - if (c != 0) return c; - - return comparer.Compare(m_Item3, objTuple.m_Item3); - } - - public override int GetHashCode() - { - return _GetHashCode(EqualityComparer.Default); - } - - Int32 _GetHashCode(IEqualityComparer comparer) - { - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1), comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3)); - } - - Int32 ITupleInternal.GetHashCode(IEqualityComparer comparer) - { - return _GetHashCode(comparer); - } - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("("); - return ((ITupleInternal)this).ToString(sb); - } - - string ITupleInternal.ToString(StringBuilder sb) - { - sb.Append(m_Item1); - sb.Append(", "); - sb.Append(m_Item2); - sb.Append(", "); - sb.Append(m_Item3); - sb.Append(")"); - return sb.ToString(); - } - - /// - /// The number of positions in this data structure. - /// - int ITuple.Length - { - get - { - return 3; - } - } - - /// - /// Get the element at position . - /// - object ITuple.this[int index] - { - get - { - switch (index) - { - case 0: - return Item1; - case 1: - return Item2; - case 2: - return Item3; - default: - throw new IndexOutOfRangeException(); - } - } - } - } - - [Serializable] - public class Tuple : IComparable, ITupleInternal, ITuple - { - private readonly T1 m_Item1; - private readonly T2 m_Item2; - private readonly T3 m_Item3; - private readonly T4 m_Item4; - - public T1 Item1 { get { return m_Item1; } } - public T2 Item2 { get { return m_Item2; } } - public T3 Item3 { get { return m_Item3; } } - public T4 Item4 { get { return m_Item4; } } - - public Tuple(T1 item1, T2 item2, T3 item3, T4 item4) - { - m_Item1 = item1; - m_Item2 = item2; - m_Item3 = item3; - m_Item4 = item4; - } - - public override Boolean Equals(Object obj) - { - return _Equals(obj, EqualityComparer.Default); ; - } - - Boolean _Equals(Object other, IEqualityComparer comparer) - { - if (other == null) return false; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - return false; - } - - return comparer.Equals(m_Item1, objTuple.m_Item1) && comparer.Equals(m_Item2, objTuple.m_Item2) && comparer.Equals(m_Item3, objTuple.m_Item3) && comparer.Equals(m_Item4, objTuple.m_Item4); - } - - Int32 IComparable.CompareTo(Object obj) - { - return _CompareTo(obj, Comparer.Default); - } - - Int32 _CompareTo(Object other, IComparer comparer) - { - if (other == null) return 1; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - throw new ArgumentException(string.Format("Wrong type {0} of {1}", this.GetType().ToString()), "other"); - } - - int c = 0; - - c = comparer.Compare(m_Item1, objTuple.m_Item1); - - if (c != 0) return c; - - c = comparer.Compare(m_Item2, objTuple.m_Item2); - - if (c != 0) return c; - - c = comparer.Compare(m_Item3, objTuple.m_Item3); - - if (c != 0) return c; - - return comparer.Compare(m_Item4, objTuple.m_Item4); - } - - public override int GetHashCode() - { - return _GetHashCode(EqualityComparer.Default); - } - - Int32 _GetHashCode(IEqualityComparer comparer) - { - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1), comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4)); - } - - Int32 ITupleInternal.GetHashCode(IEqualityComparer comparer) - { - return _GetHashCode(comparer); - } - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("("); - return ((ITupleInternal)this).ToString(sb); - } - - string ITupleInternal.ToString(StringBuilder sb) - { - sb.Append(m_Item1); - sb.Append(", "); - sb.Append(m_Item2); - sb.Append(", "); - sb.Append(m_Item3); - sb.Append(", "); - sb.Append(m_Item4); - sb.Append(")"); - return sb.ToString(); - } - - /// - /// The number of positions in this data structure. - /// - int ITuple.Length - { - get { return 4; } - } - - /// - /// Get the element at position . - /// - object ITuple.this[int index] - { - get - { - switch (index) - { - case 0: - return Item1; - case 1: - return Item2; - case 2: - return Item3; - case 3: - return Item4; - default: - throw new IndexOutOfRangeException(); - } - } - } - } - - [Serializable] - public class Tuple : IComparable, ITupleInternal, ITuple - { - private readonly T1 m_Item1; - private readonly T2 m_Item2; - private readonly T3 m_Item3; - private readonly T4 m_Item4; - private readonly T5 m_Item5; - - public T1 Item1 { get { return m_Item1; } } - public T2 Item2 { get { return m_Item2; } } - public T3 Item3 { get { return m_Item3; } } - public T4 Item4 { get { return m_Item4; } } - public T5 Item5 { get { return m_Item5; } } - - public Tuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5) - { - m_Item1 = item1; - m_Item2 = item2; - m_Item3 = item3; - m_Item4 = item4; - m_Item5 = item5; - } - - public override Boolean Equals(Object obj) - { - return _Equals(obj, EqualityComparer.Default); ; - } - - Boolean _Equals(Object other, IEqualityComparer comparer) - { - if (other == null) return false; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - return false; - } - - return comparer.Equals(m_Item1, objTuple.m_Item1) && comparer.Equals(m_Item2, objTuple.m_Item2) && comparer.Equals(m_Item3, objTuple.m_Item3) && comparer.Equals(m_Item4, objTuple.m_Item4) && comparer.Equals(m_Item5, objTuple.m_Item5); - } - - Int32 IComparable.CompareTo(Object obj) - { - return _CompareTo(obj, Comparer.Default); - } - - Int32 _CompareTo(Object other, IComparer comparer) - { - if (other == null) return 1; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - throw new ArgumentException(string.Format("Wrong type {0} of {1}", this.GetType().ToString()), "other"); - } - - int c = 0; - - c = comparer.Compare(m_Item1, objTuple.m_Item1); - - if (c != 0) return c; - - c = comparer.Compare(m_Item2, objTuple.m_Item2); - - if (c != 0) return c; - - c = comparer.Compare(m_Item3, objTuple.m_Item3); - - if (c != 0) return c; - - c = comparer.Compare(m_Item4, objTuple.m_Item4); - - if (c != 0) return c; - - return comparer.Compare(m_Item5, objTuple.m_Item5); - } - - public override int GetHashCode() - { - return _GetHashCode(EqualityComparer.Default); - } - - Int32 _GetHashCode(IEqualityComparer comparer) - { - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1), comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5)); - } - - Int32 ITupleInternal.GetHashCode(IEqualityComparer comparer) - { - return _GetHashCode(comparer); - } - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("("); - return ((ITupleInternal)this).ToString(sb); - } - - string ITupleInternal.ToString(StringBuilder sb) - { - sb.Append(m_Item1); - sb.Append(", "); - sb.Append(m_Item2); - sb.Append(", "); - sb.Append(m_Item3); - sb.Append(", "); - sb.Append(m_Item4); - sb.Append(", "); - sb.Append(m_Item5); - sb.Append(")"); - return sb.ToString(); - } - - /// - /// The number of positions in this data structure. - /// - int ITuple.Length - { - get { return 5; } - } - - /// - /// Get the element at position . - /// - object ITuple.this[int index] - { - get - { - switch (index) - { - case 0: - return Item1; - case 1: - return Item2; - case 2: - return Item3; - case 3: - return Item4; - case 4: - return Item5; - default: - throw new IndexOutOfRangeException(); - } - } - } - } - - [Serializable] - public class Tuple : IComparable, ITupleInternal, ITuple - { - private readonly T1 m_Item1; - private readonly T2 m_Item2; - private readonly T3 m_Item3; - private readonly T4 m_Item4; - private readonly T5 m_Item5; - private readonly T6 m_Item6; - - public T1 Item1 { get { return m_Item1; } } - public T2 Item2 { get { return m_Item2; } } - public T3 Item3 { get { return m_Item3; } } - public T4 Item4 { get { return m_Item4; } } - public T5 Item5 { get { return m_Item5; } } - public T6 Item6 { get { return m_Item6; } } - - public Tuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6) - { - m_Item1 = item1; - m_Item2 = item2; - m_Item3 = item3; - m_Item4 = item4; - m_Item5 = item5; - m_Item6 = item6; - } - - public override Boolean Equals(Object obj) - { - return _Equals(obj, EqualityComparer.Default); ; - } - - Boolean _Equals(Object other, IEqualityComparer comparer) - { - if (other == null) return false; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - return false; - } - - return comparer.Equals(m_Item1, objTuple.m_Item1) && comparer.Equals(m_Item2, objTuple.m_Item2) && comparer.Equals(m_Item3, objTuple.m_Item3) && comparer.Equals(m_Item4, objTuple.m_Item4) && comparer.Equals(m_Item5, objTuple.m_Item5) && comparer.Equals(m_Item6, objTuple.m_Item6); - } - - Int32 IComparable.CompareTo(Object obj) - { - return _CompareTo(obj, Comparer.Default); - } - - Int32 _CompareTo(Object other, IComparer comparer) - { - if (other == null) return 1; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - throw new ArgumentException(string.Format("Wrong type {0} of {1}", this.GetType().ToString()), "other"); - } - - int c = 0; - - c = comparer.Compare(m_Item1, objTuple.m_Item1); - - if (c != 0) return c; - - c = comparer.Compare(m_Item2, objTuple.m_Item2); - - if (c != 0) return c; - - c = comparer.Compare(m_Item3, objTuple.m_Item3); - - if (c != 0) return c; - - c = comparer.Compare(m_Item4, objTuple.m_Item4); - - if (c != 0) return c; - - c = comparer.Compare(m_Item5, objTuple.m_Item5); - - if (c != 0) return c; - - return comparer.Compare(m_Item6, objTuple.m_Item6); - } - - public override int GetHashCode() - { - return _GetHashCode(EqualityComparer.Default); - } - - Int32 _GetHashCode(IEqualityComparer comparer) - { - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1), comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6)); - } - - Int32 ITupleInternal.GetHashCode(IEqualityComparer comparer) - { - return _GetHashCode(comparer); - } - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("("); - return ((ITupleInternal)this).ToString(sb); - } - - string ITupleInternal.ToString(StringBuilder sb) - { - sb.Append(m_Item1); - sb.Append(", "); - sb.Append(m_Item2); - sb.Append(", "); - sb.Append(m_Item3); - sb.Append(", "); - sb.Append(m_Item4); - sb.Append(", "); - sb.Append(m_Item5); - sb.Append(", "); - sb.Append(m_Item6); - sb.Append(")"); - return sb.ToString(); - } - - /// - /// The number of positions in this data structure. - /// - int ITuple.Length - { - get { return 6; } - } - - /// - /// Get the element at position . - /// - object ITuple.this[int index] - { - get - { - switch (index) - { - case 0: - return Item1; - case 1: - return Item2; - case 2: - return Item3; - case 3: - return Item4; - case 4: - return Item5; - case 5: - return Item6; - default: - throw new IndexOutOfRangeException(); - } - } - } - } - - [Serializable] - public class Tuple : IComparable, ITupleInternal, ITuple - { - private readonly T1 m_Item1; - private readonly T2 m_Item2; - private readonly T3 m_Item3; - private readonly T4 m_Item4; - private readonly T5 m_Item5; - private readonly T6 m_Item6; - private readonly T7 m_Item7; - - public T1 Item1 { get { return m_Item1; } } - public T2 Item2 { get { return m_Item2; } } - public T3 Item3 { get { return m_Item3; } } - public T4 Item4 { get { return m_Item4; } } - public T5 Item5 { get { return m_Item5; } } - public T6 Item6 { get { return m_Item6; } } - public T7 Item7 { get { return m_Item7; } } - - public Tuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7) - { - m_Item1 = item1; - m_Item2 = item2; - m_Item3 = item3; - m_Item4 = item4; - m_Item5 = item5; - m_Item6 = item6; - m_Item7 = item7; - } - - public override Boolean Equals(Object obj) - { - return _Equals(obj, EqualityComparer.Default); ; - } - - Boolean _Equals(Object other, IEqualityComparer comparer) - { - if (other == null) return false; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - return false; - } - - return comparer.Equals(m_Item1, objTuple.m_Item1) && comparer.Equals(m_Item2, objTuple.m_Item2) && comparer.Equals(m_Item3, objTuple.m_Item3) && comparer.Equals(m_Item4, objTuple.m_Item4) && comparer.Equals(m_Item5, objTuple.m_Item5) && comparer.Equals(m_Item6, objTuple.m_Item6) && comparer.Equals(m_Item7, objTuple.m_Item7); - } - - Int32 IComparable.CompareTo(Object obj) - { - return _CompareTo(obj, Comparer.Default); - } - - Int32 _CompareTo(Object other, IComparer comparer) - { - if (other == null) return 1; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - throw new ArgumentException(string.Format("Wrong type {0} of {1}", this.GetType().ToString()), "other"); - } - - int c = 0; - - c = comparer.Compare(m_Item1, objTuple.m_Item1); - - if (c != 0) return c; - - c = comparer.Compare(m_Item2, objTuple.m_Item2); - - if (c != 0) return c; - - c = comparer.Compare(m_Item3, objTuple.m_Item3); - - if (c != 0) return c; - - c = comparer.Compare(m_Item4, objTuple.m_Item4); - - if (c != 0) return c; - - c = comparer.Compare(m_Item5, objTuple.m_Item5); - - if (c != 0) return c; - - c = comparer.Compare(m_Item6, objTuple.m_Item6); - - if (c != 0) return c; - - return comparer.Compare(m_Item7, objTuple.m_Item7); - } - - public override int GetHashCode() - { - return _GetHashCode(EqualityComparer.Default); - } - - Int32 _GetHashCode(IEqualityComparer comparer) - { - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1), comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7)); - } - - Int32 ITupleInternal.GetHashCode(IEqualityComparer comparer) - { - return _GetHashCode(comparer); - } - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("("); - return ((ITupleInternal)this).ToString(sb); - } - - string ITupleInternal.ToString(StringBuilder sb) - { - sb.Append(m_Item1); - sb.Append(", "); - sb.Append(m_Item2); - sb.Append(", "); - sb.Append(m_Item3); - sb.Append(", "); - sb.Append(m_Item4); - sb.Append(", "); - sb.Append(m_Item5); - sb.Append(", "); - sb.Append(m_Item6); - sb.Append(", "); - sb.Append(m_Item7); - sb.Append(")"); - return sb.ToString(); - } - - /// - /// The number of positions in this data structure. - /// - int ITuple.Length - { - get { return 7; } - } - - /// - /// Get the element at position . - /// - object ITuple.this[int index] - { - get - { - switch (index) - { - case 0: - return Item1; - case 1: - return Item2; - case 2: - return Item3; - case 3: - return Item4; - case 4: - return Item5; - case 5: - return Item6; - case 6: - return Item7; - default: - throw new IndexOutOfRangeException(); - } - } - } - } - - [Serializable] - public class Tuple : IComparable, ITupleInternal, ITuple - { - private readonly T1 m_Item1; - private readonly T2 m_Item2; - private readonly T3 m_Item3; - private readonly T4 m_Item4; - private readonly T5 m_Item5; - private readonly T6 m_Item6; - private readonly T7 m_Item7; - private readonly TRest m_Rest; - - public T1 Item1 { get { return m_Item1; } } - public T2 Item2 { get { return m_Item2; } } - public T3 Item3 { get { return m_Item3; } } - public T4 Item4 { get { return m_Item4; } } - public T5 Item5 { get { return m_Item5; } } - public T6 Item6 { get { return m_Item6; } } - public T7 Item7 { get { return m_Item7; } } - public TRest Rest { get { return m_Rest; } } - - public Tuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest) - { - if (!(rest is ITupleInternal)) - { - throw new ArgumentException("Last argument is not tuple"); - } - - m_Item1 = item1; - m_Item2 = item2; - m_Item3 = item3; - m_Item4 = item4; - m_Item5 = item5; - m_Item6 = item6; - m_Item7 = item7; - m_Rest = rest; - } - - public override Boolean Equals(Object obj) - { - return _Equals(obj, EqualityComparer.Default); ; - } - - Boolean _Equals(Object other, IEqualityComparer comparer) - { - if (other == null) return false; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - return false; - } - - return comparer.Equals(m_Item1, objTuple.m_Item1) && comparer.Equals(m_Item2, objTuple.m_Item2) && comparer.Equals(m_Item3, objTuple.m_Item3) && comparer.Equals(m_Item4, objTuple.m_Item4) && comparer.Equals(m_Item5, objTuple.m_Item5) && comparer.Equals(m_Item6, objTuple.m_Item6) && comparer.Equals(m_Item7, objTuple.m_Item7) && comparer.Equals(m_Rest, objTuple.m_Rest); - } - - Int32 IComparable.CompareTo(Object obj) - { - return _CompareTo(obj, Comparer.Default); - } - - Int32 _CompareTo(Object other, IComparer comparer) - { - if (other == null) return 1; - - Tuple objTuple = other as Tuple; - - if (objTuple == null) - { - throw new ArgumentException(string.Format("Wrong type {0} of {1}", this.GetType().ToString()), "other"); - } - - int c = 0; - - c = comparer.Compare(m_Item1, objTuple.m_Item1); - - if (c != 0) return c; - - c = comparer.Compare(m_Item2, objTuple.m_Item2); - - if (c != 0) return c; - - c = comparer.Compare(m_Item3, objTuple.m_Item3); - - if (c != 0) return c; - - c = comparer.Compare(m_Item4, objTuple.m_Item4); - - if (c != 0) return c; - - c = comparer.Compare(m_Item5, objTuple.m_Item5); - - if (c != 0) return c; - - c = comparer.Compare(m_Item6, objTuple.m_Item6); - - if (c != 0) return c; - - c = comparer.Compare(m_Item7, objTuple.m_Item7); - - if (c != 0) return c; - - return comparer.Compare(m_Rest, objTuple.m_Rest); - } - - public override int GetHashCode() - { - return _GetHashCode(EqualityComparer.Default); - } - - Int32 _GetHashCode(IEqualityComparer comparer) - { - // We want to have a limited hash in this case. We'll use the last 8 elements of the tuple - ITupleInternal t = (ITupleInternal)m_Rest; - if (t.Length >= 8) { return t.GetHashCode(comparer); } - - // In this case, the rest memeber has less than 8 elements so we need to combine some our elements with the elements in rest - int k = 8 - t.Length; - switch (k) - { - case 1: - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item7), t.GetHashCode(comparer)); - case 2: - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer)); - case 3: - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer)); - case 4: - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer)); - case 5: - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer)); - case 6: - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer)); - case 7: - return Tuple.CombineHashCodes(comparer.GetHashCode(m_Item1), comparer.GetHashCode(m_Item2), comparer.GetHashCode(m_Item3), comparer.GetHashCode(m_Item4), comparer.GetHashCode(m_Item5), comparer.GetHashCode(m_Item6), comparer.GetHashCode(m_Item7), t.GetHashCode(comparer)); - } - Debug.Assert(false, "Missed all cases for computing Tuple hash code"); - return -1; - } - - Int32 ITupleInternal.GetHashCode(IEqualityComparer comparer) - { - return _GetHashCode(comparer); - } - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - sb.Append("("); - return ((ITupleInternal)this).ToString(sb); - } - - string ITupleInternal.ToString(StringBuilder sb) - { - sb.Append(m_Item1); - sb.Append(", "); - sb.Append(m_Item2); - sb.Append(", "); - sb.Append(m_Item3); - sb.Append(", "); - sb.Append(m_Item4); - sb.Append(", "); - sb.Append(m_Item5); - sb.Append(", "); - sb.Append(m_Item6); - sb.Append(", "); - sb.Append(m_Item7); - sb.Append(", "); - return ((ITupleInternal)m_Rest).ToString(sb); - } - - /// - /// The number of positions in this data structure. - /// - int ITuple.Length - { - get - { - return 7 + ((ITupleInternal)Rest).Length; - } - } - - /// - /// Get the element at position . - /// - object ITuple.this[int index] - { - get - { - switch (index) - { - case 0: - return Item1; - case 1: - return Item2; - case 2: - return Item3; - case 3: - return Item4; - case 4: - return Item5; - case 5: - return Item6; - case 6: - return Item7; - } - - return ((ITupleInternal)Rest)[index - 7]; - } - } - } -} \ No newline at end of file diff --git a/Assets/Plugins/Rayark/Mast/Tuple.cs.meta b/Assets/Plugins/Rayark/Mast/Tuple.cs.meta deleted file mode 100644 index 079591f..0000000 --- a/Assets/Plugins/Rayark/Mast/Tuple.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 9dd6dee382edba14991a4e5d31017682 -timeCreated: 1492064133 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/build.sh b/build.sh index a6e1186..652e215 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,7 @@ #!/bin/bash set -e -mcs -langversion:4 -sdk:2 -target:library -out:build/Assets/Plugins/Rayark/Mast/Rayark.Mast.dll $(find Assets/Plugins/Rayark/Mast -path Assets/Plugins/Rayark/Mast/Editor -prune -o -name "*.cs" -print) +dotnet build -f netstandard2.0 -c Release build/Rayark.Mast.csproj +cp build/bin/Release/netstandard2.0/Rayark.Mast.dll pack/Assets/Plugins/Rayark/Mast + + diff --git a/build/Rayark.Mast.csproj b/build/Rayark.Mast.csproj new file mode 100644 index 0000000..a124437 --- /dev/null +++ b/build/Rayark.Mast.csproj @@ -0,0 +1,17 @@ + + + + netstandard2.0 + Rayark Inc. + Rayark Mast + Rayark.Mast + 2011 - 2020 Rayark Inc. + 0.5.1.0 + Mast - A Coroutine Extension for Unity + + + + + + + diff --git a/build/.arkignore b/pack/.arkignore similarity index 100% rename from build/.arkignore rename to pack/.arkignore diff --git a/build/Assets/Plugins/Rayark/Mast/.keepme b/pack/Assets/Plugins/Rayark/Mast/.keepme similarity index 100% rename from build/Assets/Plugins/Rayark/Mast/.keepme rename to pack/Assets/Plugins/Rayark/Mast/.keepme diff --git a/build/Assets/Plugins/Rayark/Mast/Rayark.Mast.dll.meta b/pack/Assets/Plugins/Rayark/Mast/Rayark.Mast.dll.meta similarity index 100% rename from build/Assets/Plugins/Rayark/Mast/Rayark.Mast.dll.meta rename to pack/Assets/Plugins/Rayark/Mast/Rayark.Mast.dll.meta diff --git a/build/_ark/config.yml b/pack/_ark/config.yml similarity index 100% rename from build/_ark/config.yml rename to pack/_ark/config.yml