summaryrefslogtreecommitdiff
path: root/Assets/Samples/Demo/UIEffect_Demo.cs
blob: 5125edae62d5b05dfe7da9402a3d7cab9889225e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

namespace Coffee.UIEffects
{
    public class UIEffect_Demo : MonoBehaviour
    {
        // Use this for initialization
        void Start()
        {
            GetComponentInChildren<RectMask2D>().enabled = true;
        }

        public void SetTimeScale(float scale)
        {
            Time.timeScale = scale;
        }

        public void Open(Animator anim)
        {
            // anim.GetComponentInChildren<UIEffectCapturedImage>().Capture();
            anim.gameObject.SetActive(true);
            anim.SetTrigger("Open");
        }

        public void Close(Animator anim)
        {
            anim.SetTrigger("Close");
        }

        public void Capture(Animator anim)
        {
            // anim.GetComponentInChildren<UIEffectCapturedImage>().Capture();
            anim.SetTrigger("Capture");
        }

        public void SetCanvasOverlay(bool isOverlay)
        {
            GetComponent<Canvas>().renderMode =
                isOverlay ? RenderMode.ScreenSpaceOverlay : RenderMode.ScreenSpaceCamera;
        }

        public void SetRenderMode(int mode)
        {
            var canvas = GetComponent<Canvas>();
            var cam = canvas.worldCamera;
            var pos = new Vector3(0, 0, -25);
            var rot = new Vector3(0, 0, 0);

            if ((RenderMode) mode == RenderMode.WorldSpace)
            {
                SetRenderMode((int) RenderMode.ScreenSpaceCamera);
                canvas.renderMode = RenderMode.WorldSpace;
                pos.x = 45;
                rot.y = -20;
            }
            else
            {
                canvas.renderMode = (RenderMode) mode;
            }

            cam.transform.SetPositionAndRotation(pos, Quaternion.Euler(rot));
        }
    }
}