Ejemplo n.º 1
0
        protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
        {
            var dependencies = new DependencyContainer(base.CreateChildDependencies(parent));

            dependencies.CacheAs(this);
            Config = dependencies.Get <RulesetConfigCache>().GetConfigFor(ruleset);

            return(dependencies);
        }
Ejemplo n.º 2
0
        protected override void Dispose(bool isDisposing)
        {
            base.Dispose(isDisposing);

            if (rulesetConfig != null)
            {
                onScreenDisplay?.StopTracking(this, rulesetConfig);
                rulesetConfig = null;
            }
        }
        protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
        {
            dependencies = new DependencyContainer(base.CreateChildDependencies(parent));

            Config = dependencies.Get <RulesetConfigCache>().GetConfigFor(ruleset);
            if (Config != null)
            {
                dependencies.Cache(Config);
            }

            return(dependencies);
        }
Ejemplo n.º 4
0
        private void load(OnScreenDisplay onScreenDisplay, SettingsStore settings)
        {
            this.onScreenDisplay = onScreenDisplay;

            rulesetConfig = CreateConfig(Ruleset, settings);

            if (rulesetConfig != null)
            {
                dependencies.Cache(rulesetConfig);
                onScreenDisplay?.BeginTracking(this, rulesetConfig);
            }
        }
        protected void Dispose(bool disposing)
        {
            if (isDisposed)
            {
                return;
            }

            isDisposed = true;

            SampleStore?.Dispose();
            RulesetConfigManager = null;
        }
Ejemplo n.º 6
0
        protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
        {
            var dependencies = new DependencyContainer(base.CreateChildDependencies(parent));

            onScreenDisplay = dependencies.Get <OnScreenDisplay>();

            Config = dependencies.Get <RulesetConfigCache>().GetConfigFor(Ruleset);
            if (Config != null)
            {
                dependencies.Cache(Config);
                onScreenDisplay?.BeginTracking(this, Config);
            }

            return(dependencies);
        }
Ejemplo n.º 7
0
        protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent)
        {
            workingBeatmap  = parent.Get <IBindable <WorkingBeatmap> >().GetBoundCopy();
            playableBeatmap = (Beatmap <TObject>)workingBeatmap.Value.GetPlayableBeatmap(Ruleset.RulesetInfo, Array.Empty <Mod>());

            beatmapProcessor = Ruleset.CreateBeatmapProcessor(playableBeatmap);

            editorBeatmap = new EditorBeatmap <TObject>(playableBeatmap);
            editorBeatmap.HitObjectAdded   += addHitObject;
            editorBeatmap.HitObjectRemoved += removeHitObject;

            var dependencies = new DependencyContainer(parent);

            dependencies.CacheAs <IEditorBeatmap>(editorBeatmap);
            dependencies.CacheAs <IEditorBeatmap <TObject> >(editorBeatmap);

            Config = dependencies.Get <RulesetConfigCache>().GetConfigFor(Ruleset);

            return(base.CreateChildDependencies(dependencies));
        }
Ejemplo n.º 8
0
        public DrawableRulesetDependencies(Ruleset ruleset, IReadOnlyDependencyContainer parent)
            : base(parent)
        {
            var resources = ruleset.CreateResourceStore();

            if (resources != null)
            {
                TextureStore         = new TextureStore(parent.Get <GameHost>().CreateTextureLoaderStore(new NamespacedResourceStore <byte[]>(resources, @"Textures")));
                CacheAs(TextureStore = new FallbackTextureStore(TextureStore, parent.Get <TextureStore>()));

                SampleStore = parent.Get <AudioManager>().GetSampleStore(new NamespacedResourceStore <byte[]>(resources, @"Samples"));
                SampleStore.PlaybackConcurrency = OsuGameBase.SAMPLE_CONCURRENCY;
                CacheAs(SampleStore             = new FallbackSampleStore(SampleStore, parent.Get <ISampleStore>()));
            }

            RulesetConfigManager = parent.Get <RulesetConfigCache>().GetConfigFor(ruleset);
            if (RulesetConfigManager != null)
            {
                Cache(RulesetConfigManager);
            }
        }