IntroStory.cs
· 4.7 KiB · C#
Brut
Playground
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class IntroStory : MonoBehaviour
{
Dictionary<string, AudioClip> audioClips = new Dictionary<string, AudioClip>();
Dictionary<string, Animator> animators = new Dictionary<string, Animator>();
int index = 0;
string[] sequence =
{
"intro-00",
"intro-01",
"intro-02",
"intro-03",
"intro-04",
"intro-05",
"intro-06",
"intro-07",
"intro-08",
"intro-09",
"intro-10",
"intro-11",
"intro-12",
"intro-13",
"intro-14",
"intro-15",
"intro-16"
};
[SerializeField]
public Button button;
[SerializeField]
public StoryEngine engine;
[SerializeField]
public GameObject Erika;
[SerializeField]
public GameObject Alice;
// Start is called before the first frame update
void Start()
{
engine.LoudAudioClips("AudioClips/InstructionScene");
engine.AddActor("Erika", Erika.GetComponent<Animator>());
engine.AddActor("Alice", Alice.GetComponent<Animator>());
engine.Register("intro-00", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_0");
engine.PlayClip("intro-00");
});
engine.Register("intro-01", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_1");
engine.PlayClip("intro-01");
});
engine.Register("intro-02", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_2");
engine.PlayClip("intro-02");
});
engine.Register("intro-03", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_3");
engine.PlayClip("intro-03");
});
engine.Register("intro-04", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_4");
engine.SetActorTrigger("Alice", "Appear");
engine.PlayClip("intro-04");
});
engine.Register("intro-05", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_5");
engine.PlayClip("intro-05");
});
engine.Register("intro-06", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_6");
engine.PlayClip("intro-06");
});
engine.Register("intro-07", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_7");
engine.PlayClip("intro-07");
});
engine.Register("intro-08", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_8");
engine.PlayClip("intro-08");
engine.SetActorTrigger("Alice", "Disappear");
});
engine.Register("intro-09", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_9");
engine.PlayClip("intro-09");
});
engine.Register("intro-10", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_10");
engine.PlayClip("intro-10");
});
engine.Register("intro-11", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_11");
engine.PlayClip("intro-11");
});
engine.Register("intro-12", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_12");
engine.PlayClip("intro-12");
});
engine.Register("intro-13", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_13");
engine.PlayClip("intro-13");
});
engine.Register("intro-14", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_14");
engine.PlayClip("intro-14");
});
engine.Register("intro-15", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_15");
engine.PlayClip("intro-15");
});
engine.Register("intro-16", (engine, args) =>
{
engine.SetActorTrigger("Erika", "isInst_16");
engine.PlayClip("intro-16");
});
engine.Register("enable-button", (engine, args) =>
{
(args[0] as Button).interactable = true;
});
Debug.Log(engine);
}
// Update is called once per frame
void Update()
{
}
public void OnNextButtonPressed (Button button)
{
button.interactable = false;
engine.Run(engine.GetClipLength(sequence[index]), "enable-button", button);
engine.Run(sequence[index]);
index += 1;
}
}
1 | using System.Collections; |
2 | using System.Collections.Generic; |
3 | using UnityEngine; |
4 | using UnityEngine.UI; |
5 | |
6 | |
7 | public class IntroStory : MonoBehaviour |
8 | { |
9 | |
10 | Dictionary<string, AudioClip> audioClips = new Dictionary<string, AudioClip>(); |
11 | Dictionary<string, Animator> animators = new Dictionary<string, Animator>(); |
12 | int index = 0; |
13 | string[] sequence = |
14 | { |
15 | "intro-00", |
16 | "intro-01", |
17 | "intro-02", |
18 | "intro-03", |
19 | "intro-04", |
20 | "intro-05", |
21 | "intro-06", |
22 | "intro-07", |
23 | "intro-08", |
24 | "intro-09", |
25 | "intro-10", |
26 | "intro-11", |
27 | "intro-12", |
28 | "intro-13", |
29 | "intro-14", |
30 | "intro-15", |
31 | "intro-16" |
32 | }; |
33 | [SerializeField] |
34 | public Button button; |
35 | |
36 | [SerializeField] |
37 | public StoryEngine engine; |
38 | |
39 | [SerializeField] |
40 | public GameObject Erika; |
41 | |
42 | [SerializeField] |
43 | public GameObject Alice; |
44 | |
45 | // Start is called before the first frame update |
46 | void Start() |
47 | { |
48 | engine.LoudAudioClips("AudioClips/InstructionScene"); |
49 | engine.AddActor("Erika", Erika.GetComponent<Animator>()); |
50 | engine.AddActor("Alice", Alice.GetComponent<Animator>()); |
51 | |
52 | engine.Register("intro-00", (engine, args) => |
53 | { |
54 | engine.SetActorTrigger("Erika", "isInst_0"); |
55 | engine.PlayClip("intro-00"); |
56 | }); |
57 | |
58 | engine.Register("intro-01", (engine, args) => |
59 | { |
60 | engine.SetActorTrigger("Erika", "isInst_1"); |
61 | engine.PlayClip("intro-01"); |
62 | }); |
63 | |
64 | engine.Register("intro-02", (engine, args) => |
65 | { |
66 | engine.SetActorTrigger("Erika", "isInst_2"); |
67 | engine.PlayClip("intro-02"); |
68 | }); |
69 | |
70 | engine.Register("intro-03", (engine, args) => |
71 | { |
72 | engine.SetActorTrigger("Erika", "isInst_3"); |
73 | engine.PlayClip("intro-03"); |
74 | }); |
75 | |
76 | engine.Register("intro-04", (engine, args) => |
77 | { |
78 | engine.SetActorTrigger("Erika", "isInst_4"); |
79 | engine.SetActorTrigger("Alice", "Appear"); |
80 | engine.PlayClip("intro-04"); |
81 | }); |
82 | |
83 | engine.Register("intro-05", (engine, args) => |
84 | { |
85 | engine.SetActorTrigger("Erika", "isInst_5"); |
86 | engine.PlayClip("intro-05"); |
87 | }); |
88 | |
89 | engine.Register("intro-06", (engine, args) => |
90 | { |
91 | engine.SetActorTrigger("Erika", "isInst_6"); |
92 | engine.PlayClip("intro-06"); |
93 | }); |
94 | |
95 | engine.Register("intro-07", (engine, args) => |
96 | { |
97 | engine.SetActorTrigger("Erika", "isInst_7"); |
98 | engine.PlayClip("intro-07"); |
99 | }); |
100 | |
101 | engine.Register("intro-08", (engine, args) => |
102 | { |
103 | engine.SetActorTrigger("Erika", "isInst_8"); |
104 | engine.PlayClip("intro-08"); |
105 | engine.SetActorTrigger("Alice", "Disappear"); |
106 | }); |
107 | |
108 | engine.Register("intro-09", (engine, args) => |
109 | { |
110 | engine.SetActorTrigger("Erika", "isInst_9"); |
111 | engine.PlayClip("intro-09"); |
112 | }); |
113 | |
114 | engine.Register("intro-10", (engine, args) => |
115 | { |
116 | engine.SetActorTrigger("Erika", "isInst_10"); |
117 | engine.PlayClip("intro-10"); |
118 | }); |
119 | |
120 | engine.Register("intro-11", (engine, args) => |
121 | { |
122 | engine.SetActorTrigger("Erika", "isInst_11"); |
123 | engine.PlayClip("intro-11"); |
124 | }); |
125 | |
126 | engine.Register("intro-12", (engine, args) => |
127 | { |
128 | engine.SetActorTrigger("Erika", "isInst_12"); |
129 | engine.PlayClip("intro-12"); |
130 | }); |
131 | |
132 | engine.Register("intro-13", (engine, args) => |
133 | { |
134 | engine.SetActorTrigger("Erika", "isInst_13"); |
135 | engine.PlayClip("intro-13"); |
136 | }); |
137 | |
138 | engine.Register("intro-14", (engine, args) => |
139 | { |
140 | engine.SetActorTrigger("Erika", "isInst_14"); |
141 | engine.PlayClip("intro-14"); |
142 | }); |
143 | |
144 | engine.Register("intro-15", (engine, args) => |
145 | { |
146 | engine.SetActorTrigger("Erika", "isInst_15"); |
147 | engine.PlayClip("intro-15"); |
148 | }); |
149 | |
150 | engine.Register("intro-16", (engine, args) => |
151 | { |
152 | engine.SetActorTrigger("Erika", "isInst_16"); |
153 | engine.PlayClip("intro-16"); |
154 | }); |
155 | |
156 | engine.Register("enable-button", (engine, args) => |
157 | { |
158 | (args[0] as Button).interactable = true; |
159 | }); |
160 | Debug.Log(engine); |
161 | } |
162 | |
163 | // Update is called once per frame |
164 | void Update() |
165 | { |
166 | |
167 | } |
168 | |
169 | public void OnNextButtonPressed (Button button) |
170 | { |
171 | button.interactable = false; |
172 | engine.Run(engine.GetClipLength(sequence[index]), "enable-button", button); |
173 | engine.Run(sequence[index]); |
174 | index += 1; |
175 | } |
176 | |
177 | } |
178 |