public static IPromise <SoundConfig> InitSoundConfig()
    {
        IPromise <SoundConfig> p = ResourceLoaderPromise.Load <SoundConfig>(SOUND_CONFIG_PATH, Context.OutOfDungeon, ResourceLoadMode.Instantly);

        p.Then(tools => SoundConfig = tools);
        return(p);
    }
    public static IPromise <HackTool> InitHackTool()
    {
        IPromise <HackTool> p = ResourceLoaderPromise.Load <HackTool>(HACK_TOOL_PATH, Context.OutOfDungeon, ResourceLoadMode.Instantly);

        p.Then(tools => HackTool = tools);
        return(p);
    }
    public static IPromise <EffectConfig> InitEffectConfig()
    {
        IPromise <EffectConfig> p = ResourceLoaderPromise.Load <EffectConfig>(EFFECT_CONFIG_PATH, Context.OutOfDungeon, ResourceLoadMode.Instantly);

        p.Then(tools => EffectConfig = tools);
        return(p);
    }
    public static IPromise <HUDConfig> InitHUD()
    {
        IPromise <HUDConfig> p = ResourceLoaderPromise.Load <HUDConfig>(HUD_CONFIG_PATH, Context.OutOfDungeon, ResourceLoadMode.Instantly);

        p.Then(tools => HudConfig = tools);
        return(p);
    }
    public static IPromise <EnvironmentConfig> InitEnvironmentConfig()
    {
        IPromise <EnvironmentConfig> p = ResourceLoaderPromise.Load <EnvironmentConfig>(ENVIRONMENT_CONFIG_PATH, Context.OutOfDungeon, ResourceLoadMode.Instantly);

        p.Then(config =>
        {
            EnvironmentConfig = config;
            EnvironmentConfig.Deserialize();
        });
        return(p);
    }
    public static IPromise <AIAsset> LoadAI(string aiPath)
    {
        IPromise <AIAsset> p = ResourceLoaderPromise.Load <AIAsset>(aiPath, Context.Dungeon, ResourceLoadMode.Instantly);

        return(p);
    }