LumixEngine/src/animation/animation_system.h

45 lines
1.6 KiB
C
Raw Normal View History

2014-06-16 21:18:15 +02:00
#pragma once
#include "engine/lumix.h"
#include "engine/iplugin.h"
2014-06-16 21:18:15 +02:00
namespace Lumix
{
2016-11-23 17:03:29 +01:00
class OutputBlob;
2016-11-18 02:43:51 +01:00
namespace Anim
{
struct ComponentInstance;
2017-03-23 01:07:16 +01:00
class ControllerResource;
2016-11-18 02:43:51 +01:00
}
2016-11-23 10:41:16 +01:00
struct AnimationScene : public IScene
{
2016-11-23 17:03:29 +01:00
virtual const OutputBlob& getEventStream() const = 0;
2016-11-23 10:41:16 +01:00
virtual class Animation* getAnimableAnimation(ComponentHandle cmp) = 0;
virtual float getAnimableTime(ComponentHandle cmp) = 0;
virtual void setAnimableTime(ComponentHandle cmp, float time) = 0;
virtual void updateAnimable(ComponentHandle cmp, float time_delta) = 0;
2016-11-23 17:03:29 +01:00
virtual Entity getControllerEntity(ComponentHandle cmp) = 0;
2016-11-23 10:41:16 +01:00
virtual u8* getControllerInput(ComponentHandle cmp) = 0;
virtual void setControllerInput(ComponentHandle cmp, int input_idx, float value) = 0;
virtual void setControllerInput(ComponentHandle cmp, int input_idx, bool value) = 0;
virtual struct Transform getControllerRootMotion(ComponentHandle cmp) = 0;
virtual class Path getControllerSource(ComponentHandle cmp) = 0;
virtual Anim::ComponentInstance* getControllerRoot(ComponentHandle cmp) = 0;
virtual int getControllerInputIndex(ComponentHandle cmp, const char* name) const = 0;
2017-02-15 16:49:12 +01:00
virtual Entity getSharedControllerParent(ComponentHandle cmp) = 0;
virtual void setSharedControllerParent(ComponentHandle cmp, Entity parent) = 0;
virtual void applyControllerSet(ComponentHandle cmp, const char* set_name) = 0;
2017-03-23 01:07:16 +01:00
virtual void setControllerDefaultSet(ComponentHandle cmp, int set) = 0;
virtual int getControllerDefaultSet(ComponentHandle cmp) = 0;
virtual Anim::ControllerResource* getControllerResource(ComponentHandle cmp) = 0;
};
2014-08-21 20:05:18 +02:00
2015-07-24 08:42:35 +02:00
} // ~ namespace Lumix