blob: f27e2029005e993290b092f6233a8e4cb1af22a4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#pragma once
#include "StarRoot.hpp"
#include "StarAssets.hpp"
namespace Star {
STAR_STRUCT(DanceStep);
STAR_STRUCT(Dance);
STAR_CLASS(DanceDatabase);
struct DanceStep {
Maybe<String> bodyFrame;
Maybe<String> frontArmFrame;
Maybe<String> backArmFrame;
Vec2F headOffset;
Vec2F frontArmOffset;
Vec2F backArmOffset;
float frontArmRotation;
float backArmRotation;
};
struct Dance {
String name;
List<String> states;
float cycle;
bool cyclic;
float duration;
List<DanceStep> steps;
};
class DanceDatabase {
public:
DanceDatabase();
DancePtr getDance(String const& name) const;
private:
static DancePtr readDance(String const& path);
StringMap<DancePtr> m_dances;
};
}
|