public override void Undo() { base.Undo(); stageState.FillRegion(rect.x, rect.y, rect.width, rect.height); blockObject.AddComponent <MeshRenderer>().material = new Material(Shader.Find("Diffuse")); blockObject.AddComponent <MeshCollider>().sharedMesh = blockMesh; blockObject.AddComponent <MeshFilter>().sharedMesh = blockMesh; }
/// <summary> /// Executes the command for block placement. /// </summary> public override void Execute() { base.Execute(); // Block out the tiles that this block occupies. stageState.FillRegion(rect.x, rect.y, rect.width, rect.height); // Add the visual components to the GameObject. spawnedInstance.transform.position = atLocation; spawnedInstance.transform.rotation = Quaternion.AngleAxis(rotation.ToDegrees(), Vector3.up); spawnedInstance.AddComponent <MeshRenderer>().material = new Material(Shader.Find("Diffuse")); spawnedInstance.AddComponent <MeshFilter>().sharedMesh = blockData.mesh; spawnedInstance.AddComponent <MeshCollider>().sharedMesh = blockData.mesh; }