public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem) { var fieldTransform = FieldObject.transform.localScale; var gridCounts = Vector2Int.RoundToInt(new Vector2(fieldTransform.x, fieldTransform.z) / this.ResourceSize); var gridSize = new Vector2(fieldTransform.x / gridCounts.x, fieldTransform.z / gridCounts.y); var minGridPos = new Vector2((gridCounts.x - 1f) * -(0.5f * gridSize.x), (gridCounts.y - 1f) * -(0.5f * gridSize.y)); var resourceManagerData = new ResourceManagerData { FloorHeight = -(0.5f * fieldTransform.y), ResourceSize = this.ResourceSize, ResourceGravity = this.ResourceGravity, SnapStiffness = this.SnapStiffness, CarryStiffness = this.CarryStiffness, SpawnRate = this.SpawnRate, BeesPerResource = this.BeesPerResource, GridCounts = gridCounts, GridSize = gridSize, MinGridPos = minGridPos, }; var resourceMeshData = new RenderMeshInfo() { Mesh = this.ResourceMesh, Material = this.ResourceMaterial }; var spawnResourceData = new SpawnResourceData { SpawnCount = StartResourceCount }; dstManager.AddComponentData(entity, resourceManagerData); dstManager.AddComponentData(entity, spawnResourceData); dstManager.AddSharedComponentData(entity, resourceMeshData); }
/// <summary> /// Initializes a new instance of the <see cref="T:WaveEngine.Framework.Graphics.Instancing.InstancingBatchRenderUnit" /> class. /// </summary> /// <param name="info">The mesh info.</param> /// <param name="instanceCount">The instance count.</param> public MyInstancingBatchRenderUnit(RenderMeshInfo info, uint instanceCount = 1) : base(info, instanceCount) { }