diff options
Diffstat (limited to 'source/libs/asura-lib-core')
27 files changed, 99 insertions, 126 deletions
diff --git a/source/libs/asura-lib-core/application.h b/source/libs/asura-lib-core/application.h index 983dbce..b61154d 100644 --- a/source/libs/asura-lib-core/application.h +++ b/source/libs/asura-lib-core/application.h @@ -65,9 +65,9 @@ namespace AsuraEngine private: /// - /// Lua state. + /// ̵߳lua stateӦѭС /// - lua_State* mLuaState; + lua_State* mMainLuaState; /// /// Asura libsᰴն˳ʼ˳ʱִ˳ diff --git a/source/libs/asura-lib-core/graphics/binding/canvas.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_canvas.cpp index e69de29..e69de29 100644 --- a/source/libs/asura-lib-core/graphics/binding/canvas.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_canvas.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/color.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_color.cpp index e69de29..e69de29 100644 --- a/source/libs/asura-lib-core/graphics/binding/color.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_color.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/gif.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_gif.cpp index e69de29..e69de29 100644 --- a/source/libs/asura-lib-core/graphics/binding/gif.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_gif.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/image.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_image.cpp index e69de29..e69de29 100644 --- a/source/libs/asura-lib-core/graphics/binding/image.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_image.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/image_data.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_image_data.cpp index 72e33da..72e33da 100644 --- a/source/libs/asura-lib-core/graphics/binding/image_data.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_image_data.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/mesh2d.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_mesh2d.cpp index e69de29..e69de29 100644 --- a/source/libs/asura-lib-core/graphics/binding/mesh2d.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_mesh2d.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/mesh2d_data.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_mesh2d_data.cpp index 6e15052..6e15052 100644 --- a/source/libs/asura-lib-core/graphics/binding/mesh2d_data.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_mesh2d_data.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/shader.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_shader.cpp index 2f2f507..2f2f507 100644 --- a/source/libs/asura-lib-core/graphics/binding/shader.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_shader.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/sprite_batch.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_sprite_batch.cpp index e69de29..e69de29 100644 --- a/source/libs/asura-lib-core/graphics/binding/sprite_batch.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_sprite_batch.cpp diff --git a/source/libs/asura-lib-core/graphics/binding/window.binding.cpp b/source/libs/asura-lib-core/graphics/binding/_window.cpp index 3befc8c..3befc8c 100644 --- a/source/libs/asura-lib-core/graphics/binding/window.binding.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_window.cpp diff --git a/source/libs/asura-lib-core/graphics/image.h b/source/libs/asura-lib-core/graphics/image.h index 2dd3a4a..d8577ad 100644 --- a/source/libs/asura-lib-core/graphics/image.h +++ b/source/libs/asura-lib-core/graphics/image.h @@ -69,8 +69,10 @@ namespace AsuraEngine LUAX_DECL_METHOD(l_GetSize); }; - + } } +namespace AEGraphics = AsuraEngine::Graphics; + #endif
\ No newline at end of file diff --git a/source/libs/asura-lib-core/graphics/stb_decoder.cpp b/source/libs/asura-lib-core/graphics/stb_decoder.cpp index b14d0f3..a13d6b8 100644 --- a/source/libs/asura-lib-core/graphics/stb_decoder.cpp +++ b/source/libs/asura-lib-core/graphics/stb_decoder.cpp @@ -1,6 +1,6 @@ -#include "STBDecoder.h" +#include <asura-lib-utils/exceptions/exception.h> -#include "Exceptions/Exception.h" +#include "stb_decoder.h" #include "stb/stb_image.h" namespace AsuraEngine diff --git a/source/libs/asura-lib-core/input/cursor.h b/source/libs/asura-lib-core/input/cursor.h index da4a765..a8e53a6 100644 --- a/source/libs/asura-lib-core/input/cursor.h +++ b/source/libs/asura-lib-core/input/cursor.h @@ -4,16 +4,18 @@ #include <SDL2/SDL.h> -#include "Scripting/Portable.h" -#include "Graphics/ImageData.h" -#include "InputDevice.hpp" +#include <asura-lib-utils/scripting/portable.hpp> + +#include "../graphics/image_data.h" + +#include "input_device.hpp" namespace AsuraEngine { namespace Input { - class Cursor : public Scripting::Portable + class Cursor ASURA_FINAL : public AEScripting::Portable<Cursor> { public: @@ -29,6 +31,8 @@ namespace AsuraEngine CursorType GetType() const; SystemCursor GetSystemType() const; + LUAX_DECL_FACTORY(Cursor); + private: SDL_Cursor* mCursorHandle; @@ -36,17 +40,6 @@ namespace AsuraEngine CursorType mType; SystemCursor mSystemType; - public: - - //---------------------------------------------------------------------------------------------------------- - - LUAX_DECL_FACTORY(Cursor); - - LUAX_DECL_ENUM(EnumCursorType); - LUAX_DECL_ENUM(EnumSystemCursor); - - //---------------------------------------------------------------------------------------------------------- - }; } diff --git a/source/libs/asura-lib-core/input/event.h b/source/libs/asura-lib-core/input/event.h new file mode 100644 index 0000000..a24e806 --- /dev/null +++ b/source/libs/asura-lib-core/input/event.h @@ -0,0 +1,45 @@ +#ifndef __ASURA_ENGINE_EVENT_H__ +#define __ASURA_ENGINE_EVENT_H__ + +namespace AsuraEngine +{ + namespace Input + { + + enum EventType + { + EVENT_BEGIN_MOUSE__ , + EVENT_LEFT_DOWN , + EVENT_LEFT_UP , + EVENT_LEFT_DCLICK , + EVENT_MIDDLE_DOWN , + EVENT_MIDDLE_UP , + EVENT_MIDDLE_DCLICK , + EVENT_RIGHT_DOWN , + EVENT_RIGHT_UP , + EVENT_RIGHT_DCLICK , + EVENT_MOTION , + EVENT_END_MOUSE__ , + EVENT_ENTER_WINDOW , + EVENT_LEAVE_WINDOW , + EVENT_MOUSEWHEEL + }; + + struct Event + { + int type; + union + { + // 갴¼ + struct { + int id; + } button; + }; + }; + + } +} + +namespace AEInput = AsuraEngine::Input; + +#endif
\ No newline at end of file diff --git a/source/libs/asura-lib-core/input/input_device.hpp b/source/libs/asura-lib-core/input/input_device.hpp index eb0b7a3..46f5be8 100644 --- a/source/libs/asura-lib-core/input/input_device.hpp +++ b/source/libs/asura-lib-core/input/input_device.hpp @@ -1,9 +1,10 @@ #ifndef __ASURA_ENGINE_INPUT_BASE_H__ #define __ASURA_ENGINE_INPUT_BASE_H__ -#include "Scripting/Portable.h" -#include "Config.h" -#include "Singleton.hpp" +#include <asura-lib-utils/scripting/portable.hpp> + +#include "../core_config.h" +#include "../singleton.hpp" namespace AsuraEngine { @@ -15,7 +16,7 @@ namespace AsuraEngine /// template<class T> ASURA_ABSTRACT class InputDevice - : virtual public Scripting::Portable + : virtual public Scripting::Portable<T> , virtual public Singleton<T> { public: diff --git a/source/libs/asura-lib-core/stringmap.cpp b/source/libs/asura-lib-core/input/joypad.h index e69de29..e69de29 100644 --- a/source/libs/asura-lib-core/stringmap.cpp +++ b/source/libs/asura-lib-core/input/joypad.h diff --git a/source/libs/asura-lib-core/input/mouse.defs b/source/libs/asura-lib-core/input/mouse.defs new file mode 100644 index 0000000..de1d117 --- /dev/null +++ b/source/libs/asura-lib-core/input/mouse.defs @@ -0,0 +1,7 @@ + +enum MouseButton +{ + MOUSE_BUTTON_LEFT, + MOUSE_BUTTON_MIDDLE, + MOUSE_BUTTON_RIGHT, +}; diff --git a/source/libs/asura-lib-core/manager.hpp b/source/libs/asura-lib-core/manager.hpp deleted file mode 100644 index 7b4e272..0000000 --- a/source/libs/asura-lib-core/manager.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef __ASURA_ENGINE_MANAGER_H__ -#define __ASURA_ENGINE_MANAGER_H__ - -namespace AsuraEngine -{ - - class Manager - { - - }; - -} - -#endif
\ No newline at end of file diff --git a/source/libs/asura-lib-core/singleton.hpp b/source/libs/asura-lib-core/singleton.hpp deleted file mode 100644 index 756209a..0000000 --- a/source/libs/asura-lib-core/singleton.hpp +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef __ASURA_SINGLETON_H__ -#define __ASURA_SINGLETON_H__ - -#include "Config.h" - -namespace AsuraEngine -{ - - /// - /// ̳Singletonڵһʵʱʵ֮ٴʵᱨ - /// - template<class T> - class Singleton - { - public: - - static T* Get() - { - // ֮ǰûдһ - if (!instance) instance = new T; - // ʵ - return instance; - } - - static void Destroy() - { - delete instance; - instance = nullptr; - } - - protected: - - Singleton() - { - // instanceζִһʵǴġ - ASSERT(!instance); - // ʵΪʵ - instance = static_cast<T*>(this); - }; - - virtual ~Singleton() {}; - - static T* instance; - - private: - - Singleton(const Singleton& singleton); - - Singleton& operator = (const Singleton& singleton); - - }; - - // ʵʼΪ - template<class T> - T* Singleton<T>::instance = nullptr; - -} - -#endif // __ASURA_SINGLETON_H__
\ No newline at end of file diff --git a/source/libs/asura-lib-core/stringmap.hpp b/source/libs/asura-lib-core/stringmap.hpp deleted file mode 100644 index ddba128..0000000 --- a/source/libs/asura-lib-core/stringmap.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef __ASURA_ENGINE_STRINGMAP_H__ -#define __ASURA_ENGINE_STRINGMAP_H__ - -#include <string> - -namespace AsuraEngine -{ - - /// - /// һ˫һһӦӳ䣬shader uniformsstatemathine state parameterID - /// - template<typename key_type> - class StringMap - { - public: - - bool ContainsKey(const key_type& key); - - bool ContainsString(const String& str); - - std::string GetStringByKey(const key_type& key); - - key_type GetKeyByString(const String& str); - - }; - -} - -#endif
\ No newline at end of file diff --git a/source/libs/asura-lib-core/threading/binding/_coroutine.cpp b/source/libs/asura-lib-core/threading/binding/_coroutine.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/libs/asura-lib-core/threading/binding/_coroutine.cpp diff --git a/source/libs/asura-lib-core/threading/binding/_thread.cpp b/source/libs/asura-lib-core/threading/binding/_thread.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/libs/asura-lib-core/threading/binding/_thread.cpp diff --git a/source/libs/asura-lib-core/threading/coroutine.cpp b/source/libs/asura-lib-core/threading/coroutine.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/libs/asura-lib-core/threading/coroutine.cpp diff --git a/source/libs/asura-lib-core/threading/coroutine.h b/source/libs/asura-lib-core/threading/coroutine.h new file mode 100644 index 0000000..f511e48 --- /dev/null +++ b/source/libs/asura-lib-core/threading/coroutine.h @@ -0,0 +1,27 @@ +#ifndef __ASURA_COROUTINE_H__ +#define __ASURA_COROUTINE_H__ + +#include <asura-lib-utils/scripting/portable.hpp> + +namespace AsuraEngine +{ + namespace Threading + { + + class Coroutine ASURA_FINAL + : public AEScripting::Portable<Coroutine> + { + public: + + LUAX_DECL_FACTORY(Coroutine); + + private: + + + + }; + + } +} + +#endif
\ No newline at end of file diff --git a/source/libs/asura-lib-core/threading/thread.cpp b/source/libs/asura-lib-core/threading/thread.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/libs/asura-lib-core/threading/thread.cpp diff --git a/source/libs/asura-lib-core/threading/thread.h b/source/libs/asura-lib-core/threading/thread.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/source/libs/asura-lib-core/threading/thread.h |