Ejemplo n.º 1
0
        static object PerformMemberwiseClone(ref object o)
        {
            var ins = new UnityEngine.AI.NavMeshLinkData();

            ins = (UnityEngine.AI.NavMeshLinkData)o;
            return(ins);
        }
 /// <summary>
 /// Write the specified value using the writer.
 /// </summary>
 /// <param name="value">Value.</param>
 /// <param name="writer">Writer.</param>
 public override void Write(object value, ISaveGameWriter writer)
 {
     UnityEngine.AI.NavMeshLinkData navMeshLinkData = (UnityEngine.AI.NavMeshLinkData)value;
     writer.WriteProperty("startPosition", navMeshLinkData.startPosition);
     writer.WriteProperty("endPosition", navMeshLinkData.endPosition);
     writer.WriteProperty("costModifier", navMeshLinkData.costModifier);
     writer.WriteProperty("bidirectional", navMeshLinkData.bidirectional);
     writer.WriteProperty("width", navMeshLinkData.width);
     writer.WriteProperty("area", navMeshLinkData.area);
     writer.WriteProperty("agentTypeID", navMeshLinkData.agentTypeID);
 }
        static StackObject *AddLink_15(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.AI.NavMeshLinkData link = (UnityEngine.AI.NavMeshLinkData) typeof(UnityEngine.AI.NavMeshLinkData).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = UnityEngine.AI.NavMesh.AddLink(link);

            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
Ejemplo n.º 4
0
        static void WriteBackInstance(CSHotFix.Runtime.Enviorment.AppDomain __domain, StackObject *ptr_of_this_method, IList <object> __mStack, ref UnityEngine.AI.NavMeshLinkData instance_of_this_method)
        {
            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
            switch (ptr_of_this_method->ObjectType)
            {
            case ObjectTypes.Object:
            {
                __mStack[ptr_of_this_method->Value] = instance_of_this_method;
            }
            break;

            case ObjectTypes.FieldReference:
            {
                var ___obj = __mStack[ptr_of_this_method->Value];
                if (___obj is ILTypeInstance)
                {
                    ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = instance_of_this_method;
                }
                else
                {
                    var t = __domain.GetType(___obj.GetType()) as CLRType;
                    t.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, instance_of_this_method);
                }
            }
            break;

            case ObjectTypes.StaticFieldReference:
            {
                var t = __domain.GetType(ptr_of_this_method->Value);
                if (t is ILType)
                {
                    ((ILType)t).StaticInstance[ptr_of_this_method->ValueLow] = instance_of_this_method;
                }
                else
                {
                    ((CLRType)t).SetStaticFieldValue(ptr_of_this_method->ValueLow, instance_of_this_method);
                }
            }
            break;

            case ObjectTypes.ArrayReference:
            {
                var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as UnityEngine.AI.NavMeshLinkData[];
                instance_of_arrayReference[ptr_of_this_method->ValueLow] = instance_of_this_method;
            }
            break;
            }
        }
        /// <summary>
        /// Read the data using the reader.
        /// </summary>
        /// <param name="reader">Reader.</param>
        public override object Read(ISaveGameReader reader)
        {
            UnityEngine.AI.NavMeshLinkData navMeshLinkData = new UnityEngine.AI.NavMeshLinkData();
            foreach (string property in reader.Properties)
            {
                switch (property)
                {
                case "startPosition":
                    navMeshLinkData.startPosition = reader.ReadProperty <UnityEngine.Vector3> ();
                    break;

                case "endPosition":
                    navMeshLinkData.endPosition = reader.ReadProperty <UnityEngine.Vector3> ();
                    break;

                case "costModifier":
                    navMeshLinkData.costModifier = reader.ReadProperty <System.Single> ();
                    break;

                case "bidirectional":
                    navMeshLinkData.bidirectional = reader.ReadProperty <System.Boolean> ();
                    break;

                case "width":
                    navMeshLinkData.width = reader.ReadProperty <System.Single> ();
                    break;

                case "area":
                    navMeshLinkData.area = reader.ReadProperty <System.Int32> ();
                    break;

                case "agentTypeID":
                    navMeshLinkData.agentTypeID = reader.ReadProperty <System.Int32> ();
                    break;
                }
            }
            return(navMeshLinkData);
        }