private MapPartData GenerateMapPartData(Transform mapPart) { MapPartData mapPartData = new MapPartData(); mapPartData.startPosition = GenerateStartPosition(mapPart); mapPartData.endPosition = GenerateEndPosition(mapPart); mapPartData.basicPart = GenerateBasicPart(mapPart); mapPartData.randomGameObjectPool = GenerateRandomGameObjectPool(mapPart); mapPartData.dynamicGameObjects = GenerateDynamicGameObjects(mapPart); return(mapPartData); }
protected List <CommonEntity> LoadMapPart(MapPartData partData, Vector3Data startPosition) { List <CommonEntity> mapPart = new List <CommonEntity>(); startPosition = AddVector3Data(startPosition, partData.startPosition); // 加载BasicPart LoadGameObject(mapPart, startPosition, partData.basicPart); // 从randomGameObjectPool加载数据 LoadFromRandomGameObjectPool(mapPart, startPosition, partData.randomGameObjectPool); // 从dynamicGameObjects加载数据 LoadFormDynamicGameObjects(mapPart, startPosition, partData.dynamicGameObjects); return(mapPart); }
private void LoadMapPart(int index, MapPartData mapPartData) { GameObject mapPart = GenerateMapPart(index); // 调整StartPosition和EndPosition的位置 mapPart.transform.Find(ChapterEditorDef.StartPosition).position = GameObjectUtils.ToVector3(mapPartData.startPosition); mapPart.transform.Find(ChapterEditorDef.EndPosition).position = GameObjectUtils.ToVector3(mapPartData.endPosition); // 加载BasicPart LoadBasicPart(mapPart, mapPartData.basicPart); // 加载RandomGameObjectPool LoadRandomGameObjectPool(mapPart, mapPartData.randomGameObjectPool); // 加载LoadDynamicGameObjects LoadDynamicGameObjects(mapPart, mapPartData.dynamicGameObjects); }
private void LoadMapParts() { List <MapPartData> mapParts = m_data.mapParts; for (int times = 0; times < m_countOfSingleLoad; times++) { MapPartData partData = mapParts[m_mapPartIndex]; //Vector3Data startPosition = AddVector3Data(m_nextPartStart, partData.startPosition); //Debug.Log(string.Format("加载前的开始位置 : x = {0}, y = {1}, z = {2}", startPosition.x, startPosition.y, startPosition.z)); m_mapParts.AddLast(LoadMapPart(partData, m_nextPartStart)); // 更新下一块地图块的开始位置 m_nextPartStart = AddVector3Data(m_nextPartStart, partData.endPosition); //Debug.Log(string.Format("下一段的开始位置 : x = {0}, y = {1}, z = {2}", m_nextPartStart.x, m_nextPartStart.y, m_nextPartStart.z)); m_mapPartIndex++; if (m_mapPartIndex == mapParts.Count) { m_mapPartIndex = 0; } } }