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