public void CreateTest() { var block = BlockModel.Create(0, 0); // Act var button = new BlockButton(block, Color.Black); // Assert Assert.AreEqual(Color.Black, button.ActiveColor); }
public static void Initialize() { const int entitiesToCreate = 10; var entityManager = World.Active.GetOrCreateManager <EntityManager>(); var meshArchetype = entityManager.CreateArchetype(typeof(MeshInstanceRenderer), typeof(Vertex), typeof(Uv), typeof(Normal), typeof(Triangle), typeof(Position), typeof(MeshScale)); var meshEntities = new NativeArray <Entity>(entitiesToCreate, Allocator.Temp); entityManager.CreateEntity(meshArchetype, meshEntities); var material = new Material(Shader.Find("Standard")); var model = BlockModel.Create(); for (var index = 0; index < entitiesToCreate; index++) { var entity = meshEntities[index]; var mesh = new Mesh(); mesh.MarkDynamic(); entityManager.SetSharedComponentData(entity, new MeshInstanceRenderer { mesh = mesh, material = material, }); var vertices = entityManager.GetBuffer <Vertex>(entity).Reinterpret <float3>(); vertices.AddRange(model.Vertices); var normals = entityManager.GetBuffer <Normal>(entity).Reinterpret <float3>(); normals.AddRange(model.Normals); var uvs = entityManager.GetBuffer <Uv>(entity).Reinterpret <float3>(); uvs.AddRange(model.Uvs); var triangles = entityManager.GetBuffer <Triangle>(entity).Reinterpret <int>(); triangles.AddRange(model.Triangles); entityManager.SetComponentData(entity, new Position { Value = new float3(index * 2, 0, 0) }); entityManager.SetComponentData(entity, new MeshScale { Step = Random.Range(0.005f, 0.01f), Max = Random.Range(60, 600), //Period = Random.Range(0.5f, 2f) * (Random.Range(0,2) == 1 ? 1 : -1), }); } meshEntities.Dispose(); model.Dispose(); }
/// <summary> /// Adds the row to the top /// </summary> /// <param name="shapeModel">The shape model.</param> public static void AddRowTop(this ShapeModel shapeModel) { var maxColumns = shapeModel.LastColumn(); shapeModel.Blocks.ForEach(b => b.Row = b.Row + 1); for (var col = 0; col < maxColumns; col++) { var newBlock = BlockModel.Create(col + 1, 1); shapeModel.Blocks.Add(newBlock); } }
public void SetActiveColor() { var block = BlockModel.Create(0, 0); var button = new BlockButton(block, Color.Black); // Act button.ActiveColor = Color.Red; // Assert Assert.AreEqual(button.ActiveColor, Color.Red); }
/// <summary> /// Adds the column. /// </summary> /// <param name="shapeModel">The shape model.</param> public static void AddColumnLeft(this ShapeModel shapeModel) { var maxRow = shapeModel.LastRow(); shapeModel.Blocks.ForEach(b => b.Column = b.Column + 1); for (var row = 0; row < maxRow; row++) { var newBlock = BlockModel.Create(1, row + 1); shapeModel.Blocks.Add(newBlock); } }
/// <summary> /// Adds the row at the bottom /// </summary> /// <param name="shapeModel">The shape model.</param> public static void AddRowBottom(this ShapeModel shapeModel) { var maxRow = shapeModel.LastRow(); var maxColumns = shapeModel.LastColumn(); var newRow = maxRow + 1; for (var col = 0; col < maxColumns; col++) { var newBlock = BlockModel.Create(col + 1, newRow); shapeModel.Blocks.Add(newBlock); } }
/// <summary> /// Adds the column. /// </summary> /// <param name="shapeModel">The shape model.</param> public static void AddColumnRight(this ShapeModel shapeModel) { var maxRow = shapeModel.LastRow(); var maxColumns = shapeModel.LastColumn(); var newColumn = maxColumns + 1; for (var row = 0; row < maxRow; row++) { var newBlock = BlockModel.Create(newColumn, row + 1); shapeModel.Blocks.Add(newBlock); } }