Skip to content
Snippets Groups Projects
CommunicationEvents.cs 6.46 KiB
Newer Older
  • Learn to ignore specific revisions
  • using System.Collections.Generic;
    
    using System.Diagnostics;
    using UnityEngine.Networking;
    
    using UnityEngine;
    using UnityEngine.Events;
    
    using System;
    
    
    public static class CommunicationEvents
    {
    
        public class HitEvent : UnityEvent<RaycastHit> { }
    
        public class FactEvent : UnityEvent<Fact> { }
    
    Richard Marcus's avatar
    Richard Marcus committed
    
    
        public class MouseOverFactEvent : UnityEvent<Transform> { }
    
    Richard Marcus's avatar
    Richard Marcus committed
    
    
        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();
    
    John Schihada's avatar
    John Schihada committed
        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 SignalEvent ReloadConfigToUI = 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();
    
    John Schihada's avatar
    John Schihada committed
    
        //------------------------------------------------------------------------------------
        //-------------------------------Global Variables-------------------------------------
    
        public static bool ServerAutoStart = true;
    
        public static bool ServerRunning = true;
    
        public static bool ServerRunning_test = true;
    
        
        //CHANGE HERE PORT OF SERVER
        public static string ServerPortDefault = "8085"; //used for Local
    
        public static string ServerAddressLocalhost = "http://localhost"; //Without Port
        public static string ServerAddressLocal = "http://localhost:8085"; // "http://localhost:8085"
        public static string ServerAdress = "http://localhost:8085"; //need "http://" //used by dispalyScrolls.cs //http://10.231.4.95:8085"; 
    
        public static Process process_mmt_frameIT_server;
    
    
        public static bool takeNewToolID = false; //0=no, 1=instead, 2=both
    
        public static int ToolID_new;
        public static int ToolID_selected;//Script
        
    
        /*
         * will be loaded from other config file
         */
            public static string lastIP = "";
            public static string newIP = "";
            public static string IPslot1 = "";
            public static string IPslot2 = "http://10.231.4.95:8085";
            public static string IPslot3 = "10.231.4.95:8085";
            public static string selecIP = "";
        //------
    
    
        public static int[] ServerRunningA = new int[7] { 0, 0, 0, 0, 0, 0, 0 }; //other, lastIP, newIP, IP1, IP2, IP3, selecIP} //0: offline, 1: Checking, 2: online, 3: NoNetworkAddress;
        public static bool[] ServerRunningA_test = new bool[7] { false, false, false, false, false, false, false }; //other, lastIP, newIP, IP1, IP2, IP3, selecIP}
        public static double IPcheckGeneration = 0;
        public static int CheckNetLoop = 1;
    
        public static int[] CheckServerA = new int[7] { 0, 0, 0, 0, 0, 0, 0 };
    
    
        public static bool autoOSrecognition = true;
    
        //int Opsys =1 Android.
        //int Opsys =0 Windows;
    
        //public static int Opsys_Default = 0;
    
        public static bool CursorVisDefault = true; //Script.
    
    
        public static bool GadgetCanBeUsed = false;
    
            FactStateMachines,
        }
    
        public static string CreateHierarchiePath(List<Directories> hierarchie, string prefix = "", string postfix = "")
        {
            foreach (var dir in hierarchie)
                prefix = System.IO.Path.Combine(prefix, dir.ToString());
    
            return System.IO.Path.Combine(prefix, postfix);
        }
    
    
        // TODO! avoid tree traversel with name
    
        public static string CreatePathToFile(out bool file_exists, string name, string format = null, List<Directories> hierarchie = null, bool use_install_folder = false)
    
            string path; 
            if (!string.IsNullOrEmpty(format))
    
                switch (format)
                {
                    case "JSON":
                        ending = ".JSON";
                        break;
                    default:
                        break;
                }
    
    
            //int Opsys =1 Android;
            //int Opsys =0 Windows;
            //is set above;
            switch (Opsys)
    
                case 0:
                    path = use_install_folder ? Application.dataPath : Application.persistentDataPath;
    
                    if (hierarchie != null)
                    {
                        path = CreateHierarchiePath(hierarchie, path);
                        System.IO.Directory.CreateDirectory(path);
                    }
    
                    path = System.IO.Path.Combine(path, name + ending);
                    file_exists = System.IO.File.Exists(path);
    
                    return path;
    
                case 1:
    
                    path = Application.persistentDataPath;
                    if (hierarchie != null)
                    {
                        path = CreateHierarchiePath(hierarchie, path);
                        System.IO.Directory.CreateDirectory(path);
                    }
                    path = System.IO.Path.Combine(path, name + ending);
                    file_exists = System.IO.File.Exists(path);
    
                    return path;
    
                default:
                    path = use_install_folder ? Application.dataPath : Application.persistentDataPath;
                    if (hierarchie != null)
                    {
                        path = CreateHierarchiePath(hierarchie, path);
                        System.IO.Directory.CreateDirectory(path);
                    }
    
                    path = System.IO.Path.Combine(path, name + ending);
                    file_exists = System.IO.File.Exists(path);
    
                    return path;
    
    
            }