Skip to content
Snippets Groups Projects
Commit bc2e9ba8 authored by Sven Gerlach's avatar Sven Gerlach
Browse files

Functional Buttons (up to 5, with Text Import)

parent c2253924
No related branches found
No related tags found
No related merge requests found
...@@ -7,42 +7,45 @@ public class DialogueBox : MonoBehaviour { ...@@ -7,42 +7,45 @@ public class DialogueBox : MonoBehaviour {
string ActorName = "ActorName"; string ActorName = "ActorName";
string DialogueText = "DialogueText"; string DialogueText = "DialogueText";
TextElement[] Buttons = new TextElement[5];
public void OnEnable() { public void OnEnable() {
var uiDocument = GetComponent<UIDocument>(); var uiDocument = GetComponent<UIDocument>();
VisualElement root = uiDocument.rootVisualElement; VisualElement root = uiDocument.rootVisualElement;
var visualTree = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/UI/DialogueBox/DialogueBox.uxml"); var visualTree = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/UI/DialogueBox/DialogueBox.uxml");
var styleSheet = AssetDatabase.LoadAssetAtPath<StyleSheet>("Assets/UI/DialogueBox/DialogueBox.uss"); var styleSheet = AssetDatabase.LoadAssetAtPath<StyleSheet>("Assets/UI/DialogueBox/DialogueBox.uss");
VisualElement tree = visualTree.CloneTree(); VisualElement tree = visualTree.CloneTree();
tree.styleSheets.Add(styleSheet); tree.styleSheets.Add(styleSheet);
root.Add(tree); root.Add(tree);
setActor(ActorName); Buttons[0] = GetComponent<UIDocument>().rootVisualElement.Q<Button>("Button1");
setText(DialogueText); Buttons[1] = GetComponent<UIDocument>().rootVisualElement.Q<Button>("Button2");
Buttons[2] = GetComponent<UIDocument>().rootVisualElement.Q<Button>("Button3");
root.Q<Button>("Button1").visible = false; Buttons[3] = GetComponent<UIDocument>().rootVisualElement.Q<Button>("Button4");
root.Q<Button>("Button2").visible = false; Buttons[4] = GetComponent<UIDocument>().rootVisualElement.Q<Button>("Button5");
root.Q<Button>("Button3").visible = false;
root.Q<Button>("Button4").visible = false; setActor(ActorName);
setText(DialogueText);
root.Q<Image>("PlayIcon").image = EditorGUIUtility.IconContent("PlayButton").image;
root.Q<Image>("PlusIcon").image = EditorGUIUtility.IconContent("Toolbar Plus").image; Buttons[0].RegisterCallback<MouseUpEvent>((e) => {
root.Q<Image>("MinusIcon").image = EditorGUIUtility.IconContent("Toolbar Minus").image; GetComponent<StateMachine>().nextNote(0);
});
root.Q<Button>("PlayButton").RegisterCallback<MouseUpEvent>((e) => {
GetComponent<StateMachine>().nextNote(0); Buttons[1].RegisterCallback<MouseUpEvent>((e) => {
if (GetComponent<StateMachine>().currentNote.Transitions == null) { GetComponent<StateMachine>().nextNote(1);
root.Q<Button>("PlayButton").visible = false;} });
else {
root.Q<Button>("PlayButton").visible = true;} Buttons[2].RegisterCallback<MouseUpEvent>((e) => {
}); GetComponent<StateMachine>().nextNote(2);
});
root.Q<Button>("Button1").RegisterCallback<MouseUpEvent>((e) => {
GetComponent<StateMachine>().nextNote(1); Buttons[3].RegisterCallback<MouseUpEvent>((e) => {
if (GetComponent<StateMachine>().currentNote.Transitions == null) { GetComponent<StateMachine>().nextNote(3);
root.Q<Button>("Button1").visible = false;} });
else {
root.Q<Button>("Button1").visible = true;} Buttons[4].RegisterCallback<MouseUpEvent>((e) => {
}); GetComponent<StateMachine>().nextNote(4);
});
} }
...@@ -54,11 +57,33 @@ public void setText(string text) { ...@@ -54,11 +57,33 @@ public void setText(string text) {
GetComponent<UIDocument>().rootVisualElement.Q<TextElement>("Dialogue").text = text; GetComponent<UIDocument>().rootVisualElement.Q<TextElement>("Dialogue").text = text;
} }
public void setScene(string Actor, string Dialogue) { public void setTransitions(StateMachine.Transition[] transitions) {
for (int i = 0; i < 5; i++) {
if (i < transitions.Length) {
Buttons[i].visible = true;
Buttons[i].text = transitions[i].TransitionName;
}
else {
Buttons[i].visible = false;
}
}
}
public void setNote(string Actor, string Dialogue) {
setActor(Actor); setActor(Actor);
setText(Dialogue); setText(Dialogue);
} }
public void hideButton(int count)
{
Buttons[count].visible = false;
}
public void showButton(int count)
{
Buttons[count].visible = true;
}
} }
......
...@@ -13,13 +13,14 @@ TextElement { ...@@ -13,13 +13,14 @@ TextElement {
} }
Button { Button {
font-size: 20px; font-size: 15px;
-unity-font-style:normal; -unity-font-style:bold;
color: rgb(255,255,255); color: rgb(255,255,255);
width: 50px; width: 150px;
height: 50px; height: 50px;
margin-left: 2px; margin-left: 15px;
margin-right: 2px; margin-right: 15px;
padding-top: 15px;
} }
.row{ .row{
......
...@@ -6,23 +6,12 @@ ...@@ -6,23 +6,12 @@
<TextElement name="Dialogue"/> <TextElement name="Dialogue"/>
</VisualElement> </VisualElement>
<VisualElement class="row">
<Button name="Button1" />
<Button name="Button2" />
<Button name="Button3" />
<Button name="Button4" />
<Button name="PlayButton">
<Image name="PlayIcon" />
</Button>
</VisualElement>
<VisualElement class="row">
<Button name="MoreButtons">
<Image name="PlusIcon" />
</Button>
<Button name="LessButtons">
<Image name="MinusIcon" />
</Button>
</VisualElement>
<Button name="Button1" />
<Button name="Button2" />
<Button name="Button3" />
<Button name="Button4" />
<Button name="Button5" />
</UXML> </UXML>
\ No newline at end of file
...@@ -16,33 +16,45 @@ public void setNote() { ...@@ -16,33 +16,45 @@ public void setNote() {
var dialogueBox = GetComponent<DialogueBox>(); var dialogueBox = GetComponent<DialogueBox>();
dialogueBox.setActor(currentNote.ActorName); dialogueBox.setActor(currentNote.ActorName);
dialogueBox.setText(currentNote.DialogueText); dialogueBox.setText(currentNote.DialogueText);
dialogueBox.setTransitions(currentNote.Transitions);
} }
//Test //Test
public void Start() { public void Start() {
Transition[] GHI = new Transition[2]; Transition[] GHI = new Transition[2];
Note TestNote = new Note("Actor 3","Testing Text 3",GHI); Note TestNote = new Note("Actor 3","Testing Text 3",GHI);
Transition TestingTransition = new Transition("Talk", TestNote); Transition TestingTransition = new Transition("Continue", TestNote);
Transition[] ABC = new Transition[1]; Transition[] ABC = new Transition[1];
ABC[0] = TestingTransition; ABC[0] = TestingTransition;
Note TestNote2 = new Note("Actor 2","Testing Text 2", ABC); Note TestNote2 = new Note("Actor 2","Testing Text 2", ABC);
Transition TestingTransition1 = new Transition("Speak", TestNote2); Transition TestingTransition1 = new Transition("Yes", TestNote2);
Transition[] DEF = new Transition[1]; Transition[] DEF = new Transition[1];
DEF[0] = TestingTransition1; DEF[0] = TestingTransition1;
Note TestNote3 = new Note("Actor 1","Testing Text 1", DEF); Note TestNote3 = new Note("Actor 1","Testing Text 1", DEF);
Transition TestingTransition2 = new Transition("Speak", TestNote3); Transition TestingTransition2 = new Transition("No", TestNote3);
GHI[0] = TestingTransition1; GHI[0] = TestingTransition1;
GHI[1] = TestingTransition2;
Transition[] JKL = new Transition[5];
JKL[0] = TestingTransition1;
JKL[1] = TestingTransition2;
JKL[3] = TestingTransition;
JKL[4] = TestingTransition1;
Note TestNote4 = new Note("Actor 4", "Testing Text 4", JKL);
Transition TestingTransition3 = new Transition("Unsure", TestNote4);
GHI[1] = TestingTransition3;
JKL[2] = TestingTransition3;
currentNote = TestNote3; currentNote = TestNote3;
setNote(); setNote();
} }
public class Note { public class Note {
public string ActorName; public string ActorName;
public string DialogueText; public string DialogueText;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment