Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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();
        }