public void StartRendering(Config.IWorld _config, Config.MapRenderConfig _mapRenderConfig, Vector3 _renderPosition) { config = _config; mapRenderConfig = _mapRenderConfig; renderPosition = _renderPosition; meshData = null; needsToBeRendered = true; Task.Run(GenerateMeshData); }
public void StartRendering(Config.IWorld _config, Config.MapRenderConfig _mapRenderConfig, Vector3 _renderPosition) { config = _config; mapRenderConfig = _mapRenderConfig; renderPosition = _renderPosition; data.Clear(); props.Clear(); needsToBeRendered = true; try { Task.Run(GenerateData); } catch (System.Exception e) { throw e; } }
public static List <PropData> LoadDataAt(Vector3 chunkPosition, int chunkSize, Config.IWorld config) { List <PropData> dataList = new List <PropData>(); System.Random random = new System.Random(); for (float z = -chunkSize - 0.5f; z <= chunkSize - 0.5f; z++) { for (float x = -chunkSize - 0.5f; x <= chunkSize - 0.5f; x++) { Vector3 position = chunkPosition + new Vector3(x, 20, z); if (config.HasPropAt(position.x, position.z)) { PropData propData = new PropData(); propData.position = position; propData.position.y = config.GetHeight(position.x, position.z) + config.GetPropVerticalOffset(); propData.position.x += 0.5f; propData.position.z += 0.5f; // propData.position.z += 0.5f + (float)random.Next(0, 100) / 1000; propData.prefab = config.GetProp(position.x, position.z); dataList.Add(propData); } } } return(dataList); }