Repository: slicol/SGF
Branch: master
Commit: c24cf335cae7
Files: 625
Total size: 3.8 MB
Directory structure:
gitextract_tlw7vj5v/
├── .gitignore
├── Apps/
│ ├── DirConfig.json
│ ├── ILRuntime.dll.config
│ ├── SGFAppDemo.exe.config
│ ├── SGFAppILRScript.dll.config
│ ├── SGFCore.dll.config
│ ├── SGFCore.xml
│ ├── SGFServer.exe.config
│ └── SGFServerDemo.exe.config
├── ILRuntime/
│ ├── App.config
│ ├── ILRuntime/
│ │ ├── Adapters/
│ │ │ └── Editor/
│ │ │ └── ILRuntimeCLRBinding.cs
│ │ ├── CLR/
│ │ │ ├── Method/
│ │ │ │ ├── CLRMethod.cs
│ │ │ │ ├── ExceptionHandler.cs
│ │ │ │ ├── ILMethod.cs
│ │ │ │ └── IMethod.cs
│ │ │ ├── TypeSystem/
│ │ │ │ ├── CLRType.cs
│ │ │ │ ├── ILGenericParameterType.cs
│ │ │ │ ├── ILType.cs
│ │ │ │ └── IType.cs
│ │ │ └── Utils/
│ │ │ └── Extensions.cs
│ │ ├── Other/
│ │ │ ├── ByReferenceKeyComparer.cs
│ │ │ ├── DelegateExportAttribute.cs
│ │ │ ├── NeedAdaptorAttribute.cs
│ │ │ ├── ThreadSafeDictionary.cs
│ │ │ └── UncheckedList.cs
│ │ ├── Reflection/
│ │ │ ├── Extensions.cs
│ │ │ ├── ILRuntimeConstructorInfo.cs
│ │ │ ├── ILRuntimeFieldInfo.cs
│ │ │ ├── ILRuntimeMethodInfo.cs
│ │ │ ├── ILRuntimeParameterInfo.cs
│ │ │ ├── ILRuntimePropertyInfo.cs
│ │ │ ├── ILRuntimeType.cs
│ │ │ └── ILRuntimeWrapperType.cs
│ │ └── Runtime/
│ │ ├── Adaptors/
│ │ │ └── CLRCrossBindingAdaptors.cs
│ │ ├── CLRBinding/
│ │ │ ├── BindingCodeGenerator.cs
│ │ │ ├── BindingGeneratorExtensions.cs
│ │ │ ├── CommonBindingGenerator.cs
│ │ │ ├── ConstructorBindingGenerator.cs
│ │ │ ├── FieldBindingGenerator.cs
│ │ │ ├── MethodBindingGenerator.cs
│ │ │ └── ValueTypeBindingGenerator.cs
│ │ ├── Debugger/
│ │ │ ├── BreakPointContext.cs
│ │ │ ├── BreakpointInfo.cs
│ │ │ ├── DebugMessageType.cs
│ │ │ ├── DebugService.cs
│ │ │ ├── DebugSocket.cs
│ │ │ ├── DebuggerServer/
│ │ │ │ └── DebuggerServer.cs
│ │ │ ├── Protocol/
│ │ │ │ ├── CSBindBreakpoint.cs
│ │ │ │ ├── CSDeleteBreakpoint.cs
│ │ │ │ ├── CSExecute.cs
│ │ │ │ ├── CSResolveVariable.cs
│ │ │ │ ├── CSStep.cs
│ │ │ │ ├── SCAttachResult.cs
│ │ │ │ ├── SCBindBreakpointResult.cs
│ │ │ │ ├── SCBreakpointHit.cs
│ │ │ │ ├── SCModuleLoaded.cs
│ │ │ │ ├── SCResolveVariableResult.cs
│ │ │ │ ├── SCStepComplete.cs
│ │ │ │ └── SCThreadStarted.cs
│ │ │ ├── StackFrameInfo.cs
│ │ │ ├── StepTypes.cs
│ │ │ └── VariableInfo.cs
│ │ ├── Enviorment/
│ │ │ ├── AppDomain.cs
│ │ │ ├── CLRRedirections.cs
│ │ │ ├── CrossBindingAdaptor.cs
│ │ │ ├── DelegateManager.cs
│ │ │ ├── ILContext.cs
│ │ │ └── ValueTypeBinder.cs
│ │ ├── Extensions.cs
│ │ ├── Intepreter/
│ │ │ ├── DelegateAdapter.cs
│ │ │ ├── ILIntepreter.cs
│ │ │ ├── ILRuntimeException.cs
│ │ │ ├── ILTypeInstance.cs
│ │ │ └── OpCodes/
│ │ │ ├── OpCode.cs
│ │ │ └── OpCodeEnum.cs
│ │ └── Stack/
│ │ ├── RuntimeStack.cs
│ │ ├── StackFrame.cs
│ │ └── StackObject.cs
│ ├── ILRuntime.csproj
│ ├── ILRuntime.csproj.user
│ ├── Mono.Cecil.20/
│ │ └── MonoCecil/
│ │ ├── Mono/
│ │ │ ├── Actions.cs
│ │ │ ├── Empty.cs
│ │ │ └── Funcs.cs
│ │ ├── Mono.Cecil/
│ │ │ ├── ArrayType.cs
│ │ │ ├── AssemblyDefinition.cs
│ │ │ ├── AssemblyFlags.cs
│ │ │ ├── AssemblyHashAlgorithm.cs
│ │ │ ├── AssemblyLinkedResource.cs
│ │ │ ├── AssemblyNameDefinition.cs
│ │ │ ├── AssemblyNameReference.cs
│ │ │ ├── AssemblyReader.cs
│ │ │ ├── AssemblyWriter.cs
│ │ │ ├── BaseAssemblyResolver.cs
│ │ │ ├── CallSite.cs
│ │ │ ├── CustomAttribute.cs
│ │ │ ├── DefaultAssemblyResolver.cs
│ │ │ ├── EmbeddedResource.cs
│ │ │ ├── EventAttributes.cs
│ │ │ ├── EventDefinition.cs
│ │ │ ├── EventReference.cs
│ │ │ ├── ExportedType.cs
│ │ │ ├── FieldAttributes.cs
│ │ │ ├── FieldDefinition.cs
│ │ │ ├── FieldReference.cs
│ │ │ ├── FileAttributes.cs
│ │ │ ├── FunctionPointerType.cs
│ │ │ ├── GenericInstanceMethod.cs
│ │ │ ├── GenericInstanceType.cs
│ │ │ ├── GenericParameter.cs
│ │ │ ├── GenericParameterAttributes.cs
│ │ │ ├── IConstantProvider.cs
│ │ │ ├── ICustomAttributeProvider.cs
│ │ │ ├── IGenericInstance.cs
│ │ │ ├── IGenericParameterProvider.cs
│ │ │ ├── IMarshalInfoProvider.cs
│ │ │ ├── IMemberDefinition.cs
│ │ │ ├── IMetadataScope.cs
│ │ │ ├── IMetadataTokenProvider.cs
│ │ │ ├── IMethodSignature.cs
│ │ │ ├── Import.cs
│ │ │ ├── LinkedResource.cs
│ │ │ ├── ManifestResourceAttributes.cs
│ │ │ ├── MarshalInfo.cs
│ │ │ ├── MemberDefinitionCollection.cs
│ │ │ ├── MemberReference.cs
│ │ │ ├── MetadataResolver.cs
│ │ │ ├── MetadataSystem.cs
│ │ │ ├── MethodAttributes.cs
│ │ │ ├── MethodCallingConvention.cs
│ │ │ ├── MethodDefinition.cs
│ │ │ ├── MethodImplAttributes.cs
│ │ │ ├── MethodReference.cs
│ │ │ ├── MethodReturnType.cs
│ │ │ ├── MethodSemanticsAttributes.cs
│ │ │ ├── MethodSpecification.cs
│ │ │ ├── Modifiers.cs
│ │ │ ├── ModuleDefinition.cs
│ │ │ ├── ModuleKind.cs
│ │ │ ├── ModuleReference.cs
│ │ │ ├── NativeType.cs
│ │ │ ├── PInvokeAttributes.cs
│ │ │ ├── PInvokeInfo.cs
│ │ │ ├── ParameterAttributes.cs
│ │ │ ├── ParameterDefinition.cs
│ │ │ ├── ParameterDefinitionCollection.cs
│ │ │ ├── ParameterReference.cs
│ │ │ ├── PinnedType.cs
│ │ │ ├── PointerType.cs
│ │ │ ├── PropertyAttributes.cs
│ │ │ ├── PropertyDefinition.cs
│ │ │ ├── PropertyReference.cs
│ │ │ ├── ReferenceType.cs
│ │ │ ├── Resource.cs
│ │ │ ├── SecurityDeclaration.cs
│ │ │ ├── SentinelType.cs
│ │ │ ├── TargetRuntime.cs
│ │ │ ├── TypeAttributes.cs
│ │ │ ├── TypeDefinition.cs
│ │ │ ├── TypeDefinitionCollection.cs
│ │ │ ├── TypeParser.cs
│ │ │ ├── TypeReference.cs
│ │ │ ├── TypeSpecification.cs
│ │ │ ├── TypeSystem.cs
│ │ │ └── VariantType.cs
│ │ ├── Mono.Cecil.Cil/
│ │ │ ├── Code.cs
│ │ │ ├── CodeReader.cs
│ │ │ ├── CodeWriter.cs
│ │ │ ├── Document.cs
│ │ │ ├── ExceptionHandler.cs
│ │ │ ├── ILProcessor.cs
│ │ │ ├── Instruction.cs
│ │ │ ├── MethodBody.cs
│ │ │ ├── OpCode.cs
│ │ │ ├── OpCodes.cs
│ │ │ ├── SequencePoint.cs
│ │ │ ├── Symbols.cs
│ │ │ ├── VariableDefinition.cs
│ │ │ └── VariableReference.cs
│ │ ├── Mono.Cecil.Metadata/
│ │ │ ├── BlobHeap.cs
│ │ │ ├── Buffers.cs
│ │ │ ├── CodedIndex.cs
│ │ │ ├── ElementType.cs
│ │ │ ├── GuidHeap.cs
│ │ │ ├── Heap.cs
│ │ │ ├── MetadataToken.cs
│ │ │ ├── Row.cs
│ │ │ ├── StringHeap.cs
│ │ │ ├── TableHeap.cs
│ │ │ ├── TokenType.cs
│ │ │ ├── UserStringHeap.cs
│ │ │ └── Utilities.cs
│ │ ├── Mono.Cecil.PE/
│ │ │ ├── BinaryStreamReader.cs
│ │ │ ├── BinaryStreamWriter.cs
│ │ │ ├── ByteBuffer.cs
│ │ │ ├── ByteBufferEqualityComparer.cs
│ │ │ ├── DataDirectory.cs
│ │ │ ├── Image.cs
│ │ │ ├── ImageReader.cs
│ │ │ ├── ImageWriter.cs
│ │ │ ├── Section.cs
│ │ │ └── TextMap.cs
│ │ ├── Mono.Collections.Generic/
│ │ │ ├── Collection.cs
│ │ │ └── ReadOnlyCollection.cs
│ │ └── Mono.Security.Cryptography/
│ │ ├── CryptoConvert.cs
│ │ └── CryptoService.cs
│ └── Properties/
│ └── AssemblyInfo.cs
├── Libs/
│ ├── PublishLibrary.bat
│ ├── SGFAppDemo.exe.config
│ ├── SGFAppILRScript.dll.config
│ └── SGFCore.dll.config
├── README.md
├── SGF.sln
├── SGFAppCommon/
│ ├── Data/
│ │ ├── PlayerData.cs
│ │ ├── RoomData.cs
│ │ └── UserData.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── Proto/
│ │ ├── HeartBeatProto.cs
│ │ ├── LoginProto.cs
│ │ └── ProtoCmd.cs
│ └── SGFAppCommon.csproj
├── SGFAppDemo/
│ ├── App.config
│ ├── AppMain.cs
│ ├── Framework/
│ │ ├── SGFGameDefine.cs
│ │ ├── SGFGameMainLoop.cs
│ │ └── SGFGameObject.cs
│ ├── GlobalEvent.cs
│ ├── ModuleDef.cs
│ ├── Modules/
│ │ └── Version/
│ │ └── VersionModule.cs
│ ├── Program.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── SGFAppDemo.csproj
│ ├── SGFGameDefine.cs
│ ├── SGFGameMainLoop.cs
│ ├── SGFGameObject.cs
│ └── Services/
│ └── Online/
│ ├── HeartBeatHandler.cs
│ ├── OnlineManager.cs
│ ├── ServerProfiler.cs
│ └── ServerTestBot.cs
├── SGFAppILRScript/
│ ├── App.config
│ ├── ModuleDef.cs
│ ├── Modules/
│ │ ├── Login/
│ │ │ └── LoginModule.cs
│ │ └── Room/
│ │ └── RoomModule.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── SGFAppILRScript.csproj
│ ├── SGFAppILRScript.csproj.user
│ └── ScriptMain.cs
├── SGFCore/
│ ├── App.config
│ ├── Class1.cs
│ ├── Codec/
│ │ ├── MiniJSON.cs
│ │ ├── PBSerializer.cs
│ │ └── SGFEncoding.cs
│ ├── Event/
│ │ └── Signal.cs
│ ├── Extension/
│ │ ├── CollectionExtensions.cs
│ │ ├── ObjectExtensions.cs
│ │ ├── StreamExtension.cs
│ │ └── StringExtensions.cs
│ ├── G3Lite/
│ │ ├── IndexTypes.cs
│ │ ├── MathUtil.cs
│ │ ├── Matrix3.cs
│ │ ├── Quaternion.cs
│ │ ├── Vector2.cs
│ │ ├── Vector3.cs
│ │ └── Vector4.cs
│ ├── IPCWork/
│ │ ├── IPCConfig.cs
│ │ ├── IPCManager.cs
│ │ └── IPCMessage.cs
│ ├── Marshals/
│ │ ├── MarshalArray.cs
│ │ └── MarshalList.cs
│ ├── MathLite/
│ │ └── SGFRandom.cs
│ ├── Module/
│ │ ├── GeneralModule.cs
│ │ ├── IModuleActivator.cs
│ │ ├── ModuleBase.cs
│ │ ├── ModuleManager.cs
│ │ └── NativeModuleActivator.cs
│ ├── MvvmLite/
│ │ ├── MvvmBinding.cs
│ │ ├── MvvmCommand.cs
│ │ ├── MvvmManager.cs
│ │ ├── MvvmModel.cs
│ │ └── MvvmViewModel.cs
│ ├── Network/
│ │ ├── Core/
│ │ │ ├── KCP/
│ │ │ │ ├── KCPSocket.cs
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── kcp.cs
│ │ │ │ └── switch_queue.cs
│ │ │ ├── NetBuffer.cs
│ │ │ ├── NetErrorCode.cs
│ │ │ ├── RPCLite/
│ │ │ │ ├── RPCManagerBase.cs
│ │ │ │ └── RPCMessage.cs
│ │ │ ├── SocketAsyncEventArgsPool.cs
│ │ │ └── UdpSocket.cs
│ │ ├── Debuger/
│ │ │ ├── NetDebugFile.cs
│ │ │ ├── NetDebuger.cs
│ │ │ └── net_debuger.cs
│ │ ├── FSPLite/
│ │ │ ├── Client/
│ │ │ │ ├── FSPClient.cs
│ │ │ │ ├── FSPFrameController.cs
│ │ │ │ └── FSPManager.cs
│ │ │ ├── FSPBasicCmd.cs
│ │ │ ├── FSPGameEndReason.cs
│ │ │ ├── FSPGameState.cs
│ │ │ ├── FSPLiteData.cs
│ │ │ └── Server/
│ │ │ ├── FSPGame.cs
│ │ │ ├── FSPGateway.cs
│ │ │ ├── FSPManager.cs
│ │ │ ├── FSPPlayer.cs
│ │ │ └── FSPSession.cs
│ │ ├── General/
│ │ │ ├── Client/
│ │ │ │ ├── IConnection.cs
│ │ │ │ ├── KCPConnection.cs
│ │ │ │ ├── NetManager.cs
│ │ │ │ ├── RPCManager.cs
│ │ │ │ ├── TcpConnection.cs
│ │ │ │ └── UdpConnection.cs
│ │ │ ├── ConnectionType.cs
│ │ │ ├── NetDefine.cs
│ │ │ ├── NetPacket.cs
│ │ │ ├── Proto/
│ │ │ │ ├── NetErrorProto.cs
│ │ │ │ ├── NetMessage.cs
│ │ │ │ ├── ProfilerTestProto.cs
│ │ │ │ └── ProtocolHead.cs
│ │ │ ├── Server/
│ │ │ │ ├── IGateway.cs
│ │ │ │ ├── ISession.cs
│ │ │ │ ├── KCPGateway.cs
│ │ │ │ ├── KCPSession.cs
│ │ │ │ ├── NetManager.cs
│ │ │ │ ├── RPCManager.cs
│ │ │ │ ├── TcpGateway.cs
│ │ │ │ ├── TcpSession.cs
│ │ │ │ ├── UdpGateway.cs
│ │ │ │ └── UdpSession.cs
│ │ │ └── TcpConnectionBase.cs
│ │ └── Utils/
│ │ ├── DnsUtils.cs
│ │ ├── IPUtils.cs
│ │ └── NetUtils.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── SGFCore.csproj
│ ├── SGFCore.csproj.user
│ ├── Server/
│ │ ├── MainLoop.cs
│ │ ├── ServerConfig.cs
│ │ ├── ServerManager.cs
│ │ └── ServerModule.cs
│ ├── Threading/
│ │ └── ThreadPool.cs
│ ├── Timers/
│ │ └── Timer.cs
│ └── Utils/
│ ├── AppPrefs.cs
│ ├── CmdlineUtils.cs
│ ├── ConsoleInput.cs
│ ├── DictionarySafe.cs
│ ├── FPSUtils.cs
│ ├── FileUtils.cs
│ ├── MapList.cs
│ ├── ObjectDumpUtils.cs
│ ├── PathUtils.cs
│ ├── SGFTime.cs
│ ├── Singleton.cs
│ ├── StringUtils.cs
│ ├── ThrowHelper.cs
│ ├── TimeUtils.cs
│ └── URLUtils.cs
├── SGFCoreTest/
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── SGFCoreTest.csproj
│ ├── TestMarshalArray.cs
│ └── TestMarshalList.cs
├── SGFDebuger/
│ ├── Debuger.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ └── SGFDebuger.csproj
├── SGFServerLite/
│ ├── App.config
│ ├── GameServer/
│ │ └── GameServer.cs
│ ├── Program.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── SGFServerDemo.csproj
│ └── ZoneServer/
│ ├── Online/
│ │ └── OnlineManager.cs
│ ├── Room/
│ │ ├── Room.cs
│ │ └── RoomManager.cs
│ ├── ServerContext.cs
│ └── ZoneServer.cs
├── SGFUnity/
│ ├── Class1.cs
│ ├── Common/
│ │ ├── AppPrefs.cs
│ │ ├── DelayInvoker.cs
│ │ ├── MonoHelper.cs
│ │ └── MonoSingleton.cs
│ ├── DebugerGUI/
│ │ ├── NetDebugerGUI.cs
│ │ ├── SGFDebugerGUI.cs
│ │ └── SGFDebugerGUIBase.cs
│ ├── Extension/
│ │ ├── BitmapDrawingExtensions.cs
│ │ ├── TransformExtensions.cs
│ │ └── VectorExtensions.cs
│ ├── ILR/
│ │ ├── DebugerILR/
│ │ │ ├── DebugerMethodRedirector.cs
│ │ │ └── ILogTagAdaptor.cs
│ │ ├── DelegateConvertor.cs
│ │ ├── ILRManager.cs
│ │ ├── ModuleILR/
│ │ │ ├── GeneralModuleAdaptor.cs
│ │ │ └── ILRModuleActivator.cs
│ │ └── UIILR/
│ │ ├── ILRUILoading.cs
│ │ ├── ILRUILoadingAdaptor.cs
│ │ ├── ILRUIPage.cs
│ │ ├── ILRUIPageAdaptor.cs
│ │ ├── ILRUIPanel.cs
│ │ ├── ILRUIPanelAdaptor.cs
│ │ ├── ILRUIWidget.cs
│ │ ├── ILRUIWidgetAdaptor.cs
│ │ ├── ILRUIWindow.cs
│ │ └── ILRUIWindowAdaptor.cs
│ ├── ILRuntime/
│ │ ├── Adapters/
│ │ │ └── Editor/
│ │ │ └── ILRuntimeCLRBinding.cs
│ │ ├── CLR/
│ │ │ ├── Method/
│ │ │ │ ├── CLRMethod.cs
│ │ │ │ ├── ExceptionHandler.cs
│ │ │ │ ├── ILMethod.cs
│ │ │ │ └── IMethod.cs
│ │ │ ├── TypeSystem/
│ │ │ │ ├── CLRType.cs
│ │ │ │ ├── ILGenericParameterType.cs
│ │ │ │ ├── ILType.cs
│ │ │ │ └── IType.cs
│ │ │ └── Utils/
│ │ │ └── Extensions.cs
│ │ ├── Other/
│ │ │ ├── ByReferenceKeyComparer.cs
│ │ │ ├── DelegateExportAttribute.cs
│ │ │ ├── NeedAdaptorAttribute.cs
│ │ │ ├── ThreadSafeDictionary.cs
│ │ │ └── UncheckedList.cs
│ │ ├── Reflection/
│ │ │ ├── Extensions.cs
│ │ │ ├── ILRuntimeConstructorInfo.cs
│ │ │ ├── ILRuntimeFieldInfo.cs
│ │ │ ├── ILRuntimeMethodInfo.cs
│ │ │ ├── ILRuntimeParameterInfo.cs
│ │ │ ├── ILRuntimePropertyInfo.cs
│ │ │ ├── ILRuntimeType.cs
│ │ │ └── ILRuntimeWrapperType.cs
│ │ └── Runtime/
│ │ ├── Adaptors/
│ │ │ └── CLRCrossBindingAdaptors.cs
│ │ ├── CLRBinding/
│ │ │ ├── BindingCodeGenerator.cs
│ │ │ ├── BindingGeneratorExtensions.cs
│ │ │ ├── CommonBindingGenerator.cs
│ │ │ ├── ConstructorBindingGenerator.cs
│ │ │ ├── FieldBindingGenerator.cs
│ │ │ ├── MethodBindingGenerator.cs
│ │ │ └── ValueTypeBindingGenerator.cs
│ │ ├── Debugger/
│ │ │ ├── BreakPointContext.cs
│ │ │ ├── BreakpointInfo.cs
│ │ │ ├── DebugMessageType.cs
│ │ │ ├── DebugService.cs
│ │ │ ├── DebugSocket.cs
│ │ │ ├── DebuggerServer/
│ │ │ │ └── DebuggerServer.cs
│ │ │ ├── Protocol/
│ │ │ │ ├── CSBindBreakpoint.cs
│ │ │ │ ├── CSDeleteBreakpoint.cs
│ │ │ │ ├── CSExecute.cs
│ │ │ │ ├── CSResolveVariable.cs
│ │ │ │ ├── CSStep.cs
│ │ │ │ ├── SCAttachResult.cs
│ │ │ │ ├── SCBindBreakpointResult.cs
│ │ │ │ ├── SCBreakpointHit.cs
│ │ │ │ ├── SCModuleLoaded.cs
│ │ │ │ ├── SCResolveVariableResult.cs
│ │ │ │ ├── SCStepComplete.cs
│ │ │ │ └── SCThreadStarted.cs
│ │ │ ├── StackFrameInfo.cs
│ │ │ ├── StepTypes.cs
│ │ │ └── VariableInfo.cs
│ │ ├── Enviorment/
│ │ │ ├── AppDomain.cs
│ │ │ ├── CLRRedirections.cs
│ │ │ ├── CrossBindingAdaptor.cs
│ │ │ ├── DelegateManager.cs
│ │ │ ├── ILContext.cs
│ │ │ └── ValueTypeBinder.cs
│ │ ├── Extensions.cs
│ │ ├── Intepreter/
│ │ │ ├── DelegateAdapter.cs
│ │ │ ├── ILIntepreter.cs
│ │ │ ├── ILRuntimeException.cs
│ │ │ ├── ILTypeInstance.cs
│ │ │ └── OpCodes/
│ │ │ ├── OpCode.cs
│ │ │ └── OpCodeEnum.cs
│ │ └── Stack/
│ │ ├── RuntimeStack.cs
│ │ ├── StackFrame.cs
│ │ └── StackObject.cs
│ ├── Mono.Cecil.20/
│ │ └── MonoCecil/
│ │ ├── Mono/
│ │ │ ├── Actions.cs
│ │ │ ├── Empty.cs
│ │ │ └── Funcs.cs
│ │ ├── Mono.Cecil/
│ │ │ ├── ArrayType.cs
│ │ │ ├── AssemblyDefinition.cs
│ │ │ ├── AssemblyFlags.cs
│ │ │ ├── AssemblyHashAlgorithm.cs
│ │ │ ├── AssemblyLinkedResource.cs
│ │ │ ├── AssemblyNameDefinition.cs
│ │ │ ├── AssemblyNameReference.cs
│ │ │ ├── AssemblyReader.cs
│ │ │ ├── AssemblyWriter.cs
│ │ │ ├── BaseAssemblyResolver.cs
│ │ │ ├── CallSite.cs
│ │ │ ├── CustomAttribute.cs
│ │ │ ├── DefaultAssemblyResolver.cs
│ │ │ ├── EmbeddedResource.cs
│ │ │ ├── EventAttributes.cs
│ │ │ ├── EventDefinition.cs
│ │ │ ├── EventReference.cs
│ │ │ ├── ExportedType.cs
│ │ │ ├── FieldAttributes.cs
│ │ │ ├── FieldDefinition.cs
│ │ │ ├── FieldReference.cs
│ │ │ ├── FileAttributes.cs
│ │ │ ├── FunctionPointerType.cs
│ │ │ ├── GenericInstanceMethod.cs
│ │ │ ├── GenericInstanceType.cs
│ │ │ ├── GenericParameter.cs
│ │ │ ├── GenericParameterAttributes.cs
│ │ │ ├── IConstantProvider.cs
│ │ │ ├── ICustomAttributeProvider.cs
│ │ │ ├── IGenericInstance.cs
│ │ │ ├── IGenericParameterProvider.cs
│ │ │ ├── IMarshalInfoProvider.cs
│ │ │ ├── IMemberDefinition.cs
│ │ │ ├── IMetadataScope.cs
│ │ │ ├── IMetadataTokenProvider.cs
│ │ │ ├── IMethodSignature.cs
│ │ │ ├── Import.cs
│ │ │ ├── LinkedResource.cs
│ │ │ ├── ManifestResourceAttributes.cs
│ │ │ ├── MarshalInfo.cs
│ │ │ ├── MemberDefinitionCollection.cs
│ │ │ ├── MemberReference.cs
│ │ │ ├── MetadataResolver.cs
│ │ │ ├── MetadataSystem.cs
│ │ │ ├── MethodAttributes.cs
│ │ │ ├── MethodCallingConvention.cs
│ │ │ ├── MethodDefinition.cs
│ │ │ ├── MethodImplAttributes.cs
│ │ │ ├── MethodReference.cs
│ │ │ ├── MethodReturnType.cs
│ │ │ ├── MethodSemanticsAttributes.cs
│ │ │ ├── MethodSpecification.cs
│ │ │ ├── Modifiers.cs
│ │ │ ├── ModuleDefinition.cs
│ │ │ ├── ModuleKind.cs
│ │ │ ├── ModuleReference.cs
│ │ │ ├── NativeType.cs
│ │ │ ├── PInvokeAttributes.cs
│ │ │ ├── PInvokeInfo.cs
│ │ │ ├── ParameterAttributes.cs
│ │ │ ├── ParameterDefinition.cs
│ │ │ ├── ParameterDefinitionCollection.cs
│ │ │ ├── ParameterReference.cs
│ │ │ ├── PinnedType.cs
│ │ │ ├── PointerType.cs
│ │ │ ├── PropertyAttributes.cs
│ │ │ ├── PropertyDefinition.cs
│ │ │ ├── PropertyReference.cs
│ │ │ ├── ReferenceType.cs
│ │ │ ├── Resource.cs
│ │ │ ├── SecurityDeclaration.cs
│ │ │ ├── SentinelType.cs
│ │ │ ├── TargetRuntime.cs
│ │ │ ├── TypeAttributes.cs
│ │ │ ├── TypeDefinition.cs
│ │ │ ├── TypeDefinitionCollection.cs
│ │ │ ├── TypeParser.cs
│ │ │ ├── TypeReference.cs
│ │ │ ├── TypeSpecification.cs
│ │ │ ├── TypeSystem.cs
│ │ │ └── VariantType.cs
│ │ ├── Mono.Cecil.Cil/
│ │ │ ├── Code.cs
│ │ │ ├── CodeReader.cs
│ │ │ ├── CodeWriter.cs
│ │ │ ├── Document.cs
│ │ │ ├── ExceptionHandler.cs
│ │ │ ├── ILProcessor.cs
│ │ │ ├── Instruction.cs
│ │ │ ├── MethodBody.cs
│ │ │ ├── OpCode.cs
│ │ │ ├── OpCodes.cs
│ │ │ ├── SequencePoint.cs
│ │ │ ├── Symbols.cs
│ │ │ ├── VariableDefinition.cs
│ │ │ └── VariableReference.cs
│ │ ├── Mono.Cecil.Metadata/
│ │ │ ├── BlobHeap.cs
│ │ │ ├── Buffers.cs
│ │ │ ├── CodedIndex.cs
│ │ │ ├── ElementType.cs
│ │ │ ├── GuidHeap.cs
│ │ │ ├── Heap.cs
│ │ │ ├── MetadataToken.cs
│ │ │ ├── Row.cs
│ │ │ ├── StringHeap.cs
│ │ │ ├── TableHeap.cs
│ │ │ ├── TokenType.cs
│ │ │ ├── UserStringHeap.cs
│ │ │ └── Utilities.cs
│ │ ├── Mono.Cecil.PE/
│ │ │ ├── BinaryStreamReader.cs
│ │ │ ├── BinaryStreamWriter.cs
│ │ │ ├── ByteBuffer.cs
│ │ │ ├── ByteBufferEqualityComparer.cs
│ │ │ ├── DataDirectory.cs
│ │ │ ├── Image.cs
│ │ │ ├── ImageReader.cs
│ │ │ ├── ImageWriter.cs
│ │ │ ├── Section.cs
│ │ │ └── TextMap.cs
│ │ ├── Mono.Collections.Generic/
│ │ │ ├── Collection.cs
│ │ │ └── ReadOnlyCollection.cs
│ │ └── Mono.Security.Cryptography/
│ │ ├── CryptoConvert.cs
│ │ └── CryptoService.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── SGFUnity.csproj
│ ├── SGFUnity.csproj.user
│ ├── UI/
│ │ ├── Drag/
│ │ │ ├── Draggable.cs
│ │ │ └── DropZone.cs
│ │ ├── SGUI/
│ │ │ ├── Drawing.cs
│ │ │ ├── DrawingSimple.cs
│ │ │ └── GUICurve.cs
│ │ ├── UIDefine.cs
│ │ ├── UIElementBinder.cs
│ │ ├── UIEventTrigger.cs
│ │ ├── UILib/
│ │ │ ├── Control/
│ │ │ │ ├── CtlList.cs
│ │ │ │ ├── CtlListItem.cs
│ │ │ │ ├── CtlProgressBar.cs
│ │ │ │ └── UIControl.cs
│ │ │ ├── UIMsgBox.cs
│ │ │ ├── UIMsgTips.cs
│ │ │ └── UISimpleLoading.cs
│ │ ├── UILoading.cs
│ │ ├── UIManager.cs
│ │ ├── UIPage.cs
│ │ ├── UIPanel.cs
│ │ ├── UIRes.cs
│ │ ├── UIRoot.cs
│ │ ├── UIUtils.cs
│ │ ├── UIWidget.cs
│ │ └── UIWindow.cs
│ └── Utils/
│ ├── GameObjectUtils.cs
│ ├── NetUtils.cs
│ └── QRCodeUtils.cs
└── SGFUnityTest/
├── Properties/
│ └── AssemblyInfo.cs
├── SGFUnityTest.csproj
└── UnitTest1.cs
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.vs
*.pdb
*.mdb
SGFAppCommon/obj
SGFAppDemo/obj
SGFAppILRScript/obj
SGFCore/obj
SGFDebuger/obj
SGFServerLite/obj
SGFUnity/obj
================================================
FILE: Apps/DirConfig.json
================================================
DB,4.3.2.1,32154
DB,4.3.2.1,32153
Zone,5.3.2.1,32154
================================================
FILE: Apps/ILRuntime.dll.config
================================================
================================================
FILE: Apps/SGFAppDemo.exe.config
================================================
================================================
FILE: Apps/SGFAppILRScript.dll.config
================================================
================================================
FILE: Apps/SGFCore.dll.config
================================================
================================================
FILE: Apps/SGFCore.xml
================================================
SGFCore
序列化帮助类
序列化pb数据
反序列化pb数据
获取Type所指定的ModuleEvent(它其实是一个EventTable)
如果不存在,则实例化一个
采用线性同余算法产生一个0~1之间的随机小数
实现抽象事件功能
可以像这样使用:obj.Event("onLogin").AddListener(...)
事件的发送方法:this.Event("onLogin").Invoke(args)
而不需要在编码时先定义好,以提高模块的抽象程度
但是在模块内部的类不应该过于抽象,比如数据发生更新了,
在UI类这样使用:obj.onUpdate.AddListener(...)
这两种方法在使用形式上,保持了一致性!
调用它以创建模块
调用它以释放模块
当模块收到消息后,对消息进行一些处理
由派生类去实现,用于处理消息
显示业务模块的主UI
一般业务模块都有UI,这是游戏业务模块的特点
构造函数传入Name
是因为Lua模块无法通过反射来获取Name
这里应该去加载Lua脚本
并且将EventManager映射到Lua脚本中
调用它以卸载Lua脚本
调用它以释放模块
已创建的模块列表
当目标模块未创建时,缓存的消息对象
当目标模块未创建时,预监听的事件
用于模块反射的域
初始化
业务模块所在的域
通过类型创建一个业务模块
通过名字创建一个业务模块
先通过名字反射出Class,如果不存在
则通过扫描Lua文件目录加载LuaModule
业务模块的名字
释放一个由ModuleManager创建的模块
遵守谁创建谁释放的原则
释放所有模块
通过名字获取一个Module
如果未创建过该Module,则返回null
显示业务模块的默认UI
向指定的模块发送消息
监听指定模块的指定事件
用于实现单例
调用它以创建模块
并且检查它是否以单例形式创建
临时字节长度
去掉已经读完的字节
装POSITION设置成0
将位置设置到最大
将Byte[]写入Buffer的末尾
不移动游标,返回长度
把src对象的数组copy到本对象,从dstOffect的地方开始
不移动游标,返回长度
把src对象的数组从srcOffset开始copy到本对象从dstOffect的地方开始
不移动游标,返回长度
从指定Pos增加指定Len
读取数据
字节读出
字节写入...
设置帧数据的监听
监听来自FSPClient的帧数据
由外界驱动
执行每一帧
给外界用来发送FSPVkey的
用于本地兼容,比如打PVE的时候,也可以用帧同步兼容
0 初始状态
游戏创建状态
只有在该状态下,才允许加入玩家
当所有玩家都发VKey.GameBegin后,进入下一个状态
游戏开始状态
在该状态下,等待所有玩家发VKey.RoundBegin,或者 判断玩家是否掉线
当所有人都发送VKey.RoundBegin,进入下一个状态
当有玩家掉线,则从FSPGame中删除该玩家:
判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
回合开始状态
(这个时候客户端可能在加载资源)
在该状态下,等待所有玩家发VKey.ControlStart, 或者 判断玩家是否掉线
当所有人都发送VKey.ControlStart,进入下一个状态
当有玩家掉线,则从FSPGame中删除该玩家:
判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
可以开始操作状态
(因为每个回合可能都会有加载过程,不同的玩家加载速度可能不同,需要用一个状态统一一下)
在该状态下,接收玩家的业务VKey, 或者 VKey.RoundEnd,或者VKey.GameExit
当所有人都发送VKey.RoundEnd,进入下一个状态
当有玩家掉线,或者发送VKey.GameExit,则从FSPGame中删除该玩家:
判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
回合结束状态
(大部分游戏只有1个回合,也有些游戏有多个回合,由客户端逻辑决定)
在该状态下,等待玩家发送VKey.GameEnd,或者 VKey.RoundBegin(如果游戏不只1个回合的话)
当所有人都发送VKey.GameEnd,或者 VKey.RoundBegin时,进入下一个状态
当有玩家掉线,则从FSPGame中删除该玩家:
判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
游戏结束状态
在该状态下,不再接收任何Vkey,然后给所有玩家发VKey.GameEnd,并且等待FSPServer关闭
为了兼容键盘和轮盘操作,将玩家的操作抽象为【虚拟按键+参数】的【命令】形式:VKey+Arg
键值
参数列表
S2C 服务器下发PlayerId
C2S 客户端上报ClientFrameId
PVP战斗结束
对局开始
开始加载
加载进度条
可以开始控制...
发送中途退出
对局结束
PVP战斗结束
UDP身份字段
PING 响应回包...
最大支持的玩家数:31
因为用来保存玩家Flag的Int只有31位有效位可用,不过31已经足够了
处理来自客户端的 Cmd
对其中的关键VKey进行处理
并且收集业务VKey
驱动游戏状态
检测游戏是否异常结束
游戏创建状态
只有在该状态下,才允许加入玩家
当所有玩家都发VKey.GameBegin后,进入下一个状态
游戏开始状态
在该状态下,等待所有玩家发VKey.RoundBegin,或者 判断玩家是否掉线
当所有人都发送VKey.RoundBegin,进入下一个状态
当有玩家掉线,则从FSPGame中删除该玩家:
判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
回合开始状态
(这个时候客户端可能在加载资源)
在该状态下,等待所有玩家发VKey.ControlStart, 或者 判断玩家是否掉线
当所有人都发送VKey.ControlStart,进入下一个状态
当有玩家掉线,则从FSPGame中删除该玩家:
判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
可以开始操作状态
(因为每个回合可能都会有加载过程,不同的玩家加载速度可能不同,需要用一个状态统一一下)
在该状态下,接收玩家的业务VKey, 或者 VKey.RoundEnd,或者VKey.GameExit
当所有人都发送VKey.RoundEnd,进入下一个状态
当有玩家掉线,或者发送VKey.GameExit,则从FSPGame中删除该玩家:
判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
回合结束状态
(大部分游戏只有1个回合,也有些游戏有多个回合,由客户端逻辑决定)
在该状态下,等待玩家发送VKey.GameEnd,或者 VKey.RoundBegin(如果游戏不只1个回合的话)
当所有人都发送VKey.GameEnd,或者 VKey.RoundBegin时,进入下一个状态
当有玩家掉线,则从FSPGame中删除该玩家:
判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
判断是否掉线
帧间隔...
如果不显示天, 显示hh就会显示所有小时, 但是又怕有地方需要这样, 因此这里新开一下
This class encodes and decodes JSON strings.
Spec. details, see http://www.json.org/
JSON uses Arrays and Objects. These correspond here to the datatypes IList and IDictionary.
All numbers are parsed to doubles.
Parses the string json into a value
A JSON string.
An List<object>, a Dictionary<string, object>, a double, an integer,a string, null, true, or false
Converts a IDictionary / IList object or a simple type (string, int, etc.) into a JSON string
A Dictionary<string, object> / List<object>
A JSON encoded string, or null if object 'json' is not serializable
Returns all elements of the source which are of FilterType.
移除不符合条件的元素
返回容器是否为空
批量追加元素
将容器序列化成字符串
格式:{a, b, c}
将容器序列化成字符串
Returns an enumerable of all elements of the given list but the first,
keeping them in order.
Returns an enumarable of all elements in the given
list but the last, keeping them in order.
根据给定的方法,求出容器中最大的元素
Finds the maximum element in the source as scored by the given function.
Returns a enumerable with elements in order, but the first element is moved to the end.
Returns a enumerable with elements in order, but the last element is moved to the front.
Returns a random element from the list.
Returns a random sample from the list.
乱序
Find an element in a collection by binary searching.
This requires the collection to be sorted on the values returned by getSubElement
This will compare some derived property of the elements in the collection, rather than the elements
themselves.
Find an element in a collection by binary searching.
This requires the collection to be sorted on the values returned by getSubElement
This will compare some derived property of the elements in the collection, rather than the elements
themselves.
Find an element in a collection by binary searching.
This requires the collection to be sorted on the values returned by getSubElement
This will compare some derived property of the elements in the collection, rather than the elements
themselves.
Find an element in a collection by binary searching.
This requires the collection to be sorted on the values returned by getSubElement
This will compare some derived property of the elements in the collection, rather than the elements
themselves.
对象如果为Null,抛出异常
异常消息
================================================
FILE: Apps/SGFServer.exe.config
================================================
================================================
FILE: Apps/SGFServerDemo.exe.config
================================================
================================================
FILE: ILRuntime/App.config
================================================
================================================
FILE: ILRuntime/ILRuntime/Adapters/Editor/ILRuntimeCLRBinding.cs
================================================
#if UNITY_EDITOR
using UnityEditor;
using UnityEngine;
using System;
using System.Text;
using System.Collections.Generic;
using OT.Foundation;
[System.Reflection.Obfuscation(Exclude = true)]
public class ILRuntimeCLRBinding
{
[MenuItem("ILRuntime/Generate CLR Binding Code")]
static void GenerateCLRBinding()
{
List types = new List();
types.Add(typeof(int));
types.Add(typeof(float));
types.Add(typeof(long));
types.Add(typeof(object));
types.Add(typeof(string));
types.Add(typeof(Array));
types.Add(typeof(Vector2));
types.Add(typeof(Vector3));
types.Add(typeof(Quaternion));
types.Add(typeof(GameObject));
types.Add(typeof(UnityEngine.Object));
types.Add(typeof(Transform));
types.Add(typeof(RectTransform));
types.Add(typeof(CLRBindingTestClass));
types.Add(typeof(Time));
types.Add(typeof(Debug));
types.Add(typeof(OT.Foundation.Debuger));
//所有DLL内的类型的真实C#类型都是ILTypeInstance
types.Add(typeof(List));
ILRuntime.Runtime.CLRBinding.BindingCodeGenerator.GenerateBindingCode(types, "Assets/ILRuntime/Generated");
}
[MenuItem("ILRuntime/Generate CLR Binding Code by Analysis")]
static void GenerateCLRBindingByAnalysis()
{
//用新的分析热更dll调用引用来生成绑定代码
ILRuntime.Runtime.Enviorment.AppDomain domain = new ILRuntime.Runtime.Enviorment.AppDomain();
using (System.IO.FileStream fs = new System.IO.FileStream("Assets/StreamingAssets/HotFix_Project.dll", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
domain.LoadAssembly(fs);
}
//Crossbind Adapter is needed to generate the correct binding code
InitILRuntime(domain);
ILRuntime.Runtime.CLRBinding.BindingCodeGenerator.GenerateBindingCode(domain, "Assets/ILRuntime/Generated");
}
static void InitILRuntime(ILRuntime.Runtime.Enviorment.AppDomain domain)
{
//这里需要注册所有热更DLL中用到的跨域继承Adapter,否则无法正确抓取引用
domain.RegisterCrossBindingAdaptor(new MonoBehaviourAdapter());
domain.RegisterCrossBindingAdaptor(new CoroutineAdapter());
domain.RegisterCrossBindingAdaptor(new InheritanceAdapter());
}
}
#endif
================================================
FILE: ILRuntime/ILRuntime/CLR/Method/CLRMethod.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using Mono.Cecil;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.CLR.TypeSystem;
using ILRuntime.Runtime.Stack;
using ILRuntime.CLR.Utils;
namespace ILRuntime.CLR.Method
{
public class CLRMethod : IMethod
{
MethodInfo def;
ConstructorInfo cDef;
List parameters;
ILRuntime.Runtime.Enviorment.AppDomain appdomain;
CLRType declaringType;
ParameterInfo[] param;
bool isConstructor;
CLRRedirectionDelegate redirect;
IType[] genericArguments;
object[] invocationParam;
bool isDelegateInvoke;
int hashCode = -1;
static int instance_id = 0x20000000;
public IType DeclearingType
{
get
{
return declaringType;
}
}
public string Name
{
get
{
return def.Name;
}
}
public bool HasThis
{
get
{
return isConstructor ? !cDef.IsStatic : !def.IsStatic;
}
}
public int GenericParameterCount
{
get
{
if (def.ContainsGenericParameters && def.IsGenericMethodDefinition)
{
return def.GetGenericArguments().Length;
}
return 0;
}
}
public bool IsGenericInstance
{
get
{
return genericArguments != null;
}
}
public bool IsDelegateInvoke
{
get
{
return isDelegateInvoke;
}
}
public bool IsStatic
{
get { return def.IsStatic; }
}
public CLRRedirectionDelegate Redirection { get { return redirect; } }
public MethodInfo MethodInfo { get { return def; } }
public ConstructorInfo ConstructorInfo { get { return cDef; } }
public IType[] GenericArguments { get { return genericArguments; } }
internal CLRMethod(MethodInfo def, CLRType type, ILRuntime.Runtime.Enviorment.AppDomain domain)
{
this.def = def;
declaringType = type;
this.appdomain = domain;
param = def.GetParameters();
if (!def.ContainsGenericParameters)
{
ReturnType = domain.GetType(def.ReturnType.FullName);
if (ReturnType == null)
{
ReturnType = domain.GetType(def.ReturnType.AssemblyQualifiedName);
}
}
if (type.IsDelegate && def.Name == "Invoke")
isDelegateInvoke = true;
isConstructor = false;
if (def != null)
{
if (def.IsGenericMethod && !def.IsGenericMethodDefinition)
{
appdomain.RedirectMap.TryGetValue(def.GetGenericMethodDefinition(), out redirect);
}
else
appdomain.RedirectMap.TryGetValue(def, out redirect);
}
}
internal CLRMethod(ConstructorInfo def, CLRType type, ILRuntime.Runtime.Enviorment.AppDomain domain)
{
this.cDef = def;
declaringType = type;
this.appdomain = domain;
param = def.GetParameters();
if (!def.ContainsGenericParameters)
{
ReturnType = type;
}
isConstructor = true;
if (def != null)
{
appdomain.RedirectMap.TryGetValue(cDef, out redirect);
}
}
public int ParameterCount
{
get
{
return param != null ? param.Length : 0;
}
}
public List Parameters
{
get
{
if (parameters == null)
{
InitParameters();
}
return parameters;
}
}
public IType ReturnType
{
get;
private set;
}
public bool IsConstructor
{
get
{
return cDef != null;
}
}
void InitParameters()
{
parameters = new List();
foreach (var i in param)
{
IType type = appdomain.GetType(i.ParameterType.FullName);
if (type == null)
type = appdomain.GetType(i.ParameterType.AssemblyQualifiedName);
if (i.ParameterType.IsGenericTypeDefinition)
{
if (type == null)
type = appdomain.GetType(i.ParameterType.GetGenericTypeDefinition().FullName);
if (type == null)
type = appdomain.GetType(i.ParameterType.GetGenericTypeDefinition().AssemblyQualifiedName);
}
if (i.ParameterType.ContainsGenericParameters)
{
var t = i.ParameterType;
if (t.HasElementType)
t = i.ParameterType.GetElementType();
else if (t.GetGenericArguments().Length > 0)
{
t = t.GetGenericArguments()[0];
}
type = new ILGenericParameterType(t.Name);
}
if (type == null)
throw new TypeLoadException();
parameters.Add(type);
}
}
unsafe StackObject* Minus(StackObject* a, int b)
{
return (StackObject*)((long)a - sizeof(StackObject) * b);
}
public unsafe object Invoke(Runtime.Intepreter.ILIntepreter intepreter, StackObject* esp, IList