private static void RunSimple() { UEnum unrealEnum = UEnum.GetEnum <Test_SimpleEnum>(); Tests.Assert(unrealEnum != null, "Test_SimpleEnum"); Tests.AssertEnumValue(unrealEnum, "Val1", 0); Tests.AssertEnumValue(unrealEnum, "Val2", 2); Tests.AssertEnumValue(unrealEnum, "Val3", 4); }
internal static unsafe Name Invoke(UEnum UEnum, byte EnumeratorValue) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = UEnum; *(b + 8) = EnumeratorValue; Main.GetProcessEvent(KismetNodeHelperLibrary.DefaultObject, GetEnumeratorName_ptr, new IntPtr(p));; return(*((Name *)(b + 12))); } }
private static void RunAdvanced() { UEnum unrealEnum = UEnum.GetEnum <Test_AdvancedEnum>(); Tests.Assert(unrealEnum != null, "Test_AdvancedEnum"); Tests.AssertEnumValue(unrealEnum, "Val1", 1); Tests.AssertEnumValue(unrealEnum, "Val2", 2); Tests.AssertEnumValue(unrealEnum, "Val3", 5); Tests.AssertEnumValue(unrealEnum, "Val4", 0x0001000000000000); Tests.AssertEnumValue(unrealEnum, "Val5", 0x0020000000000000); }
private static void PrintEnumValues(UEnum unrealEnum) { Dictionary <string, long> values = new Dictionary <string, long>(); int numValues = unrealEnum.NumEnums() - 1;// skip Max value for (int i = 0; i < numValues; i++) { values[unrealEnum.GetNameStringByIndex(i)] = unrealEnum.GetValueByIndex(i); } foreach (KeyValuePair <string, long> value in values) { Debug.WriteLine(value.Key + ":" + value.Value); } }
public async Task <List <string> > GetNames() { if (ObjEnum.Empty()) { ObjEnum = await Object.Cast <UEnum>(); } // Get Names IntPtr dataAddress = ObjEnum.Names.Data; if (ObjEnum.Names.Count > 300) { throw new IndexOutOfRangeException("Enum have more than 300 value !!, Maybe EngineStructs Problem.!"); } var cls = Utils.MemObj.ReadClassArray <FUEnumItem>(dataAddress, ObjEnum.Names.Count); var buffer = cls .Where(e => e.Key.Index < NamesStore.GNames.Names.Count || e.Key.Index != 0) .Select(e => NamesStore.GetByIndex(e.Key.Index)) .ToList(); return(buffer); }
/// <summary> /// @param Enum - Enumeration /// @param EnumeratorIndex - Input index /// @return - The value of the enumerator, or INDEX_NONE /// </summary> public static byte GetEnumeratorValueFromIndex(UEnum Enum, byte EnumeratorIndex) { int ___ret = GetEnumeratorValueFromIndex(IntPtr.Zero, Enum, EnumeratorIndex); return((byte)___ret); }
public static void AssertEnumValue(UEnum unrealEnum, string name, long value) { Tests.AssertEqual(unrealEnum.GetValueByNameString(name), value, unrealEnum.GetName() + "." + name); }
///<summary>@</summary> ///<remarks> ///param Enum - Enumeration ///@param EnumeratorIndex - Input value ///@return - if EnumeratorIndex is valid return EnumeratorIndex, otherwise return MAX value of Enum ///</remarks> public static byte GetValidValue(UEnum UEnum, byte EnumeratorValue) => KismetNodeHelperLibrary_methods.GetValidValue_method.Invoke(UEnum, EnumeratorValue);
/// <summary> /// Gets enumerator name as FString. Use DeisplayName when possible. /// @param Enum - Enumeration /// @param EnumeratorValue - Value of searched enumeration /// @return - name of the searched enumerator, or NAME_None /// </summary> public extern static FString GetEnumeratorUserFriendlyName(UEnum Enum, byte EnumeratorValue);
/// <summary> /// @param Enum - Enumeration /// @param EnumeratorIndex - Input value /// @return - if EnumeratorIndex is valid return EnumeratorIndex, otherwise return MAX value of Enum /// </summary> public extern static byte GetValidValue(UEnum Enum, byte EnumeratorValue);
/// <summary> /// @param Enum - Enumeration /// @param EnumeratorIndex - Input index /// @return - The value of the enumerator, or INDEX_NONE /// </summary> public extern static byte GetEnumeratorValueFromIndex(UEnum Enum, byte EnumeratorIndex);
///<summary>@</summary> ///<remarks> ///param Enum - Enumeration ///@param EnumeratorIndex - Input index ///@return - The value of the enumerator, or INDEX_NONE ///</remarks> public static byte GetEnumeratorValueFromIndex(UEnum UEnum, byte EnumeratorIndex) => KismetNodeHelperLibrary_methods.GetEnumeratorValueFromIndex_method.Invoke(UEnum, EnumeratorIndex);
///<summary>Gets enumerator name as FString.</summary> ///<remarks> ///Use DeisplayName when possible. /// ///@param Enum - Enumeration ///@param EnumeratorValue - Value of searched enumeration ///@return - name of the searched enumerator, or NAME_None ///</remarks> public static string GetEnumeratorUserFriendlyName(UEnum UEnum, byte EnumeratorValue) => KismetNodeHelperLibrary_methods.GetEnumeratorUserFriendlyName_method.Invoke(UEnum, EnumeratorValue);
///<summary>Gets enumerator name.</summary> ///<remarks> ///@param Enum - Enumeration ///@param EnumeratorValue - Value of searched enumeration ///@return - name of the searched enumerator, or NAME_None ///</remarks> public static Name GetEnumeratorName(UEnum UEnum, byte EnumeratorValue) => KismetNodeHelperLibrary_methods.GetEnumeratorName_method.Invoke(UEnum, EnumeratorValue);
/// <summary> /// @param Enum - Enumeration /// @param EnumeratorIndex - Input value /// @return - if EnumeratorIndex is valid return EnumeratorIndex, otherwise return MAX value of Enum /// </summary> public static byte GetValidValue(UEnum Enum, byte EnumeratorValue) { int ___ret = GetValidValue(IntPtr.Zero, Enum, EnumeratorValue); return((byte)___ret); }
/// <summary> /// Gets enumerator name. /// @param Enum - Enumeration /// @param EnumeratorValue - Value of searched enumeration /// @return - name of the searched enumerator, or NAME_None /// </summary> public static string GetEnumeratorName(UEnum Enum, byte EnumeratorValue) { string ___ret = GetEnumeratorName(IntPtr.Zero, Enum, EnumeratorValue); return(___ret); }
/// <summary> /// Gets enumerator name. /// @param Enum - Enumeration /// @param EnumeratorValue - Value of searched enumeration /// @return - name of the searched enumerator, or NAME_None /// </summary> public extern static FName GetEnumeratorName(UEnum Enum, byte EnumeratorValue);