void OnDestroy() { if (this.dieRenderer != null) { DiceRendererManager.Instance.DestroyDiceRenderer(this.dieRenderer); this.dieRenderer = null; } }
public void Setup(EditPreset preset) { this.editPreset = preset; var designs = new List <DesignAndColor>(preset.dieAssignments.Select(ass => (ass.die != null) ? ass.die.designAndColor : DesignAndColor.Unknown)); this.dieRenderer = DiceRendererManager.Instance.CreateMultiDiceRenderer(designs, 400); if (dieRenderer != null) { presetRenderImage.texture = dieRenderer.renderTexture; } presetNameText.text = preset.name; dieRenderer.rotating = true; for (int i = 0; i < preset.dieAssignments.Count; ++i) { if (preset.dieAssignments[i].behavior != null) { dieRenderer.SetDieAnimations(i, preset.dieAssignments[i].behavior.CollectAnimations().Where(anim => anim != null)); dieRenderer.Play(i, false); } } RefreshState(); }