More work on AnimQueueDecoder
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
|
||||
#include "AnimQueue.h"
|
||||
|
||||
FAnimStep FAnimQueueDecoder::ReadStep() {
|
||||
FAnimStep result;
|
||||
result.Hash = Decoder.read_uint64();
|
||||
result.Body = Decoder.read_string_view();
|
||||
return result;
|
||||
}
|
||||
|
||||
FAnimField FAnimStepDecoder::ReadField() {
|
||||
FAnimField result;
|
||||
result.Name = Decoder.read_string_view();
|
||||
result.Persistent = Decoder.read_bool();
|
||||
result.Type = (EAnimValueType)Decoder.read_uint8();
|
||||
switch (result.Type) {
|
||||
case T_STRING: {
|
||||
result.S = Decoder.read_string_view();
|
||||
break;
|
||||
}
|
||||
case T_NUMBER: {
|
||||
result.X = Decoder.read_double();
|
||||
break;
|
||||
}
|
||||
case T_BOOLEAN: {
|
||||
result.X = Decoder.read_bool() ? 1.0 : 0.0;
|
||||
break;
|
||||
}
|
||||
case T_XYZ: {
|
||||
result.X = Decoder.read_double();
|
||||
result.Y = Decoder.read_double();
|
||||
result.Z = Decoder.read_double();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
Decoder.set_at_eof();
|
||||
result.Type = T_BOOLEAN;
|
||||
result.X = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
FString FAnimQueueDecoder::DebugString(std::string_view queue) {
|
||||
// IMPLEMENT ME
|
||||
return FString();
|
||||
}
|
||||
|
||||
FString FAnimStepDecoder::DebugString(const FAnimStep& step) {
|
||||
// IMPLEMENT ME
|
||||
return FString();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user