Exemplo n.º 1
0
 public Point getPointById(int id, OriginalInputData inputdata)
 {
     for (int i = 0; i < inputdata.pointList.Count; i++)
     {
         Point p = inputdata.pointList[i];
         if (p.guid == id)
         {
             return(p);
         }
     }
     return(null);
 }
Exemplo n.º 2
0
    /// <summary>
    /// 强制重新计算所有room
    /// </summary>
    public void ForceRefreshRoomData(OriginalInputData data)
    {
        roomList.Clear();
        roomList.InsertRange(0, data.roomList);
        data.roomList.Clear();
        data.roomList = GetRooms(data.wallList);
        for (int i = 0; i < data.roomList.Count; i++)
        {
            RoomData room = data.roomList[i];
            for (int k = 0; k < roomList.Count; k++)
            {
                RoomData oldRoom = roomList[k];
                if (IsRoomComeFrom(room, oldRoom))
                {
                    //room.guid = oldRoom.guid;
                    room.name               = oldRoom.name;
                    room.type               = oldRoom.type;
                    room.ceilingHeight      = oldRoom.ceilingHeight;
                    room.floor              = new MaterialData();
                    room.floor.guid         = oldRoom.floor.guid;
                    room.floor.id           = oldRoom.floor.id;
                    room.floor.hide         = oldRoom.floor.hide;
                    room.floor.color        = oldRoom.floor.color;
                    room.floor.offsetX      = oldRoom.floor.offsetX;
                    room.floor.offsetY      = oldRoom.floor.offsetY;
                    room.floor.rotation     = oldRoom.floor.rotation;
                    room.floor.seekId       = oldRoom.floor.seekId;
                    room.floor.textureURI   = oldRoom.floor.textureURI;
                    room.floor.tileSize_x   = oldRoom.floor.tileSize_x;
                    room.floor.tileSize_y   = oldRoom.floor.tileSize_y;
                    room.ceiling            = new MaterialData();
                    room.ceiling.guid       = oldRoom.ceiling.guid;
                    room.ceiling.id         = oldRoom.ceiling.id;
                    room.ceiling.hide       = oldRoom.ceiling.hide;
                    room.ceiling.color      = oldRoom.ceiling.color;
                    room.ceiling.offsetX    = oldRoom.ceiling.offsetX;
                    room.ceiling.offsetY    = oldRoom.ceiling.offsetY;
                    room.ceiling.rotation   = oldRoom.ceiling.rotation;
                    room.ceiling.seekId     = oldRoom.ceiling.seekId;
                    room.ceiling.textureURI = oldRoom.ceiling.textureURI;
                    room.ceiling.tileSize_x = oldRoom.ceiling.tileSize_x;
                    room.ceiling.tileSize_y = oldRoom.ceiling.tileSize_y;
                }
            }
        }
        roomList.Clear();

        maxAngleRooms.Clear();
        maxAngleRooms = GetMaxAngleRooms(data.wallList);
    }
Exemplo n.º 3
0
 public WallSideData getSideById(int id, OriginalInputData inputdata)
 {
     for (int i = 0; i < inputdata.wallList.Count; i++)
     {
         WallData wall = inputdata.wallList[i];
         if (wall.point1To2Data.guid == id)
         {
             return(wall.point1To2Data);
         }
         if (wall.point2To1Data.guid == id)
         {
             return(wall.point2To1Data);
         }
     }
     return(null);
 }
Exemplo n.º 4
0
 public static JsonProjectData OriginalInputDataToProjectJson(OriginalInputData input)
 {
     return(null);
 }
    public void DeSerialize(Dictionary <string, object> dic)
    {
        if (dic == null)
        {
            Debug.LogError("OriginalProjectData dic.DeSerialize(dic), dic = null");
            return;
        }
        data    = new OriginalInputData();
        version = new MyTimeData();
        foreach (string key in dic.Keys)
        {
            switch (key)
            {
            case "id":
                id = MyJsonTool.getStringValue(dic, key);
                break;

            case "meta":
                meta = MyJsonTool.getStringValue(dic, key);
                break;

            case "data":
            {
                object obj = MyJsonTool.getValue(dic, key);
                data.isOld = false;
                if (dic.ContainsKey("version") == false)
                {
                    data.isOld = true;
                }
                data.DeSerialize(obj as Dictionary <string, object>);
            }
            break;

            case "name":
                name = MyJsonTool.getStringValue(dic, key);
                break;

            case "description":
                description = MyJsonTool.getStringValue(dic, key);
                break;

            case "priceIdList":
                priceIdList = MyJsonTool.getStringListValue(dic, key);
                break;

            case "tempId":
                tempId = MyJsonTool.getIntValue(dic, key);
                break;

            case "idNew":
                isNew = MyJsonTool.getBoolValue(dic, key);
                //isNew = false;
                break;

            case "version":
            {
                object obj = MyJsonTool.getValue(dic, key);
                version.DeSerialize(obj as Dictionary <string, object>);
                //isNew = false;
            }
            break;

            default:
                break;
            }
        }
    }