using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using System; public static class CommunicationEvents { public class HitEvent : UnityEvent<RaycastHit> { } public class FactEvent : UnityEvent<Fact> { } public class MouseOverFactEvent : UnityEvent<Transform> { } public class ToolModeEvent : UnityEvent<int> { } public class ShinyEvent : UnityEvent<Fact> { } public class SignalEvent : UnityEvent { } public class AnimationEvent : UnityEvent<GameObject, string> { } public class AnimationEventWithUris : UnityEvent<List<string>> { } public static HitEvent SnapEvent = new HitEvent(); public static HitEvent TriggerEvent = new HitEvent(); public static ToolModeEvent ToolModeChangedEvent = new ToolModeEvent(); public static FactEvent AddFactEvent = new FactEvent(); public static FactEvent RemoveFactEvent = new FactEvent(); public static ShinyEvent PushoutFactEvent = new ShinyEvent(); public static ShinyEvent PushoutFactEndEvent = new ShinyEvent(); public static ShinyEvent PushoutFactFailEvent = new ShinyEvent(); public static SignalEvent gameSucceededEvent = new SignalEvent(); public static SignalEvent gameNotSucceededEvent = new SignalEvent(); public static SignalEvent LevelReset = new SignalEvent(); public static SignalEvent NewAssignmentEvent = new SignalEvent(); public static AnimationEvent ScrollFactHintEvent = new AnimationEvent(); public static FactEvent AnimateExistingFactEvent = new FactEvent(); public static FactEvent AnimateNonExistingFactEvent = new FactEvent(); public static AnimationEventWithUris HintAvailableEvent = new AnimationEventWithUris(); //------------------------------------------------------------------------------------ //-------------------------------Global Variables------------------------------------- // Global Level-List of Facts public static FactOrganizer LevelFacts = new FactOrganizer(true); public static FactOrganizer SolutionManager = new FactOrganizer(false); //TODO? [SolutionManager, List<[HashSet<string>, FactComparer]>] public static List<Fact> Solution = new List<Fact>(); public static bool ServerRunning = true; public static string ServerAdress = "localhost:8085"; // Configs public static bool VerboseURI = false; }