diff --git a/spine-cpp/include/spine/BoneTimeline.h b/spine-cpp/include/spine/BoneTimeline.h index 3f6ef2667..d78ae161c 100644 --- a/spine-cpp/include/spine/BoneTimeline.h +++ b/spine-cpp/include/spine/BoneTimeline.h @@ -43,22 +43,15 @@ namespace spine { RTTI_DECL_NOPARENT public: - BoneTimeline(int boneIndex) : _boneIndex(boneIndex) { + BoneTimeline(int boneIndex) { } virtual ~BoneTimeline() { } /// The index of the bone in Skeleton::getBones() that will be changed when this timeline is applied. - virtual int getBoneIndex() { - return _boneIndex; - } + virtual int getBoneIndex() const = 0; - virtual void setBoneIndex(int inValue) { - _boneIndex = inValue; - } - - protected: - int _boneIndex; + virtual void setBoneIndex(int inValue) = 0; }; /// Base class for timelines that animate a single bone property. @@ -75,9 +68,19 @@ namespace spine { virtual void apply(Skeleton &skeleton, float lastTime, float time, Array *pEvents, float alpha, MixBlend blend, MixDirection direction, bool appliedPose) override; + virtual int getBoneIndex() const override { + return _boneIndex; + } + + virtual void setBoneIndex(int inValue) override { + _boneIndex = inValue; + } + protected: /// Applies changes to the pose based on the timeline values. virtual void apply(BoneLocal &pose, BoneLocal &setup, float time, float alpha, MixBlend blend, MixDirection direction) = 0; + + int _boneIndex; }; /// Base class for timelines that animate two bone properties. @@ -94,9 +97,19 @@ namespace spine { virtual void apply(Skeleton &skeleton, float lastTime, float time, Array *pEvents, float alpha, MixBlend blend, MixDirection direction, bool appliedPose) override; + virtual int getBoneIndex() const override { + return _boneIndex; + } + + virtual void setBoneIndex(int inValue) override { + _boneIndex = inValue; + } + protected: /// Applies changes to the pose based on the timeline values. virtual void apply(BoneLocal &pose, BoneLocal &setup, float time, float alpha, MixBlend blend, MixDirection direction) = 0; + + int _boneIndex; }; } diff --git a/spine-cpp/include/spine/IkConstraintTimeline.h b/spine-cpp/include/spine/IkConstraintTimeline.h index 187dff7af..53c93e927 100644 --- a/spine-cpp/include/spine/IkConstraintTimeline.h +++ b/spine-cpp/include/spine/IkConstraintTimeline.h @@ -65,6 +65,7 @@ namespace spine { virtual void setConstraintIndex(int inValue) override { _constraintIndex = inValue; } + private: int _constraintIndex; diff --git a/spine-cpp/include/spine/InheritTimeline.h b/spine-cpp/include/spine/InheritTimeline.h index 4635c1fda..940b01d0e 100644 --- a/spine-cpp/include/spine/InheritTimeline.h +++ b/spine-cpp/include/spine/InheritTimeline.h @@ -59,7 +59,18 @@ namespace spine { virtual void apply(Skeleton &skeleton, float lastTime, float time, Array *pEvents, float alpha, MixBlend blend, MixDirection direction, bool appliedPose) override; + + virtual int getBoneIndex() const override { + return _boneIndex; + } + + void setBoneIndex(int inValue) override { + _boneIndex = inValue; + } + private: + int _boneIndex; + static const int ENTRIES = 2; static const int INHERIT = 1; }; diff --git a/spine-cpp/include/spine/PathConstraintMixTimeline.h b/spine-cpp/include/spine/PathConstraintMixTimeline.h index 60f989de3..dbff2a598 100644 --- a/spine-cpp/include/spine/PathConstraintMixTimeline.h +++ b/spine-cpp/include/spine/PathConstraintMixTimeline.h @@ -64,6 +64,7 @@ namespace spine { virtual void setConstraintIndex(int inValue) override { _constraintIndex = inValue; } + private: int _constraintIndex; diff --git a/spine-cpp/include/spine/PhysicsConstraintTimeline.h b/spine-cpp/include/spine/PhysicsConstraintTimeline.h index b4cafe010..281d2a3f4 100644 --- a/spine-cpp/include/spine/PhysicsConstraintTimeline.h +++ b/spine-cpp/include/spine/PhysicsConstraintTimeline.h @@ -53,7 +53,7 @@ namespace spine { virtual void apply(Skeleton &skeleton, float lastTime, float time, Array *pEvents, float alpha, MixBlend blend, MixDirection direction, bool appliedPose) override; - virtual int getConstraintIndex() const override { + virtual int getConstraintIndex() const override { return _constraintIndex; } diff --git a/spine-cpp/include/spine/TransformConstraintTimeline.h b/spine-cpp/include/spine/TransformConstraintTimeline.h index 20d0fb995..5cf2e9659 100644 --- a/spine-cpp/include/spine/TransformConstraintTimeline.h +++ b/spine-cpp/include/spine/TransformConstraintTimeline.h @@ -65,6 +65,7 @@ namespace spine { virtual void setConstraintIndex(int inValue) override { _constraintIndex = inValue; } + private: int _constraintIndex;