protected override void constructed() { base.constructed(); mainNode = Owner.getElement(mainNodeName) as SceneNodeElement; if (mainNode == null) { blacklist("Cannot find main scene node {0}", mainNodeName); } rigidBody = Owner.getElement(reshapeableRigidBodyName) as ReshapeableRigidBody; if (rigidBody == null) { blacklist("Cannot find reshapeable rigid body {0}", reshapeableRigidBodyName); } ogreSceneManager = Owner.SubScene.getSimElementManager <OgreSceneManager>(); if (sections.Count > 0) { beginUpdates(); foreach (var section in sections.Values) { section.create(this); } finishUpdates(); } }
protected override void link() { var node = Owner.getElement(NodeName) as SceneNodeElement; if (node == null) { blacklist($"Cannot find SceneNodeElement {NodeName}"); } manualObject = node.getNodeObject(ManualObjectName) as ManualObject; if (manualObject == null) { blacklist($"Cannot find ManualObject {ManualObjectName} on SceneNodeElement {NodeName}"); } drawTile(); rigidBody = Owner.getElement(RigidBodyName) as ReshapeableRigidBody; if (rigidBody != null) { rigidBody.beginUpdates(); var section = rigidBody.createSection("Tile", Vector3.Zero, Quaternion.Identity, Vector3.ScaleIdentity); rigidBody.finishUpdates(); rigidBody.setLocalScaling(Dimensions * TileSize); } base.link(); }