public Entity3D LightNode(Entity3D node) { Entity3D res = new Entity3D { Name = node.Name + "(Lightmapped)" }; if (node.LightMapInfo.ReceiveLight) { foreach (Data.Mesh3D mesh in node.Meshes) { Data.Mesh3D lit_msh = LightMesh(mesh); res.Meshes.Add(lit_msh); } } else { foreach (Data.Mesh3D mesh in node.Meshes) { res.Meshes.Add(mesh.Clone()); } } foreach (Node3D subnode in node.Sub) { res.Add(LightNode((Entity3D)subnode)); } return(res); }
public void CreateEntity3D() { var entity = new Entity3D(Vector3D.Zero); entity.Add(Rectangle.One); Assert.AreEqual(Vector3D.Zero, entity.Position); Assert.AreEqual(Quaternion.Identity, entity.Orientation); Assert.IsTrue(entity.IsVisible); Assert.AreEqual(4, entity.GetComponentsForSaving().Count); }
public Entity3D LightNode(Entity3D node) { Entity3D res = new Entity3D { Name = node.Name + "(Lightmapped)" }; foreach (Data.Mesh3D mesh in node.Meshes) { Data.Mesh3D lit_msh = LightMesh(mesh, node.World); res.Meshes.Add(lit_msh); } foreach (Node3D subnode in node.Sub) { res.Add(LightNode((Entity3D)subnode)); } return(res); }
public void CannotAddTheSameTypeOfComponentTwice() { var entity = new Entity3D(Vector3D.Zero); Assert.Throws <Entity.ComponentOfTheSameTypeAddedMoreThanOnce>(() => entity.Add(Vector3D.One)); }
public void CannotAddTheSameTypeOfComponentTwice() { var entity = new Entity3D(Vector3D.Zero); Assert.Throws<Entity.ComponentOfTheSameTypeAddedMoreThanOnce>(() => entity.Add(Vector3D.One)); }