!XT (BREAK-16) (Sandbox) Remove double-newlines at the end of files.
[CRYENGINE.git] / Code / Sandbox / Plugins / EditorAnimation / CharacterTool / AnimationContent.h
blob6372193d917642ae449a8a6e0b6adb6bea6124ef
1 // Copyright 2001-2018 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CryMath/Cry_Math.h>
6 #include "AnimEvent.h"
7 #include "Shared/AnimSettings.h"
8 #include "BlendSpace.h"
10 struct IDefaultSkeleton;
11 struct IAnimationSet;
13 namespace CharacterTool {
15 struct AnimationContent
17 enum Type
19 ANIMATION,
20 BLEND_SPACE,
21 COMBINED_BLEND_SPACE,
22 AIMPOSE,
23 LOOKPOSE,
24 ANM
27 enum EImportState
29 NOT_SET,
30 NEW_ANIMATION,
31 WAITING_FOR_CHRPARAMS_RELOAD,
32 IMPORTED,
33 COMPILED_BUT_NO_ANIMSETTINGS
36 Type type;
38 EImportState importState;
39 int size;
40 bool loadedInEngine;
41 bool loadedAsAdditive;
42 bool delayApplyUntilStart;
43 int animationId;
44 SAnimSettings settings;
45 BlendSpace blendSpace;
46 CombinedBlendSpace combinedBlendSpace;
47 string newAnimationSkeleton;
48 std::vector<AnimEvent> events;
50 AnimationContent();
52 void ApplyToCharacter(bool* triggerPreview, ICharacterInstance* characterInstance, const char* animationPath, bool animationStarting);
53 void ApplyAfterStart(ICharacterInstance* characterInstance, const char* animationPath);
54 void UpdateBlendSpaceMotionParameters(IAnimationSet* animationSet, IDefaultSkeleton* defaultSkeleton);
56 void Reset();
57 void Serialize(Serialization::IArchive& ar);
59 bool HasAudioEvents() const;