diff options
20 files changed, 150 insertions, 254 deletions
diff --git a/Build/Asura.Engine/Asura.Engine.vcxproj b/Build/Asura.Engine/Asura.Engine.vcxproj index 2cbffb6..fd62ab6 100644 --- a/Build/Asura.Engine/Asura.Engine.vcxproj +++ b/Build/Asura.Engine/Asura.Engine.vcxproj @@ -125,8 +125,6 @@ </ItemDefinitionGroup> <ItemGroup> <ClInclude Include="..\..\Source\Asura.Engine\Asura.h" /> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\UnorderedMap.hpp" /> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\Vector.hpp" /> <ClInclude Include="..\..\Source\Asura.Engine\Factory.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Graphics\Canvas.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Graphics\Color.h" /> @@ -138,17 +136,17 @@ <ClInclude Include="..\..\Source\Asura.Engine\Graphics\SpriteBatch.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Graphics\Texture.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Manager.hpp" /> + <ClInclude Include="..\..\Source\Asura.Engine\Map.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Math\Curve.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Math\RangedValue.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Object.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Physics\World.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Scripting\Luax.hpp" /> + <ClInclude Include="..\..\Source\Asura.Engine\Stack.h" /> + <ClInclude Include="..\..\Source\Asura.Engine\String.h" /> + <ClInclude Include="..\..\Source\Asura.Engine\StringMap.hpp" /> <ClInclude Include="..\..\Source\Asura.Engine\Type.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Audio\Sound.h" /> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\Map.h" /> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\Stack.h" /> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\String.h" /> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\StringMap.hpp" /> <ClInclude Include="..\..\Source\Asura.Engine\Exceptions\Exception.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Font\TrueTypeFont.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Graphics\Shader.h" /> @@ -160,6 +158,8 @@ <ClInclude Include="..\..\Source\Asura.Engine\Math\Vector4.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Profiler\Stats.h" /> <ClInclude Include="..\..\Source\Asura.Engine\Time\Timer.h" /> + <ClInclude Include="..\..\Source\Asura.Engine\UnorderedMap.hpp" /> + <ClInclude Include="..\..\Source\Asura.Engine\Vector.hpp" /> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\Source\Asura.Engine\FileSystem\File.cpp" /> @@ -172,14 +172,11 @@ <ClCompile Include="..\..\Source\Asura.Engine\Graphics\Shape.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Graphics\SpriteBatch.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Graphics\Texture.cpp" /> + <ClCompile Include="..\..\Source\Asura.Engine\Map.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Math\Curve.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Math\RangedValue.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Object.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Audio\Sound.cpp" /> - <ClCompile Include="..\..\Source\Asura.Engine\Containers\Map.cpp" /> - <ClCompile Include="..\..\Source\Asura.Engine\Containers\Stack.cpp" /> - <ClCompile Include="..\..\Source\Asura.Engine\Containers\String.cpp" /> - <ClCompile Include="..\..\Source\Asura.Engine\Containers\StringMap.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Exceptions\Exception.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Font\TrueTypeFont.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Graphics\Shader.cpp" /> @@ -190,6 +187,9 @@ <ClCompile Include="..\..\Source\Asura.Engine\Math\Vector3.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Math\Vector4.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Profiler\Stats.cpp" /> + <ClCompile Include="..\..\Source\Asura.Engine\Stack.cpp" /> + <ClCompile Include="..\..\Source\Asura.Engine\String.cpp" /> + <ClCompile Include="..\..\Source\Asura.Engine\StringMap.cpp" /> <ClCompile Include="..\..\Source\Asura.Engine\Time\Timer.cpp" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> diff --git a/Build/Asura.Engine/Asura.Engine.vcxproj.filters b/Build/Asura.Engine/Asura.Engine.vcxproj.filters index 3cb7563..44e7c39 100644 --- a/Build/Asura.Engine/Asura.Engine.vcxproj.filters +++ b/Build/Asura.Engine/Asura.Engine.vcxproj.filters @@ -7,9 +7,6 @@ <Filter Include="Audio"> <UniqueIdentifier>{4040c770-8a92-4175-8c3d-269592ca2001}</UniqueIdentifier> </Filter> - <Filter Include="Containers"> - <UniqueIdentifier>{843d7fb4-300b-432c-b056-d436bdbc1580}</UniqueIdentifier> - </Filter> <Filter Include="Exceptions"> <UniqueIdentifier>{097be40c-71fb-4a4e-85a7-7a4939a42d78}</UniqueIdentifier> </Filter> @@ -42,15 +39,6 @@ <ClInclude Include="..\..\Source\Asura.Engine\Audio\Sound.h"> <Filter>Audio</Filter> </ClInclude> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\Map.h"> - <Filter>Containers</Filter> - </ClInclude> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\Stack.h"> - <Filter>Containers</Filter> - </ClInclude> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\String.h"> - <Filter>Containers</Filter> - </ClInclude> <ClInclude Include="..\..\Source\Asura.Engine\Exceptions\Exception.h"> <Filter>Exceptions</Filter> </ClInclude> @@ -90,21 +78,12 @@ <ClInclude Include="..\..\Source\Asura.Engine\Graphics\Color.h"> <Filter>Graphics</Filter> </ClInclude> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\StringMap.hpp"> - <Filter>Containers</Filter> - </ClInclude> <ClInclude Include="..\..\Source\Asura.Engine\Graphics\Texture.h"> <Filter>Graphics</Filter> </ClInclude> <ClInclude Include="..\..\Source\Asura.Engine\Graphics\OpenGL.h"> <Filter>Graphics</Filter> </ClInclude> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\Vector.hpp"> - <Filter>Containers</Filter> - </ClInclude> - <ClInclude Include="..\..\Source\Asura.Engine\Containers\UnorderedMap.hpp"> - <Filter>Containers</Filter> - </ClInclude> <ClInclude Include="..\..\Source\Asura.Engine\Scripting\Luax.hpp"> <Filter>Scripting</Filter> </ClInclude> @@ -137,23 +116,17 @@ <ClInclude Include="..\..\Source\Asura.Engine\Graphics\Window.h"> <Filter>Graphics</Filter> </ClInclude> + <ClInclude Include="..\..\Source\Asura.Engine\Map.h" /> + <ClInclude Include="..\..\Source\Asura.Engine\Stack.h" /> + <ClInclude Include="..\..\Source\Asura.Engine\String.h" /> + <ClInclude Include="..\..\Source\Asura.Engine\StringMap.hpp" /> + <ClInclude Include="..\..\Source\Asura.Engine\UnorderedMap.hpp" /> + <ClInclude Include="..\..\Source\Asura.Engine\Vector.hpp" /> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\Source\Asura.Engine\Audio\Sound.cpp"> <Filter>Audio</Filter> </ClCompile> - <ClCompile Include="..\..\Source\Asura.Engine\Containers\Map.cpp"> - <Filter>Containers</Filter> - </ClCompile> - <ClCompile Include="..\..\Source\Asura.Engine\Containers\Stack.cpp"> - <Filter>Containers</Filter> - </ClCompile> - <ClCompile Include="..\..\Source\Asura.Engine\Containers\String.cpp"> - <Filter>Containers</Filter> - </ClCompile> - <ClCompile Include="..\..\Source\Asura.Engine\Containers\StringMap.cpp"> - <Filter>Containers</Filter> - </ClCompile> <ClCompile Include="..\..\Source\Asura.Engine\Exceptions\Exception.cpp"> <Filter>Exceptions</Filter> </ClCompile> @@ -224,5 +197,9 @@ <ClCompile Include="..\..\Source\Asura.Engine\FileSystem\File.cpp"> <Filter>FileSystem</Filter> </ClCompile> + <ClCompile Include="..\..\Source\Asura.Engine\Map.cpp" /> + <ClCompile Include="..\..\Source\Asura.Engine\Stack.cpp" /> + <ClCompile Include="..\..\Source\Asura.Engine\String.cpp" /> + <ClCompile Include="..\..\Source\Asura.Engine\StringMap.cpp" /> </ItemGroup> </Project>
\ No newline at end of file diff --git a/Build/Asura.Framework/Asura.Framework.vcxproj b/Build/Asura.Framework/Asura.Framework.vcxproj index 852910e..1995767 100644 --- a/Build/Asura.Framework/Asura.Framework.vcxproj +++ b/Build/Asura.Framework/Asura.Framework.vcxproj @@ -18,9 +18,6 @@ <Platform>x64</Platform> </ProjectConfiguration> </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\Source\Asura.Framework\main.cpp" /> - </ItemGroup> <PropertyGroup Label="Globals"> <VCProjectVersion>15.0</VCProjectVersion> <ProjectGuid>{A4A226CC-37DB-4EB7-BD6F-B344B7B6D53B}</ProjectGuid> diff --git a/Build/Asura.Framework/Asura.Framework.vcxproj.filters b/Build/Asura.Framework/Asura.Framework.vcxproj.filters index 8a4baf1..9cd8510 100644 --- a/Build/Asura.Framework/Asura.Framework.vcxproj.filters +++ b/Build/Asura.Framework/Asura.Framework.vcxproj.filters @@ -1,6 +1,2 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\..\Source\Asura.Framework\main.cpp" /> - </ItemGroup> -</Project>
\ No newline at end of file +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
\ No newline at end of file diff --git a/Source/Asura.Engine/Containers/Map.h b/Source/Asura.Engine/Containers/Map.h deleted file mode 100644 index 999971c..0000000 --- a/Source/Asura.Engine/Containers/Map.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef __ASURA_ENGINE_MAP_H__ -#define __ASURA_ENGINE_MAP_H__ - -#include <map> - -namespace AsuraEngine -{ - namespace Containers - { - - template<typename key_type, typename value_type> - using Map = std::map<key_type, value_type>; - - } -} - -#endif
\ No newline at end of file diff --git a/Source/Asura.Engine/Containers/String.h b/Source/Asura.Engine/Containers/String.h deleted file mode 100644 index 4739b44..0000000 --- a/Source/Asura.Engine/Containers/String.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef __ASURA_ENGINE_STRING_H__ -#define __ASURA_ENGINE_STRING_H__ - -#include <string> - -namespace AsuraEngine -{ - namespace Containers - { - - /// - /// װstd::string - /// - class String : public std::string - { - public: - inline String() - : std::string() - { - } - - inline String(const std::string& str) - : std::string(str) - { - } - - inline String(const String& str) - : std::string(str) - { - } - - inline String(const char* str) - : std::string(str) - { - } - - inline String& operator = (const String& str) - { - std::string::operator=(str); - return *this; - } - - inline operator const char* () const - { - return this->c_str(); - } - - inline const char* str() const - { - return this->c_str(); - } - - inline String(const String& s2, size_type pos2, size_type len2) - : std::string(s2, pos2, len2) - { - } - - inline String(const char* buf, size_type bufsize) - : std::string(buf, bufsize) - { - } - - inline String(size_type repetitions, char c) - : std::string(repetitions, c) - { - } - - inline int length() const - { - return size(); - } - - }; - - } -} - -#endif
\ No newline at end of file diff --git a/Source/Asura.Engine/Containers/StringMap.hpp b/Source/Asura.Engine/Containers/StringMap.hpp deleted file mode 100644 index 208f16b..0000000 --- a/Source/Asura.Engine/Containers/StringMap.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __ASURA_ENGINE_STRINGMAP_H__ -#define __ASURA_ENGINE_STRINGMAP_H__ - -#include "String.h" - -namespace AsuraEngine -{ - namespace Containers - { - - /// - /// һ˫һһӦӳ䣬shader uniformsstatemathine state parameterID - /// - template<typename key_type> - class StringMap - { - public: - - bool ContainsKey(const key_type& key); - - bool ContainsString(const String& str); - - String GetStringByKey(const key_type& key); - - key_type GetKeyByString(const String& str); - - }; - - } -} - -#endif
\ No newline at end of file diff --git a/Source/Asura.Engine/Graphics/Image.h b/Source/Asura.Engine/Graphics/Image.h index 503baab..e84dd6c 100644 --- a/Source/Asura.Engine/Graphics/Image.h +++ b/Source/Asura.Engine/Graphics/Image.h @@ -1,9 +1,9 @@ #ifndef __ASURA_ENGINE_IMAGE_H__ #define __ASURA_ENGINE_IMAGE_H__ -#include "Containers/StringMap.hpp" -#include "Containers/String.h" -#include "Containers/Map.h" +#include "StringMap.hpp" +#include "String.h" +#include "Map.h" #include "Math/Vector2.h" #include "Manager.hpp" #include "Texture.h" @@ -57,69 +57,6 @@ namespace AsuraEngine }; - /// - /// - /// - class ImageManager : public Manager - { - public: - - /// - /// ͨIDȡ·dzͼƬString::Null - /// - Containers::String GetImagePath(uint ID); - - /// - /// ͨID·ȡIDûҵ0 - /// - uint GetImageID(const Containers::String& path); - - Image* GetImage(const Containers::String& path); - - Image* GetImage(const Containers::String& ID); - - uint AddImage(const Containers::String& path, Image* image); - - uint AddImage(Image* image); - - bool RemoveImage(uint ID); - - bool RemoveImage(Image* image); - - private: - - /// - /// еimage - /// - Containers::Map<uint, Image*> mImages; - - /// - /// image·IDӳ䡣Դ.asrimageͨ·õimageԲеimageڴmapС - /// imageֻͨIDȡԳҪID - /// - Containers::StringMap<uint> mImageIDs; - - }; - - /// - /// - /// - class ImageFactory : public Factory - { - public: - - /// - /// image pixelйimage - /// - Image* ReadBuffer(Color* pixels, int width, int height); - - /// - /// image externݲ - /// - Image* Decode(); - - }; - } } diff --git a/Source/Asura.Engine/Graphics/Shader.h b/Source/Asura.Engine/Graphics/Shader.h index aa5bd53..e15c6e0 100644 --- a/Source/Asura.Engine/Graphics/Shader.h +++ b/Source/Asura.Engine/Graphics/Shader.h @@ -3,8 +3,8 @@ #include "luax/luax.h" -#include "Containers/Map.h" -#include "Containers/StringMap.hpp" +#include "Map.h" +#include "StringMap.hpp" #include "Object.h" #include "Color.h" #include "Manager.hpp" @@ -33,12 +33,12 @@ namespace AsuraEngine /// /// shaderuniformsIDӳ䡣 /// - static Containers::StringMap<int> sUniformsID; + static StringMap<int> sUniformsID; /// /// uniformID /// - static int GetUniformID(const Containers::String& name); + static int GetUniformID(const String& name); /// /// ñ @@ -51,7 +51,7 @@ namespace AsuraEngine /// /// ӳuniforms IDlocation /// - Containers::Map<int, int> mLocations; + Map<int, int> mLocations; }; diff --git a/Source/Asura.Engine/Containers/Map.cpp b/Source/Asura.Engine/Map.cpp index e69de29..e69de29 100644 --- a/Source/Asura.Engine/Containers/Map.cpp +++ b/Source/Asura.Engine/Map.cpp diff --git a/Source/Asura.Engine/Map.h b/Source/Asura.Engine/Map.h new file mode 100644 index 0000000..3c538d4 --- /dev/null +++ b/Source/Asura.Engine/Map.h @@ -0,0 +1,14 @@ +#ifndef __ASURA_ENGINE_MAP_H__ +#define __ASURA_ENGINE_MAP_H__ + +#include <map> + +namespace AsuraEngine +{ + + template<typename key_type, typename value_type> + using Map = std::map<key_type, value_type>; + +} + +#endif
\ No newline at end of file diff --git a/Source/Asura.Engine/Containers/Stack.cpp b/Source/Asura.Engine/Stack.cpp index e69de29..e69de29 100644 --- a/Source/Asura.Engine/Containers/Stack.cpp +++ b/Source/Asura.Engine/Stack.cpp diff --git a/Source/Asura.Engine/Containers/Stack.h b/Source/Asura.Engine/Stack.h index e69de29..e69de29 100644 --- a/Source/Asura.Engine/Containers/Stack.h +++ b/Source/Asura.Engine/Stack.h diff --git a/Source/Asura.Engine/Containers/String.cpp b/Source/Asura.Engine/String.cpp index e69de29..e69de29 100644 --- a/Source/Asura.Engine/Containers/String.cpp +++ b/Source/Asura.Engine/String.cpp diff --git a/Source/Asura.Engine/String.h b/Source/Asura.Engine/String.h new file mode 100644 index 0000000..6d0ec3a --- /dev/null +++ b/Source/Asura.Engine/String.h @@ -0,0 +1,75 @@ +#ifndef __ASURA_ENGINE_STRING_H__ +#define __ASURA_ENGINE_STRING_H__ + +#include <string> + +namespace AsuraEngine +{ + + /// + /// װstd::string + /// + class String : public std::string + { + public: + inline String() + : std::string() + { + } + + inline String(const std::string& str) + : std::string(str) + { + } + + inline String(const String& str) + : std::string(str) + { + } + + inline String(const char* str) + : std::string(str) + { + } + + inline String& operator = (const String& str) + { + std::string::operator=(str); + return *this; + } + + inline operator const char* () const + { + return this->c_str(); + } + + inline const char* str() const + { + return this->c_str(); + } + + inline String(const String& s2, size_type pos2, size_type len2) + : std::string(s2, pos2, len2) + { + } + + inline String(const char* buf, size_type bufsize) + : std::string(buf, bufsize) + { + } + + inline String(size_type repetitions, char c) + : std::string(repetitions, c) + { + } + + inline int length() const + { + return size(); + } + + }; + +} + +#endif
\ No newline at end of file diff --git a/Source/Asura.Engine/Containers/StringMap.cpp b/Source/Asura.Engine/StringMap.cpp index e69de29..e69de29 100644 --- a/Source/Asura.Engine/Containers/StringMap.cpp +++ b/Source/Asura.Engine/StringMap.cpp diff --git a/Source/Asura.Engine/StringMap.hpp b/Source/Asura.Engine/StringMap.hpp new file mode 100644 index 0000000..92a157f --- /dev/null +++ b/Source/Asura.Engine/StringMap.hpp @@ -0,0 +1,29 @@ +#ifndef __ASURA_ENGINE_STRINGMAP_H__ +#define __ASURA_ENGINE_STRINGMAP_H__ + +#include "String.h" + +namespace AsuraEngine +{ + + /// + /// һ˫һһӦӳ䣬shader uniformsstatemathine state parameterID + /// + template<typename key_type> + class StringMap + { + public: + + bool ContainsKey(const key_type& key); + + bool ContainsString(const String& str); + + String GetStringByKey(const key_type& key); + + key_type GetKeyByString(const String& str); + + }; + +} + +#endif
\ No newline at end of file diff --git a/Source/Asura.Engine/Containers/UnorderedMap.hpp b/Source/Asura.Engine/UnorderedMap.hpp index e69de29..e69de29 100644 --- a/Source/Asura.Engine/Containers/UnorderedMap.hpp +++ b/Source/Asura.Engine/UnorderedMap.hpp diff --git a/Source/Asura.Engine/Containers/Vector.hpp b/Source/Asura.Engine/Vector.hpp index 5824b57..5e35312 100644 --- a/Source/Asura.Engine/Containers/Vector.hpp +++ b/Source/Asura.Engine/Vector.hpp @@ -5,12 +5,10 @@ namespace AsuraEngine { - namespace Containers - { - template<typename T> - using Vector = std::vector<T>; - } + template<typename T> + using Vector = std::vector<T>; + } #endif
\ No newline at end of file diff --git a/Source/Asura.Framework/main.cpp b/Source/Asura.Framework/main.cpp deleted file mode 100644 index e69de29..0000000 --- a/Source/Asura.Framework/main.cpp +++ /dev/null |