diff options
author | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
commit | 15740faf9fe9fe4be08965098bbf2947e096aeeb (patch) | |
tree | a730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Animation/MecanimUtility.cpp |
Diffstat (limited to 'Runtime/Animation/MecanimUtility.cpp')
-rw-r--r-- | Runtime/Animation/MecanimUtility.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Runtime/Animation/MecanimUtility.cpp b/Runtime/Animation/MecanimUtility.cpp new file mode 100644 index 0000000..2b6da3f --- /dev/null +++ b/Runtime/Animation/MecanimUtility.cpp @@ -0,0 +1,45 @@ +#include "UnityPrefix.h" + +#include "MecanimUtility.h" + +#include "Runtime/mecanim/generic/crc32.h" + +#include "Runtime/Utilities/File.h" +#include "Runtime/Utilities/PathNameUtility.h" +#include "Runtime/Allocator/MemoryManager.h" + +std::string BuildTransitionName(std::string srcStateName, std::string dstStateName) +{ + return srcStateName + " -> " + dstStateName; +} + +std::string FileName(const std::string &fullpath) +{ + std::string fullpathCopy(fullpath); + ConvertSeparatorsToUnity(fullpathCopy); + return GetLastPathNameComponent(StandardizePathName(fullpathCopy)); +} +std::string FileNameNoExt(const std::string &fullpath) +{ + return DeletePathNameExtension(FileName(fullpath)); +} + +unsigned int ProccessString(TOSVector& tos, std::string const& str) +{ + unsigned int crc32 = mecanim::processCRC32(str.c_str()); + TOSVector::iterator it = tos.find(crc32); + if(it == tos.end()) + { + tos.insert( std::make_pair(crc32, str) ); + } + return crc32; +} + +std::string FindString(TOSVector const& tos, unsigned int crc32) +{ + TOSVector::const_iterator it = tos.find(crc32); + if(it!=tos.end()) + return it->second; + + return std::string(""); +} |