OSDN Git Service

-use separate meshes for escalator steps
authorryan <>
Wed, 18 Jan 2017 04:46:25 +0000 (04:46 +0000)
committerryan <>
Wed, 18 Jan 2017 04:46:25 +0000 (04:46 +0000)
-use maximum rendering distance of 100 for escalator steps

src/sbs/escalator.cpp
src/sbs/escalator.h
src/sbs/step.cpp
src/sbs/step.h

index 1306bd0..b6a6c49 100644 (file)
@@ -63,15 +63,13 @@ Escalator::Escalator(Object *parent, const std::string &name, int run, float spe
        end = 0;
        buffer_zone_steps = 2;
 
-       StepContainer = new DynamicMesh(this, GetSceneNode(), name + " Step Container", 0, true);
-
        //move object
        Move(CenterX, voffset, CenterZ);
 
        //create step meshes
        for (int i = 0; i < num_steps; i++)
        {
-               Step *mesh = new Step(this, "Step " + ToString(i + 1), StepContainer);
+               Step *mesh = new Step(this, "Step " + ToString(i + 1), 0, 100);
                Steps.push_back(mesh);
        }
 
@@ -104,10 +102,6 @@ Escalator::~Escalator()
                Steps[i] = 0;
        }
 
-       if (StepContainer)
-               delete StepContainer;
-       StepContainer = 0;
-
        //unregister from parent
        if (sbs->FastDelete == false)
        {
index 8cd8c48..18f5df1 100644 (file)
@@ -46,7 +46,6 @@ public:
        int GetRun() { return Run; }
 
 private:
-       DynamicMesh* StepContainer;
        Sound *sound; //sound object
        int Run; //-1 is reverse, 0 is stop, 1 is forward
        bool is_enabled;
index 6f87105..21a6162 100644 (file)
@@ -30,7 +30,7 @@
 
 namespace SBS {
 
-Step::Step(Object* parent, const std::string &name, DynamicMesh* wrapper) : MeshObject(parent, name, wrapper)
+Step::Step(Object* parent, const std::string &name, DynamicMesh* wrapper, int max_render_distance) : MeshObject(parent, name, wrapper, "", max_render_distance)
 {
        vector = Ogre::Vector3::ZERO;
        speed = 0;
index c087063..48fe3a5 100644 (file)
@@ -33,7 +33,7 @@ namespace SBS {
 class SBSIMPEXP Step : public MeshObject
 {
 public:
-       Step(Object* parent, const std::string &name, DynamicMesh* wrapper);
+       Step(Object* parent, const std::string &name, DynamicMesh* wrapper, int max_render_distance = 0);
        ~Step() {}
        void Move(const Ogre::Vector3 &vector, float speed = 1.0f);
        void OnHit();