void MessageReceiver(string message, object data, DFModMessageCallback callBack) { switch (message) { case PAUSE_TRAVEL: if (travelControlUI.isShowing) { travelControlUI.CloseWindow(); } break; case NOUISTOP_WINDOW: IUserInterfaceWindow window = data as IUserInterfaceWindow; if (window != null) { noStopForUIWindow = window; } break; case NOUISTOP_REMOVE: IUserInterfaceWindow remove = data as IUserInterfaceWindow; if (remove != null && remove == noStopForUIWindow) { noStopForUIWindow = null; } break; case IS_TRAVEL_ACTIVE: callBack?.Invoke(IS_TRAVEL_ACTIVE, travelControlUI.isShowing); break; case IS_PATH_FOLLOWING: callBack?.Invoke(IS_PATH_FOLLOWING, travelControlUI.isShowing && DestinationName == null); break; case IS_FOLLOWING_ROAD: callBack?.Invoke(IS_FOLLOWING_ROAD, road); break; case SHOW_MESSAGE: string msg = data as string; if (!string.IsNullOrEmpty(msg)) { travelControlUI.ShowMessage(msg); } break; default: Debug.LogErrorFormat("{0}: unknown message received ({1}).", this, message); break; } }
private void MessageReceiver(string message, object data, DFModMessageCallback callBack) { switch (message) { case GET_PATH_DATA: callBack?.Invoke(GET_PATH_DATA, roadTexturing.GetPathData((int)data)); break; default: Debug.LogErrorFormat("{0}: unknown message received ({1}).", this, message); break; } }
private void MessageReceiver(string message, object data, DFModMessageCallback callBack) { try { Vector2Int mpCoords; byte point; switch (message) { case GET_PATH_DATA: callBack?.Invoke(GET_PATH_DATA, roadTexturing.GetPathData((int)data)); break; case GET_ROAD_POINT: mpCoords = (Vector2Int)data; point = roadTexturing.GetPathDataPoint(BasicRoadsTexturing.roads, mpCoords.x, mpCoords.y); callBack?.Invoke(GET_ROAD_POINT, point); break; case GET_TRACK_POINT: mpCoords = (Vector2Int)data; point = roadTexturing.GetPathDataPoint(BasicRoadsTexturing.tracks, mpCoords.x, mpCoords.y); callBack?.Invoke(GET_TRACK_POINT, point); break; case GET_PATHS_POINT: mpCoords = (Vector2Int)data; byte roadPt = roadTexturing.GetPathDataPoint(BasicRoadsTexturing.roads, mpCoords.x, mpCoords.y); byte trackPt = roadTexturing.GetPathDataPoint(BasicRoadsTexturing.tracks, mpCoords.x, mpCoords.y); point = (byte)(roadPt | trackPt); callBack?.Invoke(GET_PATHS_POINT, point); break; case SCHEDULE_ROADS_JOB: // Get the parameters object[] paramArray = (object[])data; MapPixelData mapData = (MapPixelData)paramArray[0]; NativeArray <byte> tileData = (NativeArray <byte>)paramArray[1]; JobHandle dependencies = (JobHandle)paramArray[2]; // Instantiate PaintRoadsJob, schedule, then return job handle JobHandle paintRoadsHandle = roadTexturing.SchedulePaintRoadsJob(ref mapData, ref tileData, dependencies); callBack?.Invoke(SCHEDULE_ROADS_JOB, paintRoadsHandle); break; default: Debug.LogErrorFormat("{0}: unknown message received ({1}).", this, message); break; } } catch { Debug.LogErrorFormat("{0}: error handling message ({1}).", this, message); callBack?.Invoke("error", "Data passed is invalid for " + message); } }
private void MessageReceiver(string message, object data, DFModMessageCallback callBack) { switch (message) { case PAUSE_TRAVEL: if (travelControlUI.isShowing) { travelControlUI.CloseWindow(); } break; case IS_TRAVEL_ACTIVE: callBack?.Invoke(IS_TRAVEL_ACTIVE, travelControlUI.isShowing); break; default: Debug.LogErrorFormat("{0}: unknown message received ({1}).", this, message); break; } }