Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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;
            }
        }