protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent) { var dependencies = new DependencyContainer(base.CreateChildDependencies(parent)); dependencies.CacheAs(this); Config = dependencies.Get <RulesetConfigCache>().GetConfigFor(ruleset); return(dependencies); }
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); }
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; }
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); }
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)); }
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); } }