IEnumerator WaitForActionDestroyable() { SoundManager.instance.SwitchMop(true); doingSomething = true; Dissolver dissolver = GetComponent <Dissolver>(); while (progressTime < 1.5f) { yield return(null); if (dissolver != null) { dissolver.SetThreshold(progressTime / 1.5f); } pBar.GetComponent <ProgressBar>().SetProgress(progressTime / 1.5f); progressTime += Time.deltaTime; } if (typeOfObject == TypeOfObject.DESTROYABLE) { choresProgres.ChoreCompleted(typeOfObject); } SoundManager.instance.SwitchMop(false); doingSomething = false; player.GetComponent <PlayerMovement>().enableMovement(); Destroy(pBar); Destroy(gameObject); }
private async Task CreateResourcesAsync(CanvasAnimatedControl sender, CanvasCreateResourcesEventArgs args) { ServiceLocator.Current.GetInstance <ResourceProvider>().Initialize(Canvas); var dissolver = new Dissolver(this); await dissolver.CreateResources(); foreach (var xamlDrawer in Drawers) { var drawer = await xamlDrawer.CreateDrawerAsync(this, dissolver); drawer.TransitionTime = TransitionTime; await drawer.CreateResourcesAsync(sender, args); _drawers.Add(drawer); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); Dissolver dissolver = (Dissolver)target; if (Application.isPlaying) { if (GUILayout.Button("Dissolve")) { dissolver.Dissolve(); } if (GUILayout.Button("Appear")) { dissolver.Appear(); } } }
protected override QueueDrawer <ICanvasImage?> CreateDrawerInternal(IDrawingCanvas resourceCreator, Dissolver dissolver) { return(new Drawers.BackgroundDrawer(dissolver)); }
protected override QueueDrawer <ICanvasBrush?> CreateDrawerInternal(IDrawingCanvas resourceCreator, Dissolver dissolver) { _drawer = new Drawers.OverlayDrawer(dissolver); _drawer.Shape = CreateOverlayMask(resourceCreator); return(_drawer); }