예제 #1
0
        public static BeefMapObjectModel LoadByFile(string filePath)
        {
            var bytes         = File.ReadAllBytes(filePath);
            var beefMapObject = BeefMapObject.GetRootAsBeefMapObject(new ByteBuffer(bytes));

            return(new BeefMapObjectModel(beefMapObject));
        }
예제 #2
0
        public BeefMapObjectModel(BeefMapObject beefMapObject)
        {
            this.beefMapObject = beefMapObject;
            var BuildingDatasLength = beefMapObject.BuildingDatasLength;

            BuildingDataModels = new List <BuildingDataModel>(BuildingDatasLength);

            for (int i = 0; i < BuildingDatasLength; i++)
            {
                BuildingDataModels.Add(new BuildingDataModel(beefMapObject.BuildingDatas(i).Value));
            }

            var RoadDatasLength = beefMapObject.RoadDatasLength;

            RoadDataModels = new List <RoadDataModel>(RoadDatasLength);

            for (int i = 0; i < RoadDatasLength; i++)
            {
                RoadDataModels.Add(new RoadDataModel(beefMapObject.RoadDatas(i).Value));
            }

            var NodeDatasLength = beefMapObject.NodeDatasLength;

            NodeDataModels = new List <NodeDataModel>(NodeDatasLength);

            for (int i = 0; i < NodeDatasLength; i++)
            {
                NodeDataModels.Add(new NodeDataModel(beefMapObject.NodeDatas(i).Value));
            }
        }
예제 #3
0
        public Offset <BeefMapObject> Serialize(FlatBufferBuilder flatBufferBuilder)
        {
            var buildingList = new List <Offset <BuildingData> >();

            for (int i = 0; i < BuildingDataModels.Count; i++)
            {
                buildingList.Add(BuildingDataModels[i].Serialize(flatBufferBuilder));
            }

            var buldingOffset = BeefMapObject.CreateBuildingDatasVector(flatBufferBuilder, buildingList.ToArray());
            var RoadDataList  = new List <Offset <RoadData> >();

            for (int i = 0; i < RoadDataModels.Count; i++)
            {
                RoadDataList.Add(RoadDataModels[i].Serialize(flatBufferBuilder));
            }

            var RoadDataListOffset = BeefMapObject.CreateRoadDatasVector(flatBufferBuilder, RoadDataList.ToArray());
            var list = new List <Offset <NodeData> >();

            for (int i = 0; i < NodeDataModels.Count; i++)
            {
                list.Add(NodeDataModels[i].Serialize(flatBufferBuilder));
            }

            var infoOffset     = InfoList.Serialize(flatBufferBuilder);
            var nodeListOffset = BeefMapObject.CreateNodeDatasVector(flatBufferBuilder, list.ToArray());

            BeefMapObject.StartBeefMapObject(flatBufferBuilder);
            BeefMapObject.AddBuildingDatas(flatBufferBuilder, buldingOffset);
            BeefMapObject.AddRoadDatas(flatBufferBuilder, RoadDataListOffset);
            BeefMapObject.AddNodeDatas(flatBufferBuilder, nodeListOffset);
            BeefMapObject.AddInfo(flatBufferBuilder, infoOffset);
            var endOffset = BeefMapObject.EndBeefMapObject(flatBufferBuilder);

            return(endOffset);
        }
예제 #4
0
        public static BeefMapObjectModel LoadByData(byte[] bytes)
        {
            var beefMapObject = BeefMapObject.GetRootAsBeefMapObject(new ByteBuffer(bytes));

            return(new BeefMapObjectModel(beefMapObject));
        }