Files
GoakeFlax/Source/Game/MyScriptTwo.cs
2026-01-05 15:02:44 +02:00

129 lines
5.8 KiB
C#

using System;
using System.Collections.Generic;
using FlaxEngine;
using FlaxEngine.Interop;
using FlaxEngine.Networking;
using FlaxEngine.Online;
namespace Game;
/// <summary>
/// MyScriptTwo Script.
/// </summary>
public class MyScriptTwo : MyScript2
{
public Model Model;
/// <inheritdoc/>
public override void OnStart()
{
Debug.Log("C# OnStart");
}
/// <inheritdoc/>
public override void OnEnable()
{
//counter++;
}
/// <inheritdoc/>
public override void OnDisable()
{
}
/// <inheritdoc/>
public override void OnUpdate()
{
}
public override void GetStats(ref long allocations, ref long deallocations)
{
allocations = ManagedHandle.Allocations;
deallocations = ManagedHandle.Deallocations;
}
public override void ManagedCoverageTests()
{
Actor actor = this.Actor;
MyScript script = actor.GetScript<MyScript>();
string shortString = "Testing string parameter marshalling";
Float3 f3 = new Float3(1, 2, 3);
if (true)
{
int[] ints = { 1 };
bool[] booleans = { true };
Actor[] actors = { actor };
string[] strings = { shortString };
Float3[] float3s = { f3 };
Guid fontAssetGuid = new Guid("ab96b25a49461d9f4f819484cf5c8213");
FontAsset fontAsset = Content.LoadAsync<FontAsset>(fontAssetGuid);
ModelLOD[] modelLods = Model.LODs;
Debug.Log($"{nameof(CoverageTest1)} (Managed)");
script.CoverageTest1(1, true, actor, shortString, shortString, f3);
Debug.Log($"{nameof(CoverageTest1Array)} (Managed)");
script.CoverageTest1Array(ints, booleans, actors, strings, strings, float3s);
Debug.Log($"{nameof(CoverageTest1ByRef)} (Managed)");
script.CoverageTest1ByRef(ref ints[0], ref booleans[0]/*, ref actors[0]*/, ref strings[0], ref strings[0], ref float3s[0]);
//Debug.Log($"{nameof(CoverageTest1ArrayByRef)} (Managed)");
//script.CoverageTest1ArrayByRef(ref ints, ref booleans/*, ref actors*/, ref strings, ref strings, ref float3s);
Debug.Log($"{nameof(CoverageTest2)} (Managed)");
script.CoverageTest2(fontAssetGuid, fontAsset, [fontAssetGuid], [fontAsset]);
Debug.Log($"{nameof(CoverageTest3)} (Managed)");
script.CoverageTest3(modelLods[0]/*, out var modelLod*/, out var modelLodsOut);
//Debug.Log($"{nameof(CoverageTest4)} (Managed)");
//script.CoverageTest4([1], out var bytesOut);
//script.CoverageTest2(fontAssetGuid, fontAssetRef, Array<Guid>(&fontAssetGuid, 1), Array<AssetReference<FontAsset>>(&fontAssetRef, 1));
//script.CoverageNamespaces1(networkChannelType, Array<NetworkChannelType>(&networkChannelType, 1), onlineLeaderboardSortModes, Array<OnlineLeaderboardSortModes>(&onlineLeaderboardSortModes, 1), onlineLeaderboardValueFormats, Array<OnlineLeaderboardValueFormats>(&onlineLeaderboardValueFormats, 1));
}
}
public override void CoverageTest1(int a, bool b, Actor c, String d, String e, Float3 f) {}
public override void CoverageTest1Array(int[] a, bool[] b, Actor[] c, String[] d, String[] e, Float3[] f) {}
public override void CoverageTest1ByRef(ref int a, ref bool b/*, ref Actor c*/, ref String d, ref String e, ref Float3 f) {}
//public override void CoverageTest1ArrayByRef(ref int[] a, ref bool[] b/*, ref Actor[] c*/, ref String[] d, ref String[] e, ref Float3[] f) {}
public override void CoverageTest2(Guid a, FontAsset b, Guid[] c, FontAsset[] d) {}
public override void CoverageTest3(ModelLOD a, out ModelLOD[] b) { b = null; }
//public override void CoverageTest4(byte[] a, out byte[] b) { b = null; }
public override void CoverageNamespaces1(NetworkChannelType a, NetworkChannelType[] b, OnlineLeaderboardSortModes c, OnlineLeaderboardSortModes[] d, OnlineLeaderboardValueFormats e, OnlineLeaderboardValueFormats[] f) {}
public override void SimpleCall() {}
public override void SimpleParams(int a, float b, sbyte c, double d, long e) {}
public override void StringParamAnsi(string str) {}
public override void StringParam(string str) {}
//public override void StringParamRef(string str) {}
public override void StringParamRefConst(string str) {}
public override void StringParamAsRef(ref string str) {}
public override void ActorParam(Actor actor) {}
public override void ComplexParam(BehaviorUpdateContext context) {}
public override void Complex2Param(RenderContext context) {}
public override void Complex2ParamConst(RenderContext context) {}
public override void Complex2ParamAsRef(ref RenderContext context) {}
public override void SimpleArrayParam(int[] arr) {}
public override void SimpleArrayParamRef(int[] arr) {}
public override void SimpleArrayParamRefConst(int[] arr) {}
public override void SimpleArrayParamAsRef(ref int[] arr) {}
public override void ActorArrayParam(Actor[] arr) {}
public override void ActorArrayParamRef(Actor[] arr) {}
public override void ActorArrayParamRefConst(Actor[] arr) {}
//public override void ActorArrayParamAsRef(ref Actor[] arr) {}
public override void StringFieldStructParam(StringStruct stringStruct) {}
public override void StringFieldStructParamAsRef(ref StringStruct stringStruct) {}
public override void StringFieldStructArrayParam(StringStruct[] stringStructArray) {}
public override void StringFieldStructArrayParamAsRef(ref StringStruct[] stringStructArray) { }
public override void ComplexArrayParam(TestStruct[] arr) {}
public override void ComplexArrayParamRef(TestStruct[] arr) {}
public override void ComplexArrayParamRefConst(TestStruct[] arr) {}
public override void ComplexArrayParamAsRef(ref TestStruct[] arr) {}
}