/// <summary> /// For Init Custom Types Like (<see cref="UIntPtr"/>, <see cref="int"/>, <see cref="float"/>, <see cref="string"/>, ..etc) /// </summary> public ExternalOffset(ExternalOffset dependency, int offset) : this(dependency, offset, OffsetType.Custom) { if (typeof(T).IsSubclassOf(typeof(ExternalClass))) { throw new InvalidCastException("Use Other Constructor For `ExternalClass` Types."); } Init(); }
/// <summary> /// For Init <see cref="ExternalClass"/> /// </summary> public ExternalOffset(ExternalOffset dependency, int offset, bool externalClassIsPointer) : this(dependency, offset, OffsetType.ExternalClass) { if (!typeof(T).IsSubclassOf(typeof(ExternalClass))) { throw new InvalidCastException("This Constructor For `ExternalClass` Types Only."); } ExternalClassType = typeof(T); ExternalClassIsPointer = externalClassIsPointer; ExternalClassObject = (ExternalClass)Activator.CreateInstance(ExternalClassType); Init(); }
/// <summary> /// Main /// </summary> internal ExternalOffset(ExternalOffset dependency, int offset, OffsetType offsetType) { Dependency = dependency; Offset = offset; OffsetType = offsetType; }