void OnEnable() { //sceneFadeInOut = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent<SceneFadeInOut>(); scriptedEvents = GameObject.FindGameObjectsWithTag (Tags.scriptedEvent); foreach (GameObject go in scriptedEvents) { if(go.GetComponent<ScriptedEvent>().scriptedEventIndex == scriptedEventIndex){ scriptedEvent = go.GetComponent<ScriptedEvent>(); scriptedEvent.CompleteScriptedEvent (); break; } } //If post-action event exists, execute it... if(!targetEnabled && targetGO != null){ (targetGO.GetComponent(scriptNameToEnable) as MonoBehaviour).enabled = true; targetEnabled = true; } StartCoroutine (DelayedDestroy ()); }
public override void OnInspectorGUI() { scriptedEvent = (ScriptedEvent)target; if (scriptedEvent.eventTriggers == null) { scriptedEvent.eventTriggers = new List <EventTrigger>(); } int sizeDiff = foldOuts.Count - scriptedEvent.eventTriggers.Count; if (sizeDiff < 0) { for (int i = 0; i > sizeDiff; i--) { foldOuts.Add(true); } } else if (sizeDiff > 0) { for (int i = 0; i < sizeDiff; i++) { foldOuts.RemoveAt(foldOuts.Count - 1); } } DrawDefaultInspector(); showTriggers = EditorGUILayout.Foldout(showTriggers, "Event Triggers"); if (showTriggers) { EditorGUI.indentLevel++; monoBehaviourOnly = EditorGUILayout.Toggle("MonoBehaviour Only", monoBehaviourOnly); if (monoBehaviourOnly) { components = FindObjectsOfType <MonoBehaviour>(); } else { components = FindObjectsOfType <Component>(); } componentNames = components.Select(s => s.GetType().Name).ToList(); componentNames.Add("None"); for (int i = 0; i < scriptedEvent.eventTriggers.Count; i++) { foldOuts[i] = EditorGUILayout.Foldout(foldOuts[i], "Event Trigger " + i); if (!foldOuts[i]) { continue; } EditorGUI.indentLevel++; EventTrigger eventTrigger = scriptedEvent.eventTriggers[i]; eventTrigger.triggerType = (TriggerType)EditorGUILayout.EnumPopup(eventTrigger.triggerType); switch (eventTrigger.triggerType) { case TriggerType.TimeInLevel: DrawTimeTriggerGUI(eventTrigger); break; case TriggerType.ComponentValue: DrawValueTriggerGUI(eventTrigger, i); break; default: break; } EditorGUI.indentLevel--; EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); } EditorGUI.indentLevel--; GUILayout.BeginHorizontal(); GUILayout.Space(EditorGUI.indentLevel * 10); if (GUILayout.Button("Add event trigger")) { scriptedEvent.eventTriggers.Add(new EventTrigger()); } GUILayout.EndHorizontal(); if (scriptedEvent.eventTriggers.Count > 0) { GUILayout.BeginHorizontal(); GUILayout.Space(EditorGUI.indentLevel * 10); if (GUILayout.Button("Remove last event trigger")) { scriptedEvent.eventTriggers.RemoveAt(scriptedEvent.eventTriggers.Count - 1); } GUILayout.EndHorizontal(); } } EditorUtility.SetDirty(scriptedEvent); }
private void UnlockEvent(ScriptedEvent scriptedEvent) { scriptedEvent.eventLocked = false; }
//methods and shit for loading each map and stuff public static ScriptedEvent[, ,] GetScriptedEvents(string mapName, int[] mapDims) { ScriptedEvent[,,] ans = new ScriptedEvent[mapDims[0], mapDims[1], mapDims[2]]; if (mapName.CompareTo("DemoMap") == 0) { //Yale_Jasmine ans[2, 3, 0] = new ScriptedEvent(new EventPage[1] { new EventPage("Images/Characters/Jasmine", new int[3] { 2, 3, 0 }, Entities.Terrain.Tile.Direction.SOUTH, new Movement(Movement.Type.FIXED, Movement.Trigger.ACTION, true, 1), (player) => { Global.action.dialog.CallDialog( "Hi! My name is Jasmine. I go to Yale, but I'm here visiting Harvard. " + "I have one question though -- do people pee on the John Harvard Statue? " + "Because, I'll be honest, I saw people peeing on that staue last night!! <<Yes;No>>", (response) => { if (response.CompareTo("Yes") == 0) { return(Global.action.dialog.CallDialog("Yuck! I knew it... ", null)); } else { return(Global.action.dialog.CallDialog("Really? I don't believe you! ", null)); } }); }, "Yale_Jasmine") }, new int[3] { 2, 3, 0 }, "Yale_Jasmine"); //Princeton_Jasmine ans[4, 3, 0] = new ScriptedEvent(new EventPage[1] { new EventPage("Images/Characters/Jasmine", new int[3] { 4, 3, 0 }, Entities.Terrain.Tile.Direction.EAST, new Movement(Movement.Type.LOOK_AROUND, Movement.Trigger.ACTION, true, 1), (player) => { bool[] plyrAns = new bool[4]; Global.action.dialog.CallDialog( "Hi! My name is also Jasmine. I go to Princeton, but I'm here visiting Harvard. " + "I have a series of questions to ask you: Are you Nick? <<YUP;NOPE>>", (r0) => { plyrAns[0] = (r0.CompareTo("YUP") == 0); return(Global.action.dialog.CallDialog( "And, for this question, please do be honest, we're trying to minimize bias: " + "Do you like Harvard? <<YUP;NOPE>>", (r1) => { plyrAns[1] = (r1.CompareTo("YUP") == 0); return Global.action.dialog.CallDialog( "Do you like Yale? <<YUP;NOPE>>", (r2) => { plyrAns[2] = (r2.CompareTo("YUP") == 0); return Global.action.dialog.CallDialog( "Lastly, are you from the West Coast? <<YUP;NOPE>>", (r3) => { plyrAns[3] = (r3.CompareTo("YUP") == 0); return Global.action.dialog.CallDialog( "Therefore: you are " + (plyrAns[0]?"":"not ") + "Nick, you do " + (plyrAns[1]?"":"not ") + "like Harvard, you do " + (plyrAns[2]?"":"not ") + "like Yale, and lastly, " + "are " + (plyrAns[3]?"":"not ") + "from the West Coast! ", null); } ); }); })); }); }, "Princeton_Jasmine") }, new int[3] { 4, 3, 0 }, "Princeton_Jasmine"); //Crunch Time ans[5, 5, 0] = new ScriptedEvent(new EventPage[1] { new EventPage("Images/Characters/Jasmine", new int[3] { 5, 5, 0 }, Entities.Terrain.Tile.Direction.WEST, new Movement(Movement.Type.WALK_AROUND, Movement.Trigger.ACTION, true, 1), (player) => { Global.action.dialog.CallDialog( "At what point do you start seeing bread? " + "Been out hustling for years, shoe box right under my bed " + "I move the work out my momma's house, got me a little old crib " + "I always fantasize if I had went to college instead " + "Would I be happily married instead of broke and unwed? " + "My n***a made a major move I said I hope for the best " + "I told my sister as I kissed her cheek I'm better off dead " + "F*****g with this white, it's all been downhill like a sled " + "Now listen, I understand they say you make your own bed " + "But tell me who supplied these sheets with this cheap ass thread " + "In denial about the feds, he can't see past bread " + "Now do exactly what the man in the ski mask says, okay? " + "These are the times, survival my only crime " + "I gotta be on my grind, a lot of my homies gone " + "Inside of me Lord I know, it's a lie that we gon' be fine " + "But momma I'm tired of crying, just lie to me one more time, " + "Cause it's Crunch Time ... ", null); }, "Crunch Time") }, new int[3] { 5, 5, 0 }, "Crunch Time"); } return(ans); }