public override void ConstructRenderable() { RenderBoundingBox Renderable = RenderableFactory.BuildBoundingBox(Bounds, WorldTransform); RenderAdapter = new Rendering.Core.RenderableAdapter(); RenderAdapter.InitAdaptor(Renderable, this); }
public override void ConstructRenderable() { RenderModel Renderable = RenderableFactory.BuildRenderModelFromFrame(this); RenderAdapter = new Rendering.Core.RenderableAdapter(); RenderAdapter.InitAdaptor(Renderable, this); }
public static SceneGraph Deserialize(string XMLString) { // TODO KAM: Complete the deserialize here (and also in your actions, camera...) XElement xe = XElement.Parse(XMLString); if (xe.Name != "SceneGraph") { return(null); } else { Vector3 translation = Util.DeserializeVector((xe.Nodes().First((x) => (x as XElement).Name == "Translation") as XElement).FirstNode.ToString()); Quaternion rotation = Util.DeserializeQuaternion((xe.Nodes().First((x) => (x as XElement).Name == "Rotation") as XElement).FirstNode.ToString()); Vector3 scale = Util.DeserializeVector((xe.Nodes().First((x) => (x as XElement).Name == "Scaling") as XElement).FirstNode.ToString()); var fn = (xe.Nodes().First((x) => (x as XElement).Name == "Renderable") as XElement).FirstNode; IRenderable child = (fn == null) ? null : RenderableFactory.Deserialize(fn.ToString()); var tr = new SceneGraph(Matrix.Transformation(Vector3.Zero, Quaternion.Identity, scale, Vector3.Zero, rotation, translation), child); // Do all children... foreach (var xchild in (xe.Nodes().Where((x) => (x as XElement).Name == "Child"))) { tr.AttachChild( ((xchild as XElement).Nodes().First((x) => (x as XElement).Name == "Name") as XElement).Value, SceneGraph.Deserialize(((xchild as XElement).Nodes().First((x) => (x as XElement).Name == "SceneGraph") as XElement).ToString()) ); } return(tr); } }
public void Serialization() { var tr = new TestRenderable(); var tr2 = RenderableFactory.Deserialize(RenderableFactory.Serialize(tr).ToString()); Assert.IsInstanceOfType(tr2, typeof(TestRenderable), "Deserialized result should be an instance of TestRenderable"); }
public override void ConstructRenderable() { BoundingBox TempBox = new BoundingBox(new Vector3(0.5f), new Vector3(0.5f)); RenderBoundingBox Renderable = RenderableFactory.BuildBoundingBox(TempBox, WorldTransform); RenderAdapter = new Rendering.Core.RenderableAdapter(); RenderAdapter.InitAdaptor(Renderable, this); }
public GameEngine(IInput input, Player player, Renderer.Renderer renderer, IMap map, RenderableFactory renderableFactory) { _player = player; _renderer = renderer; _map = map; _renderableFactory = renderableFactory; input.InputReceived += HandleInputReceived; }
/// <summary> /// Creates a variable from a token: /// /// {{ variable }} /// </summary> /// <param name="token"></param> /// <returns></returns> public IRenderable CreateVariable(string token) { Match match = ContentOfVariable.Match(token); if (match.Success) { return(RenderableFactory.CreateVariable(match.Groups[1].Value)); } throw new SyntaxException(Liquid.ResourceManager.GetString("BlockVariableNotTerminatedException"), token, Liquid.VariableEnd); }
public void CreateRenderable_Player_ReturnsExpectedRenderable() { var sut = new RenderableFactory(); var player = new Player(new Location(3, 4)); Renderable result = sut.CreateRenderable(player); result.Source.Should().BeSameAs(player); result.Representation.Should().Be(RenderableFactory.PLAYER_REPRESENTATION); result.ZIndex.Should().Be(RenderableFactory.PLAYER_ZINDEX); }
public override void ConstructRenderable() { // We don't want to use this code yet, it's from old-old stuff which needs to be looked at. // TODO: Look at bringing this old feature back. return; RenderStaticCollision CollisionMesh = RenderableFactory.BuildRenderItemDesc(Hash); RenderAdapter = new Rendering.Core.RenderableAdapter(); RenderAdapter.InitAdaptor(CollisionMesh, this); }
public override void Deserialize(XElement element) { //Read in all of our renderables. if (element.Element("renderables") != null) { RenderableFactory factory = (RenderableFactory)GameServiceManager.GetService(typeof(RenderableFactory)); if (factory != null) { renderables = factory.GenerateRenderables(element.Element("renderables"), this); } } }
public static XElement Serialize(SceneGraph SceneGraph) { var tr = new XElement("SceneGraph", new XElement("Translation", Util.SerializeVector(SceneGraph.Translation)), new XElement("Rotation", Util.SerializeQuaternion(SceneGraph.Rotation)), new XElement("Scaling", Util.SerializeVector(SceneGraph.Scale)), new XElement("Renderable", RenderableFactory.Serialize(SceneGraph.Renderable)) ); foreach (var Child in SceneGraph.Children) { tr.Add(new XElement("Child", new XElement("Name", Child.Key), Serialize(Child.Value) )); } return(tr); }
public override void Deserialize(XElement element) { Color color = new Color(); if (element.Element("filledColor") != null) { color = color.ConvertColorFromString(element.Element("filledColor").Value); } Offset = Offset.DeserializeOffset(element.Element("offset")); //Retrieve the asset elements List <XElement> elements = element.Elements("renderable").ToList(); RenderableFactory factory = (RenderableFactory)GameServiceManager.GetService(typeof(RenderableFactory)); for (int i = 0; i < elements.Count; i++) { if (elements[i].Attribute("name") != null) { //Loading the bar element... if (elements[i].Attribute("name").Value.Equals("bar", StringComparison.InvariantCultureIgnoreCase)) { Bar = (ITexturedRenderable)factory.GenerateRenderable(elements[i], this); Bar.Parent = this; Bar.Offset = Offset; } else if (elements[i].Attribute("name").Value.Equals("border", StringComparison.InvariantCultureIgnoreCase)) { Border = (ITexturedRenderable)factory.GenerateRenderable(elements[i], this); Border.Parent = this; Border.Offset = Offset; } } } FilledColor = color; this.Visible = true; }
public void ConstructRenderable(GraphicsClass InGraphicsClass) { RenderObject = new RenderableAdapter(); RenderObject.InitAdaptor(RenderableFactory.BuildAIWorld(InGraphicsClass, this), this); }