public override void Unload()
        {
            client.Dispose();
            client   = null;
            Instance = null;
            _exampleUserInterface.SetState(null);    // Choose Starter
            _exampleUserInterfaceNew.SetState(null); // Pokegear Main Menu
            PokegearUserInterfaceNew.SetState(null); // Pokegear Events Menu
            evolveUserInterfaceNew.SetState(null);
            _uiSidebar.SetState(null);
            _partySlots.SetState(null);
            _moves.SetState(null);
            PartySlots               = null;
            pokemonStore             = null;
            wildPokemonStore         = null;
            movesStore               = null;
            _exampleUserInterface    = null;
            _exampleUserInterfaceNew = null;
            PokegearUserInterfaceNew = null;
            _uiSidebar               = null;
            _partySlots              = null;
            _moves = null;



            ChooseStarter.Deactivate();
            ChooseStarter = null;
            ChooseStarterBulbasaur.Deactivate();
            ChooseStarterBulbasaur = null;
            ChooseStarterCharmander.Deactivate();
            ChooseStarterCharmander = null;
            ChooseStarterSquirtle.Deactivate();
            ChooseStarterSquirtle = null;
            PokegearUI.Deactivate();
            PokegearUI = null;
            PokegearUIEvents.Deactivate();
            PokegearUIEvents = null;
            evolveUI.Deactivate();
            evolveUI = null;
            UISidebar.Deactivate();
            UISidebar = null;
            Moves.Deactivate();
            Moves = null;

            PartyCycle       = null;
            FirstPKMAbility  = null;
            SecondPKMAbility = null;
            ThirdPKMAbility  = null;
            FourthPKMAbility = null;

            Localisation = null;
            Store        = null;
        }
        public override void Unload()
        {
            client?.Dispose();
            client   = null;
            Instance = null;
            _exampleUserInterface?.SetState(null);    // Choose Starter
            _exampleUserInterfaceNew?.SetState(null); // Pokegear Main Menu
            PokegearUserInterfaceNew?.SetState(null); // Pokegear Events Menu
            evolveUserInterfaceNew?.SetState(null);
            summaryUIInterface?.SetState(null);
            _uiSidebar?.SetState(null);
            _partySlots?.SetState(null);
            _moves?.SetState(null);
            _battle?.SetState(null);
            BattleMode.UI            = null;
            PartySlots               = null;
            pokemonStore             = null;
            wildPokemonStore         = null;
            movesStore               = null;
            _exampleUserInterface    = null;
            _exampleUserInterfaceNew = null;
            PokegearUserInterfaceNew = null;
            _uiSidebar               = null;
            _partySlots              = null;
            _moves          = null;
            _battle         = null;
            BaseMove._mrand = null;


            ChooseStarter.Deactivate();
            ChooseStarter = null;
            ChooseStarterBulbasaur.Deactivate();
            ChooseStarterBulbasaur = null;
            ChooseStarterCharmander.Deactivate();
            ChooseStarterCharmander = null;
            ChooseStarterSquirtle.Deactivate();
            ChooseStarterSquirtle = null;
            PokegearUI.Deactivate();
            PokegearUI = null;
            PokegearUIEvents.Deactivate();
            PokegearUIEvents = null;
            evolveUI.Deactivate();
            evolveUI = null;
            UISidebar.Deactivate();
            UISidebar = null;
            Moves.Deactivate();
            Moves = null;

            summaryUI.Deactivate();
            summaryUI = null;

            PartyCycle       = null;
            FirstPKMAbility  = null;
            SecondPKMAbility = null;
            ThirdPKMAbility  = null;
            FourthPKMAbility = null;
            CompressSidebar  = null;

            Localisation = null;
            Textures     = null;
            storage      = null;
            Store.Dispose();
            Store = null;
            Scheduler?.CancelDelayedTasks();
            Scheduler      = null;
            schedulerClock = null;
            ParentPokemonNPC.HighlightTexture = null;
            ParentPokemon.HighlightTexture    = null;
        }