From ce54b8c2c2b5f51d0b25c622ff38b42dc675b3c0 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Fri, 4 Sep 2020 21:01:18 +0200 Subject: [PATCH] Dont lose references to libraries --- PkmnLibSharp/Battling/Library/BattleLibrary.cs | 7 +++++++ PkmnLibSharp/Library/PokemonLibrary.cs | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/PkmnLibSharp/Battling/Library/BattleLibrary.cs b/PkmnLibSharp/Battling/Library/BattleLibrary.cs index be0e770..1ac649b 100644 --- a/PkmnLibSharp/Battling/Library/BattleLibrary.cs +++ b/PkmnLibSharp/Battling/Library/BattleLibrary.cs @@ -10,6 +10,7 @@ namespace PkmnLibSharp.Battling private StatCalculator? _statCalculator; private DamageLibrary? _damageLibrary; private MiscLibrary? _miscLibrary; + private ScriptResolver? _scriptResolver; private ExperienceLibrary? _experienceLibrary; public PokemonLibrary StaticLibrary @@ -89,6 +90,12 @@ namespace PkmnLibSharp.Battling Pkmnlib.Generated.BattleLibrary.Construct(ref ptr, staticLibrary.Ptr, statCalculator.Ptr, damageLibrary.Ptr, experienceLibrary.Ptr, scriptResolver.Ptr, miscLibrary.Ptr).Assert(); Initialize(ptr); + _static = staticLibrary; + _statCalculator = statCalculator; + _damageLibrary = damageLibrary; + _experienceLibrary = experienceLibrary; + _scriptResolver = scriptResolver; + _miscLibrary = miscLibrary; } protected override void DeletePtr() diff --git a/PkmnLibSharp/Library/PokemonLibrary.cs b/PkmnLibSharp/Library/PokemonLibrary.cs index e262020..184b736 100644 --- a/PkmnLibSharp/Library/PokemonLibrary.cs +++ b/PkmnLibSharp/Library/PokemonLibrary.cs @@ -115,7 +115,7 @@ namespace PkmnLibSharp.Library } - internal PokemonLibrary(IntPtr ptr) : base(ptr) + public PokemonLibrary(IntPtr ptr) : base(ptr) { } @@ -127,6 +127,13 @@ namespace PkmnLibSharp.Library Pkmnlib.Generated.PokemonLibrary.Construct(ref ptr, settings.Ptr, species.Ptr, moves.Ptr, items.Ptr, growthRates.Ptr, types.Ptr, natures.Ptr).Assert(); Initialize(ptr); + _settings = settings; + _species = species; + _moves = moves; + _items = items; + _growthRateLibrary = growthRates; + _typeLibrary = types; + _natureLibrary = natures; } protected override void DeletePtr()