void HandleMapObjectStateChange(WTEvent e)
    {
        //Create Objects on the Map
        //Update existing objects location data
        MapObjectsState state = (MapObjectsState)e.detail;

        if (state.mapObjects != null)
        {
            for (var i = 0; i < state.mapObjects.Length; i++)
            {
                WTLogger.LogInfo(state.mapObjects[i].Type);
                switch (state.mapObjects[i].Type)
                {
                case "airfield":
                    UpdateAirfields(state.mapObjects[i]);
                    break;

                case "aircraft":
                    UpdateAircraft(state.mapObjects[i]);
                    break;

                default:
                    UpdateMapObjectives(state.mapObjects[i]);
                    break;
                }
            }
        }
        else
        {
            WTLogger.LogInfo("Waiting for State Change");
        }
    }
 public static void PublishEvent(WTEvent.Type t, WTEvent e)
 {
     WTLogger.LogEvent(t, e);
     if (handlerDict.ContainsKey(t))
     {
         foreach (EventHandler handle in handlerDict[t])
         {
             handle(e);
         }
     }
 }
 public static void LogEvent(WTEvent.Type t, WTEvent e)
 {
     Log(Type.EVENT, "Event: " + t + " Published: \r\n" + e.detail);
 }
 void HandleIndicatorsChange(WTEvent e)
 {
     this.indicators         = (IndicatorsState)e.detail;
     this.transform.rotation = Quaternion.Euler(-90, 0, (float)indicators.Compass);
 }
 void InstantiateAirfieldQueue(WTEvent e)
 {
     InstantiateAirfieldQueue();
 }
 void UpdateMapTexture(WTEvent e)
 {
     mapTexture = (Texture2D)e.detail;
     SetMapTextureOnMaterial();
 }