Polyphase Game Engine
Loading...
Searching...
No Matches
SpriteAnimator_Lua.h
Go to the documentation of this file.
1#pragma once
2
3#include "EngineTypes.h"
4#include "Log.h"
5#include "Engine.h"
6
8
11
12#if LUA_ENABLED
13
14#define SPRITE_ANIMATOR_LUA_NAME "SpriteAnimator"
15#define SPRITE_ANIMATOR_LUA_FLAG "cfSpriteAnimator"
16#define CHECK_SPRITE_ANIMATOR(L, arg) static_cast<SpriteAnimator*>(CheckNodeLuaType(L, arg, SPRITE_ANIMATOR_LUA_NAME, SPRITE_ANIMATOR_LUA_FLAG));
17
18struct SpriteAnimator_Lua
19{
20 // Playback
21 static int Play(lua_State* L);
22 static int Pause(lua_State* L);
23 static int Stop(lua_State* L);
24 static int PlayAnimation(lua_State* L);
25 static int IsPlaying(lua_State* L);
26 static int SetFrame(lua_State* L);
27 static int GetProgress(lua_State* L);
28 static int AnimateTo(lua_State* L);
29 static int AnimateToProgress(lua_State* L);
30 static int CancelAnimateTo(lua_State* L);
31
32 // Speed
33 static int SetSpeed(lua_State* L);
34 static int GetSpeed(lua_State* L);
35
36 // Configuration
37 static int SetAutoPlay(lua_State* L);
38 static int GetAutoPlay(lua_State* L);
39 static int SetLoopOverride(lua_State* L);
40 static int GetLoopOverride(lua_State* L);
41 static int SetDefaultAnimation(lua_State* L);
42 static int GetDefaultAnimation(lua_State* L);
43
44 // Asset registration
45 static int AddAnimation(lua_State* L); // (asset) or (path)
46
47 // Runtime registration
48 static int CreateAnimation(lua_State* L); // (name) or (name, {textures})
49 static int AddImage(lua_State* L); // (name, texture) or (name, path)
50 static int AddImages(lua_State* L); // (name, {paths})
51 static int RemoveAnimation(lua_State* L);
52 static int HasAnimation(lua_State* L);
53
54 // Output
55 static int GetCurrentTexture(lua_State* L);
56 static int GetCurrentUVScale(lua_State* L); // returns (sx, sy)
57 static int GetCurrentUVOffset(lua_State* L); // returns (ox, oy)
58 static int GetCurrentUVRect(lua_State* L); // returns (u0, v0, u1, v1)
59 static int GetCurrentAnimationName(lua_State* L);
60 static int GetCurrentFrameIndex(lua_State* L);
61
62 static void Bind();
63};
64
65#endif
bool IsPlaying()
Definition Engine.cpp:1327