コード例 #1
0
        public void GetSkinColorGradientPoints(int curGender, float age, Vec3[] colors)
        {
            PinnedArrayData <Vec3> pinnedArrayData = new PinnedArrayData <Vec3>(colors);
            IntPtr pointer = pinnedArrayData.Pointer;

            ScriptingInterfaceOfIMBFaceGen.call_GetSkinColorGradientPointsDelegate(curGender, age, pointer);
            pinnedArrayData.Dispose();
        }
        public void GetColorGradeGridData(UIntPtr scenePointer, byte[] snowData)
        {
            PinnedArrayData <byte> pinnedArrayData = new PinnedArrayData <byte>(snowData);
            ManagedArray           snowData1       = new ManagedArray(pinnedArrayData.Pointer, snowData != null ? snowData.Length : 0);

            ScriptingInterfaceOfIMBMapScene.call_GetColorGradeGridDataDelegate(scenePointer, snowData1);
            pinnedArrayData.Dispose();
        }
コード例 #3
0
        public void GetVoiceTypeUsableForPlayerData(int curGender, float age, bool[] aiArray)
        {
            PinnedArrayData <bool> pinnedArrayData = new PinnedArrayData <bool>(aiArray);
            IntPtr pointer = pinnedArrayData.Pointer;

            ScriptingInterfaceOfIMBFaceGen.call_GetVoiceTypeUsableForPlayerDataDelegate(curGender, age, pointer);
            pinnedArrayData.Dispose();
        }
コード例 #4
0
        public void WriteByteArrayToPacket(byte[] value, int offset, int size)
        {
            PinnedArrayData <byte> pinnedArrayData = new PinnedArrayData <byte>(value);
            ManagedArray           managedArray    = new ManagedArray(pinnedArrayData.Pointer, value != null ? value.Length : 0);

            ScriptingInterfaceOfIMBNetwork.call_WriteByteArrayToPacketDelegate(managedArray, offset, size);
            pinnedArrayData.Dispose();
        }
        public void TickVisuals(
            UIntPtr scenePointer,
            float tod,
            UIntPtr[] ticked_map_meshes,
            int tickedMapMeshesCount)
        {
            PinnedArrayData <UIntPtr> pinnedArrayData = new PinnedArrayData <UIntPtr>(ticked_map_meshes);
            IntPtr pointer = pinnedArrayData.Pointer;

            ScriptingInterfaceOfIMBMapScene.call_TickVisualsDelegate(scenePointer, tod, pointer, tickedMapMeshesCount);
            pinnedArrayData.Dispose();
        }
コード例 #6
0
        public int ReadByteArrayFromPacket(
            byte[] buffer,
            int offset,
            int bufferCapacity,
            ref bool bufferReadValid)
        {
            PinnedArrayData <byte> pinnedArrayData = new PinnedArrayData <byte>(buffer);
            ManagedArray           buffer1         = new ManagedArray(pinnedArrayData.Pointer, buffer != null ? buffer.Length : 0);
            int num = ScriptingInterfaceOfIMBNetwork.call_ReadByteArrayFromPacketDelegate(buffer1, offset, bufferCapacity, ref bufferReadValid);

            pinnedArrayData.Dispose();
            return(num);
        }
        public void GetFaceIndexForMultiplePositions(
            UIntPtr scenePointer,
            int movedPartyCount,
            float[] positionArray,
            PathFaceRecord[] resultArray,
            bool check_if_disabled,
            bool check_height)
        {
            PinnedArrayData <float> pinnedArrayData1 = new PinnedArrayData <float>(positionArray);
            IntPtr pointer1 = pinnedArrayData1.Pointer;
            PinnedArrayData <PathFaceRecord> pinnedArrayData2 = new PinnedArrayData <PathFaceRecord>(resultArray);
            IntPtr pointer2 = pinnedArrayData2.Pointer;

            ScriptingInterfaceOfIMBMapScene.call_GetFaceIndexForMultiplePositionsDelegate(scenePointer, movedPartyCount, pointer1, pointer2, check_if_disabled, check_height);
            pinnedArrayData1.Dispose();
            pinnedArrayData2.Dispose();
        }
        public void ApplySkeletonScale(
            UIntPtr agentVisualsId,
            Vec3 mountSitBoneScale,
            float mountRadiusAdder,
            byte boneCount,
            sbyte[] boneIndices,
            Vec3[] boneScales)
        {
            PinnedArrayData <sbyte> pinnedArrayData1 = new PinnedArrayData <sbyte>(boneIndices);
            IntPtr pointer1 = pinnedArrayData1.Pointer;
            PinnedArrayData <Vec3> pinnedArrayData2 = new PinnedArrayData <Vec3>(boneScales);
            IntPtr pointer2 = pinnedArrayData2.Pointer;

            ScriptingInterfaceOfIMBAgentVisuals.call_ApplySkeletonScaleDelegate(agentVisualsId, mountSitBoneScale, mountRadiusAdder, boneCount, pointer1, pointer2);
            pinnedArrayData1.Dispose();
            pinnedArrayData2.Dispose();
        }
コード例 #9
0
        public void GetVoiceDefinitionListWithMonsterSoundAndCollisionInfoClassName(
            string className,
            int[] definitionIndices)
        {
            byte[] numArray = (byte[])null;
            if (className != null)
            {
                numArray = CallbackStringBufferManager.StringBuffer0;
                int bytes = ScriptingInterfaceOfIMBVoiceManager._utf8.GetBytes(className, 0, className.Length, numArray, 0);
                numArray[bytes] = (byte)0;
            }
            PinnedArrayData <int> pinnedArrayData = new PinnedArrayData <int>(definitionIndices);
            IntPtr pointer = pinnedArrayData.Pointer;

            ScriptingInterfaceOfIMBVoiceManager.call_GetVoiceDefinitionListWithMonsterSoundAndCollisionInfoClassNameDelegate(numArray, pointer);
            pinnedArrayData.Dispose();
        }