예제 #1
0
 void OnDestroy()
 {
     if (this.dieRenderer != null)
     {
         DiceRendererManager.Instance.DestroyDiceRenderer(this.dieRenderer);
         this.dieRenderer = null;
     }
 }
예제 #2
0
    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();
    }