从master上移除vs2010支持

This commit is contained in:
Nomango 2018-04-24 20:22:41 +08:00
parent 47b63b70b3
commit 52bfa595ad
23 changed files with 124 additions and 961 deletions

View File

@ -5,7 +5,7 @@ e2d::ActionSequence::ActionSequence()
{
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
e2d::ActionSequence::ActionSequence(const InitList<Action*>& vActions)
: m_nActionIndex(0)
{
@ -37,7 +37,7 @@ void e2d::ActionSequence::_init()
// ½«ËùÓж¯×÷ÓëÄ¿±ê°ó¶¨
if (m_pTarget)
{
FOR_LOOP(action, m_vActions)
for (auto action : m_vActions)
{
action->m_pTarget = m_pTarget;
}
@ -49,7 +49,7 @@ void e2d::ActionSequence::_init()
void e2d::ActionSequence::destroy()
{
Action::destroy();
FOR_LOOP(action, m_vActions)
for (auto action : m_vActions)
{
SafeRelease(&action);
}
@ -79,7 +79,7 @@ void e2d::ActionSequence::_update()
void e2d::ActionSequence::reset()
{
Action::reset();
FOR_LOOP(action, m_vActions)
for (auto action : m_vActions)
{
action->reset();
}
@ -88,7 +88,7 @@ void e2d::ActionSequence::reset()
void e2d::ActionSequence::_resetTime()
{
FOR_LOOP(action, m_vActions)
for (auto action : m_vActions)
{
action->_resetTime();
}
@ -103,7 +103,7 @@ void e2d::ActionSequence::add(Action * action)
}
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
void e2d::ActionSequence::add(const InitList<Action*>& vActions)
{
for (const auto &action : vActions)
@ -129,7 +129,7 @@ void e2d::ActionSequence::add(int number, Action * action, ...)
e2d::ActionSequence * e2d::ActionSequence::clone() const
{
auto a = new ActionSequence();
FOR_LOOP(action, m_vActions)
for (auto action : m_vActions)
{
a->add(action->clone());
}
@ -139,7 +139,7 @@ e2d::ActionSequence * e2d::ActionSequence::clone() const
e2d::ActionSequence * e2d::ActionSequence::reverse(bool actionReverse) const
{
auto a = new ActionSequence();
FOR_LOOP(action, m_vActions)
for (auto action : m_vActions)
{
if (actionReverse)
{

View File

@ -12,7 +12,7 @@ e2d::Animation::Animation(double interval)
{
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
e2d::Animation::Animation(const InitList<Image*>& vImages)
: m_nFrameIndex(0)
@ -112,7 +112,7 @@ void e2d::Animation::reset()
void e2d::Animation::destroy()
{
Action::destroy();
FOR_LOOP(frame, m_vFrames)
for (auto frame : m_vFrames)
{
SafeRelease(&frame);
}
@ -127,7 +127,7 @@ void e2d::Animation::add(Image * frame)
}
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
void e2d::Animation::add(const InitList<Image*>& vImages)
{
for (const auto &image : vImages)
@ -153,7 +153,7 @@ void e2d::Animation::add(int number, Image * frame, ...)
e2d::Animation * e2d::Animation::clone() const
{
auto a = new Animation(m_fInterval);
FOR_LOOP(frame, m_vFrames)
for (auto frame : m_vFrames)
{
a->add(frame);
}

View File

@ -1,4 +1,19 @@
#include "..\e2dbase.h"
#include <thread>
#include <chrono>
using namespace std::chrono;
// 游戏开始时间
static steady_clock::time_point s_tStart;
// 当前时间
static steady_clock::time_point s_tNow;
// 上一帧刷新时间
static steady_clock::time_point s_tFixedUpdate;
// 上一次更新时间
static steady_clock::time_point s_tLastUpdate;
// 每一帧间隔
static milliseconds s_tExceptedInvertal;
// 上一帧与当前帧的时间间隔
static unsigned int s_nInterval = 0;
@ -26,26 +41,6 @@ unsigned int e2d::Time::getDeltaTimeMilliseconds()
return s_nInterval;
}
#if HIGHER_THAN_VS2010
#include <thread>
#include <chrono>
using namespace std::chrono;
// 游戏开始时间
static steady_clock::time_point s_tStart;
// 当前时间
static steady_clock::time_point s_tNow;
// 上一帧刷新时间
static steady_clock::time_point s_tFixedUpdate;
// 上一次更新时间
static steady_clock::time_point s_tLastUpdate;
// 每一帧间隔
static milliseconds s_tExceptedInvertal;
bool e2d::Time::__init()
{
s_tStart = s_tLastUpdate = s_tFixedUpdate = s_tNow = steady_clock::now();
@ -89,73 +84,3 @@ void e2d::Time::__sleep()
std::this_thread::sleep_for(milliseconds(nWaitMS));
}
}
#else
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
// 时钟频率
static LARGE_INTEGER s_tFreq;
// 游戏开始时间
static LARGE_INTEGER s_tStart;
// 当前时间
static LARGE_INTEGER s_tNow;
// 上一帧刷新时间
static LARGE_INTEGER s_tFixedUpdate;
// 上一次更新时间
static LARGE_INTEGER s_tLastUpdate;
// 每一帧间隔
static LONGLONG s_tExceptedInvertal;
bool e2d::Time::__init()
{
::timeBeginPeriod(1); // 修改时间精度
::QueryPerformanceFrequency(&s_tFreq); // 获取时钟频率
::QueryPerformanceCounter(&s_tNow); // 刷新当前时间
s_tStart = s_tLastUpdate = s_tFixedUpdate = s_tNow;
s_tExceptedInvertal = 15LL * s_tFreq.QuadPart / 1000LL;
return true;
}
void e2d::Time::__uninit()
{
::timeEndPeriod(1); // 重置时间精度
}
bool e2d::Time::__isReady()
{
return s_tExceptedInvertal < (s_tNow.QuadPart - s_tFixedUpdate.QuadPart);
}
void e2d::Time::__updateNow()
{
::QueryPerformanceCounter(&s_tNow);
}
void e2d::Time::__updateLast()
{
s_tFixedUpdate.QuadPart += s_tExceptedInvertal;
s_tLastUpdate = s_tNow;
::QueryPerformanceCounter(&s_tNow);
s_nInterval = static_cast<unsigned int>((s_tNow.QuadPart - s_tLastUpdate.QuadPart) * 1000LL / s_tFreq.QuadPart);
s_nTotalTime = static_cast<unsigned int>((s_tNow.QuadPart - s_tStart.QuadPart) * 1000LL / s_tFreq.QuadPart);
}
void e2d::Time::__sleep()
{
// 计算挂起时长
int nWaitMS = 16 - static_cast<int>((s_tNow.QuadPart - s_tFixedUpdate.QuadPart) * 1000LL / s_tFreq.QuadPart);
// 挂起线程,释放 CPU 占用
if (nWaitMS > 1)
{
::Sleep(nWaitMS);
}
}
#endif

View File

@ -52,7 +52,7 @@ void e2d::Scene::add(Node * child, int order /* = 0 */)
m_pRoot->addChild(child, order);
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
void e2d::Scene::add(const InitList<Node*>& vNodes, int order)
{
for (const auto &node : vNodes)

View File

@ -49,44 +49,28 @@ e2d::String & e2d::String::operator=(const char *cstr)
e2d::String e2d::String::parse(int value)
{
String tmp;
#if HIGHER_THAN_VS2010
tmp.m_str = std::to_wstring(value);
#else
tmp.m_str = std::to_wstring(static_cast<long long>(value));
#endif
return std::move(tmp);
}
e2d::String e2d::String::parse(unsigned int value)
{
String tmp;
#if HIGHER_THAN_VS2010
tmp.m_str = std::to_wstring(value);
#else
tmp.m_str = std::to_wstring(static_cast<long long>(value));
#endif
return std::move(tmp);
}
e2d::String e2d::String::parse(float value)
{
String tmp;
#if HIGHER_THAN_VS2010
tmp.m_str = std::to_wstring(value);
#else
tmp.m_str = std::to_wstring(static_cast<long double>(value));
#endif
return std::move(tmp);
}
e2d::String e2d::String::parse(double value)
{
String tmp;
#if HIGHER_THAN_VS2010
tmp.m_str = std::to_wstring(value);
#else
tmp.m_str = std::to_wstring(static_cast<long double>(value));
#endif
return std::move(tmp);
}

View File

@ -37,7 +37,7 @@ void e2d::ActionManager::__add(Action * pAction)
{
if (pAction)
{
FOR_LOOP(action, s_vActions)
for (auto action : s_vActions)
{
if (action == pAction)
{
@ -76,7 +76,7 @@ void e2d::ActionManager::__resumeAllBindedWith(Node * pTargetNode)
{
if (pTargetNode)
{
FOR_LOOP(action, s_vRunningActions)
for (auto action : s_vRunningActions)
{
if (action->getTarget() == pTargetNode)
{
@ -90,7 +90,7 @@ void e2d::ActionManager::__pauseAllBindedWith(Node * pTargetNode)
{
if (pTargetNode)
{
FOR_LOOP(action, s_vRunningActions)
for (auto action : s_vRunningActions)
{
if (action->getTarget() == pTargetNode)
{
@ -104,7 +104,7 @@ void e2d::ActionManager::__stopAllBindedWith(Node * pTargetNode)
{
if (pTargetNode)
{
FOR_LOOP(action, s_vRunningActions)
for (auto action : s_vRunningActions)
{
if (action->getTarget() == pTargetNode)
{
@ -116,7 +116,7 @@ void e2d::ActionManager::__stopAllBindedWith(Node * pTargetNode)
void e2d::ActionManager::resume(String strActionName)
{
FOR_LOOP(action, s_vRunningActions)
for (auto action : s_vRunningActions)
{
if (action->getName() == strActionName)
{
@ -127,7 +127,7 @@ void e2d::ActionManager::resume(String strActionName)
void e2d::ActionManager::pause(String strActionName)
{
FOR_LOOP(action, s_vRunningActions)
for (auto action : s_vRunningActions)
{
if (action->getName() == strActionName)
{
@ -138,7 +138,7 @@ void e2d::ActionManager::pause(String strActionName)
void e2d::ActionManager::stop(String strActionName)
{
FOR_LOOP(action, s_vRunningActions)
for (auto action : s_vRunningActions)
{
if (action->getName() == strActionName)
{
@ -169,9 +169,9 @@ void e2d::ActionManager::__clearAllBindedWith(Node * pTargetNode)
void e2d::ActionManager::__uninit()
{
FOR_LOOP(child, s_vActions)
for (auto action : s_vRunningActions)
{
SafeRelease(&child);
SafeRelease(&action);
}
s_vActions.clear();
s_vRunningActions.clear();
@ -179,7 +179,7 @@ void e2d::ActionManager::__uninit()
void e2d::ActionManager::resumeAll()
{
FOR_LOOP(child, SceneManager::getCurrentScene()->getRoot()->getAllChildren())
for (auto child : SceneManager::getCurrentScene()->getRoot()->getAllChildren())
{
ActionManager::__resumeAllBindedWith(child);
}
@ -187,7 +187,7 @@ void e2d::ActionManager::resumeAll()
void e2d::ActionManager::pauseAll()
{
FOR_LOOP(child, SceneManager::getCurrentScene()->getRoot()->getAllChildren())
for (auto child : SceneManager::getCurrentScene()->getRoot()->getAllChildren())
{
ActionManager::__pauseAllBindedWith(child);
}
@ -195,7 +195,7 @@ void e2d::ActionManager::pauseAll()
void e2d::ActionManager::stopAll()
{
FOR_LOOP(child, SceneManager::getCurrentScene()->getRoot()->getAllChildren())
for (auto child : SceneManager::getCurrentScene()->getRoot()->getAllChildren())
{
ActionManager::__stopAllBindedWith(child);
}
@ -204,7 +204,7 @@ void e2d::ActionManager::stopAll()
std::vector<e2d::Action*> e2d::ActionManager::get(String strActionName)
{
std::vector<Action*> vActions;
FOR_LOOP(action, s_vActions)
for (auto action : s_vActions)
{
if (action->getName() == strActionName)
{
@ -221,7 +221,7 @@ std::vector<e2d::Action*> e2d::ActionManager::getAll()
void e2d::ActionManager::__resetAll()
{
FOR_LOOP(action, s_vRunningActions)
for (auto action : s_vRunningActions)
{
action->_resetTime();
}

View File

@ -105,7 +105,7 @@ void e2d::ColliderManager::__updateCollider(e2d::Collider * pActiveCollider)
auto IsCollideWith = [](Node * active, Node * passive) -> bool
{
unsigned int hash = passive->getHashName();
FOR_LOOP(collider, active->m_vColliders)
for (auto collider : active->m_vColliders)
if (collider == hash)
return true;
return false;
@ -141,7 +141,7 @@ void e2d::ColliderManager::add(Function func, String name, bool paused)
void e2d::ColliderManager::pause(String name)
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
if (pListener->name == name)
{
@ -152,7 +152,7 @@ void e2d::ColliderManager::pause(String name)
void e2d::ColliderManager::resume(String name)
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
if (pListener->name == name)
{
@ -163,7 +163,7 @@ void e2d::ColliderManager::resume(String name)
void e2d::ColliderManager::stop(String name)
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
if (pListener->name == name)
{
@ -174,7 +174,7 @@ void e2d::ColliderManager::stop(String name)
void e2d::ColliderManager::pauseAll()
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
pListener->running = false;
}
@ -182,7 +182,7 @@ void e2d::ColliderManager::pauseAll()
void e2d::ColliderManager::resumeAll()
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
pListener->running = true;
}
@ -190,7 +190,7 @@ void e2d::ColliderManager::resumeAll()
void e2d::ColliderManager::stopAll()
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
pListener->stopped = true;
}
@ -256,7 +256,7 @@ void e2d::ColliderManager::__removeCollider(Collider * pCollider)
void e2d::ColliderManager::__uninit()
{
FOR_LOOP(listener, s_vListeners)
for (auto listener : s_vListeners)
{
delete listener;
}

View File

@ -45,7 +45,7 @@ void e2d::InputManager::add(Function func, String name, bool paused)
void e2d::InputManager::pause(String name)
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
if (pListener->name == name)
{
@ -56,7 +56,7 @@ void e2d::InputManager::pause(String name)
void e2d::InputManager::resume(String name)
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
if (pListener->name == name)
{
@ -67,7 +67,7 @@ void e2d::InputManager::resume(String name)
void e2d::InputManager::stop(String name)
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
if (pListener->name == name)
{
@ -78,7 +78,7 @@ void e2d::InputManager::stop(String name)
void e2d::InputManager::pauseAll()
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
pListener->running = false;
}
@ -86,7 +86,7 @@ void e2d::InputManager::pauseAll()
void e2d::InputManager::resumeAll()
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
pListener->running = true;
}
@ -94,7 +94,7 @@ void e2d::InputManager::resumeAll()
void e2d::InputManager::stopAll()
{
FOR_LOOP(pListener, s_vListeners)
for (auto pListener : s_vListeners)
{
pListener->stopped = true;
}
@ -125,7 +125,7 @@ void e2d::InputManager::__update()
void e2d::InputManager::__uninit()
{
FOR_LOOP(listener, s_vListeners)
for (auto listener : s_vListeners)
{
delete listener;
}

View File

@ -96,34 +96,34 @@ e2d::Music * e2d::MusicManager::get(String strFilePath)
void e2d::MusicManager::pauseAll()
{
for (auto iter = GetMusicList().begin(); iter != GetMusicList().end(); iter++)
for (auto pair : GetMusicList())
{
(*iter).second->pause();
pair.second->pause();
}
}
void e2d::MusicManager::resumeAll()
{
for (auto iter = GetMusicList().begin(); iter != GetMusicList().end(); iter++)
for (auto pair : GetMusicList())
{
(*iter).second->resume();
pair.second->resume();
}
}
void e2d::MusicManager::stopAll()
{
for (auto iter = GetMusicList().begin(); iter != GetMusicList().end(); iter++)
for (auto pair : GetMusicList())
{
(*iter).second->stop();
pair.second->stop();
}
}
void e2d::MusicManager::__uninit()
{
for (auto iter = GetMusicList().begin(); iter != GetMusicList().end(); iter++)
for (auto pair : GetMusicList())
{
(*iter).second->close();
(*iter).second->release();
pair.second->close();
pair.second->release();
}
GetMusicList().clear();
}

View File

@ -37,7 +37,7 @@ void e2d::ObjectManager::__update()
void e2d::ObjectManager::__clear()
{
FOR_LOOP(pObj, s_vObjectPool)
for (auto pObj : s_vObjectPool)
{
delete pObj;
}

View File

@ -5,11 +5,11 @@ e2d::Menu::Menu()
{
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
e2d::Menu::Menu(const InitList<Button*>& vButtons)
: m_bEnable(true)
{
FOR_LOOP(button, vButtons)
for (auto button : vButtons)
{
this->addButton(button);
}
@ -47,7 +47,7 @@ void e2d::Menu::setEnable(bool enable)
{
m_bEnable = enable;
FOR_LOOP(button, m_vButtons)
for (auto button : m_vButtons)
{
button->setEnable(enable);
}

View File

@ -167,7 +167,7 @@ void e2d::Node::_drawCollider()
}
// 绘制所有子节点的几何碰撞体
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
child->_drawCollider();
}
@ -180,7 +180,7 @@ void e2d::Node::_onEnter()
this->m_bDisplayedInScene = true;
this->onEnter();
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
child->_onEnter();
}
@ -194,7 +194,7 @@ void e2d::Node::_onExit()
this->m_bDisplayedInScene = false;
this->onExit();
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
child->_onExit();
}
@ -243,7 +243,7 @@ void e2d::Node::_updateTransform()
// 标志已执行过变换
m_bTransformNeeded = false;
// 遍历子节点下的所有节点
FOR_LOOP(child, this->m_vChildren)
for (auto child : this->m_vChildren)
{
child->_updateTransform();
}
@ -255,7 +255,7 @@ void e2d::Node::_updateOpacity()
{
m_fDisplayOpacity = m_fRealOpacity * m_pParent->m_fDisplayOpacity;
}
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
child->_updateOpacity();
}
@ -616,7 +616,7 @@ void e2d::Node::addColliableName(String collliderName)
m_vColliders.insert(hash);
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
void e2d::Node::addColliableName(const InitList<String>& vCollliderName)
{
for (const auto &name : vCollliderName)
@ -672,7 +672,7 @@ void e2d::Node::addChild(Node * child, int order /* = 0 */)
}
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
void e2d::Node::addChild(const InitList<Node*>& vNodes, int order)
{
for (const auto &node : vNodes)
@ -697,7 +697,7 @@ std::vector<e2d::Node*> e2d::Node::getChildren(String name) const
std::vector<Node*> vChildren;
unsigned int hash = name.getHashCode();
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
// 不同的名称可能会有相同的 Hash 值,但是先比较 Hash 可以提升搜索速度
if (child->m_nHashName == hash && child->m_sName == name)
@ -712,7 +712,7 @@ e2d::Node * e2d::Node::getChild(String name) const
{
unsigned int hash = name.getHashCode();
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
// 不同的名称可能会有相同的 Hash 值,但是先比较 Hash 可以提升搜索速度
if (child->m_nHashName == hash && child->m_sName == name)
@ -813,7 +813,7 @@ void e2d::Node::removeChildren(String childName)
void e2d::Node::clearAllChildren()
{
// 所有节点的引用计数减一
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
if (child->m_bDisplayedInScene)
{
@ -849,7 +849,7 @@ void e2d::Node::runAction(Action * action)
void e2d::Node::resumeAction(String strActionName)
{
auto actions = ActionManager::get(strActionName);
FOR_LOOP(action, actions)
for (auto action : actions)
{
if (action->getTarget() == this)
{
@ -861,7 +861,7 @@ void e2d::Node::resumeAction(String strActionName)
void e2d::Node::pauseAction(String strActionName)
{
auto actions = ActionManager::get(strActionName);
FOR_LOOP(action, actions)
for (auto action : actions)
{
if (action->getTarget() == this)
{
@ -873,7 +873,7 @@ void e2d::Node::pauseAction(String strActionName)
void e2d::Node::stopAction(String strActionName)
{
auto actions = ActionManager::get(strActionName);
FOR_LOOP(action, actions)
for (auto action : actions)
{
if (action->getTarget() == this)
{
@ -885,7 +885,7 @@ void e2d::Node::stopAction(String strActionName)
e2d::Action * e2d::Node::getAction(String strActionName)
{
auto actions = ActionManager::get(strActionName);
FOR_LOOP(action, actions)
for (auto action : actions)
{
if (action->getTarget() == this)
{
@ -1031,7 +1031,7 @@ void e2d::Node::destroy()
{
ActionManager::__clearAllBindedWith(this);
ColliderManager::__removeCollider(m_pCollider);
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
SafeRelease(&child);
}
@ -1073,7 +1073,7 @@ void e2d::Node::setName(String name)
void e2d::Node::_setParentScene(Scene * scene)
{
m_pParentScene = scene;
FOR_LOOP(child, m_vChildren)
for (auto child : m_vChildren)
{
child->_setParentScene(scene);
}

View File

@ -3,8 +3,6 @@
using namespace e2d;
#if HIGHER_THAN_VS2010
#ifndef SAFE_DELETE
#define SAFE_DELETE(p) { if (p) { delete (p); (p)=nullptr; } }
#endif
@ -536,221 +534,3 @@ bool Music::_findMediaFileCch(wchar_t* strDestPath, int cchDest, const wchar_t *
}
#else
#define MUSIC_CLASS_NAME L"Easy2DMusicCallbackWnd"
static HINSTANCE s_hInstance = nullptr;
bool e2d::Music::__init()
{
s_hInstance = HINST_THISCOMPONENT;
WNDCLASS wc;
wc.style = 0;
wc.lpfnWndProc = Music::MusicProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = s_hInstance;
wc.hIcon = 0;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = MUSIC_CLASS_NAME;
if (!RegisterClass(&wc) && 1410 != GetLastError())
{
return false;
}
return true;
}
e2d::Music::Music()
: m_wnd(NULL)
, m_dev(0L)
, m_nMusicID(0)
, m_bPlaying(false)
, m_nRepeatTimes(0)
{
m_wnd = CreateWindowEx(
WS_EX_APPWINDOW,
MUSIC_CLASS_NAME,
NULL,
WS_POPUPWINDOW,
0, 0, 0, 0,
NULL,
NULL,
s_hInstance,
NULL);
if (m_wnd)
{
SetWindowLongPtr(m_wnd, GWLP_USERDATA, (LONG_PTR)this);
}
}
e2d::Music::~Music()
{
close();
DestroyWindow(m_wnd);
}
bool e2d::Music::open(String pFileName)
{
if (pFileName.isEmpty())
return false;
close();
MCI_OPEN_PARMS mciOpen = { 0 };
mciOpen.lpstrDeviceType = 0;
mciOpen.lpstrElementName = pFileName;
MCIERROR mciError;
mciError = mciSendCommand(
0,
MCI_OPEN,
MCI_OPEN_ELEMENT,
reinterpret_cast<DWORD_PTR>(&mciOpen)
);
if (mciError == 0)
{
m_dev = mciOpen.wDeviceID;
m_nMusicID = pFileName.getHashCode();
m_bPlaying = false;
return true;
}
return false;
}
bool e2d::Music::play(int nLoopCount)
{
if (!m_dev)
{
return false;
}
MCI_PLAY_PARMS mciPlay = { 0 };
mciPlay.dwCallback = reinterpret_cast<DWORD_PTR>(m_wnd);
// 播放声音
MCIERROR mciError = mciSendCommand(
m_dev,
MCI_PLAY,
MCI_FROM | MCI_NOTIFY,
reinterpret_cast<DWORD_PTR>(&mciPlay)
);
if (!mciError)
{
m_bPlaying = true;
m_nRepeatTimes = nLoopCount;
return true;
}
return false;
}
void e2d::Music::close()
{
if (m_bPlaying)
{
stop();
}
if (m_dev)
{
_sendCommand(MCI_CLOSE);
}
m_dev = 0;
m_bPlaying = false;
}
void e2d::Music::pause()
{
_sendCommand(MCI_PAUSE);
m_bPlaying = false;
}
void e2d::Music::resume()
{
_sendCommand(MCI_RESUME);
m_bPlaying = true;
}
void e2d::Music::stop()
{
_sendCommand(MCI_STOP);
m_bPlaying = false;
}
bool e2d::Music::isPlaying() const
{
return m_bPlaying;
}
double Music::getVolume() const
{
return 1.0f;
}
bool Music::setVolume(double fVolume)
{
return false;
}
double Music::getFrequencyRatio() const
{
return 1.0f;
}
bool Music::setFrequencyRatio(double fFrequencyRatio)
{
return false;
}
void e2d::Music::_sendCommand(int nCommand, DWORD_PTR param1, DWORD_PTR parma2)
{
// 空设备时忽略这次操作
if (!m_dev)
{
return;
}
// 向当前设备发送操作
mciSendCommand(m_dev, nCommand, param1, parma2);
}
LRESULT WINAPI e2d::Music::MusicProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
e2d::Music * pPlayer = NULL;
if (Msg == MM_MCINOTIFY
&& wParam == MCI_NOTIFY_SUCCESSFUL
&& (pPlayer = (Music *)GetWindowLongPtr(hWnd, GWLP_USERDATA)))
{
if (pPlayer->m_nRepeatTimes > 0)
{
pPlayer->m_nRepeatTimes--;
}
if (pPlayer->m_nRepeatTimes)
{
mciSendCommand(static_cast<MCIDEVICEID>(lParam), MCI_SEEK, MCI_SEEK_TO_START, 0);
MCI_PLAY_PARMS mciPlay = { 0 };
mciPlay.dwCallback = reinterpret_cast<DWORD_PTR>(hWnd);
mciSendCommand(static_cast<MCIDEVICEID>(lParam), MCI_PLAY, MCI_NOTIFY, reinterpret_cast<DWORD_PTR>(&mciPlay));
}
else
{
pPlayer->m_bPlaying = false;
return 0;
}
}
return DefWindowProc(hWnd, Msg, wParam, lParam);
}
#endif

View File

@ -84,7 +84,7 @@ void e2d::Timer::startOnce(Function func, double timeOut)
void e2d::Timer::pause(String name)
{
FOR_LOOP(timer, s_vTimers)
for (auto timer : s_vTimers)
{
if (timer->name == name)
{
@ -95,7 +95,7 @@ void e2d::Timer::pause(String name)
void e2d::Timer::resume(String name)
{
FOR_LOOP(timer, s_vTimers)
for (auto timer : s_vTimers)
{
if (timer->name == name)
{
@ -106,7 +106,7 @@ void e2d::Timer::resume(String name)
void e2d::Timer::stop(String name)
{
FOR_LOOP(timer, s_vTimers)
for (auto timer : s_vTimers)
{
if (timer->name == name)
{
@ -117,7 +117,7 @@ void e2d::Timer::stop(String name)
void e2d::Timer::pauseAll()
{
FOR_LOOP(timer, s_vTimers)
for (auto timer : s_vTimers)
{
timer->running = false;
}
@ -125,7 +125,7 @@ void e2d::Timer::pauseAll()
void e2d::Timer::resumeAll()
{
FOR_LOOP(timer, s_vTimers)
for (auto timer : s_vTimers)
{
timer->running = true;
}
@ -133,7 +133,7 @@ void e2d::Timer::resumeAll()
void e2d::Timer::stopAll()
{
FOR_LOOP(timer, s_vTimers)
for (auto timer : s_vTimers)
{
timer->stopped = true;
}
@ -168,7 +168,7 @@ void e2d::Timer::__update()
void e2d::Timer::__resetAll()
{
FOR_LOOP(timer, s_vTimers)
for (auto timer : s_vTimers)
{
timer->lastTime = Time::getTotalTime();
}
@ -176,7 +176,7 @@ void e2d::Timer::__resetAll()
void e2d::Timer::__uninit()
{
FOR_LOOP(timer, s_vTimers)
for (auto timer : s_vTimers)
{
delete timer;
}

View File

@ -406,7 +406,7 @@ public:
// 创建顺序动作
ActionSequence();
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 创建顺序动作
ActionSequence(
const InitList<Action*>& vActions /* 动作数组 */
@ -427,7 +427,7 @@ public:
Action * action
);
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 在结尾添加多个动作
void add(
const InitList<Action*>& vActions /* 动作数组 */
@ -545,7 +545,7 @@ public:
double interval /* 帧间隔(秒) */
);
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 创建帧动画
Animation(
const InitList<Image*>& vImages /* 关键帧数组 */
@ -580,7 +580,7 @@ public:
Image * frame /* 关键帧 */
);
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 添加多个关键帧
void add(
const InitList<Image*>& vImages /* 关键帧数组 */
@ -797,7 +797,7 @@ namespace e2d
return new (std::nothrow) ActionFunc(func);
}
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 创建顺序动作
inline e2d::ActionSequence* Sequence(
const InitList<Action*>& vActions /* 动作数组 */

View File

@ -11,7 +11,7 @@ namespace e2d
{
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 初始化列表
template <typename T>
@ -727,7 +727,7 @@ public:
int zOrder = 0 /* 渲染顺序 */
);
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 添加多个节点到场景
virtual void add(
const InitList<Node*>& vNodes, /* 节点数组 */

View File

@ -28,18 +28,6 @@
#define INITGUID
#if _MSC_VER > 1700
#define HIGHER_THAN_VS2012 1
#else
#define HIGHER_THAN_VS2012 0
#endif
#if _MSC_VER > 1600
#define HIGHER_THAN_VS2010 1
#else
#define HIGHER_THAN_VS2010 0
#endif
// Windows Header Files
#include <windows.h>
#include <wincodec.h>
@ -48,6 +36,7 @@
#include <dwrite.h>
#include <dinput.h>
#include <d2d1helper.h>
#include <xaudio2.h>
// C RunTime Header Files
#include <stdio.h>
@ -58,11 +47,7 @@
#pragma comment(lib, "dwrite.lib")
#pragma comment(lib, "windowscodecs.lib")
#pragma comment(lib, "winmm.lib")
#if HIGHER_THAN_VS2010
#include <xaudio2.h>
#pragma comment(lib, "xaudio2.lib")
#endif
#ifndef HINST_THISCOMPONENT
@ -88,9 +73,16 @@ EXTERN_C IMAGE_DOS_HEADER __ImageBase;
#endif
#if HIGHER_THAN_VS2010
#define FOR_LOOP(i, container) for (auto i : (container))
#if _MSC_VER > 1700
#ifndef HIGHER_THAN_VS2012
#define HIGHER_THAN_VS2012
#endif
#else
#define FOR_LOOP(i, container) auto i = (container.begin() == container.end()) ? NULL : (*(container.begin())); \
for (auto __iter__=(container.begin()); (__iter__ != (container.end())) && (i = (*__iter__)); __iter__++)
#endif
#ifdef HIGHER_THAN_VS2012
#undef HIGHER_THAN_VS2012
#endif
#endif

View File

@ -339,7 +339,7 @@ public:
String collliderName
);
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 添加多个可碰撞节点的名称
virtual void addColliableName(
const InitList<String>& vCollliderName /* 名称数组 */
@ -357,7 +357,7 @@ public:
int order = 0 /* 渲染顺序 */
);
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 添加多个子节点
virtual void addChild(
const InitList<Node*>& vNodes, /* 节点数组 */
@ -942,7 +942,7 @@ public:
// 创建空菜单
Menu();
#if HIGHER_THAN_VS2012
#ifdef HIGHER_THAN_VS2012
// 创建菜单
Menu(
const InitList<Button*>& vButtons /* 按钮数组 */

View File

@ -108,14 +108,6 @@ public:
double fFrequencyRatio /* 频率比范围为 1/1024.0f ~ 1024.0f,其中 1.0 为正常声调 */
);
private:
static bool __init();
static void __uninit();
#if HIGHER_THAN_VS2010
public:
// 获取 IXAudio2 对象
static IXAudio2 * getIXAudio2();
@ -141,6 +133,11 @@ protected:
const wchar_t * strFilename
);
private:
static bool __init();
static void __uninit();
protected:
bool m_bOpened;
mutable bool m_bPlaying;
@ -152,22 +149,6 @@ protected:
MMCKINFO m_ckRiff;
WAVEFORMATEX* m_pwfx;
IXAudio2SourceVoice* m_pSourceVoice;
#else
protected:
void _sendCommand(int nCommand, DWORD_PTR param1 = 0, DWORD_PTR parma2 = 0);
static LRESULT WINAPI MusicProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
protected:
MCIDEVICEID m_dev;
HWND m_wnd;
UINT m_nMusicID;
bool m_bPlaying;
int m_nRepeatTimes;
#endif
};

View File

@ -12,8 +12,8 @@
#error 仅能在 C++ 环境下使用 Easy2D
#endif
#if _MSC_VER < 1600
#error Easy2D 不支持 Visual Studio 2010 以下版本
#if _MSC_VER < 1700
#error Easy2D 不支持 Visual Studio 2012 以下版本
#endif

View File

@ -1,26 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Easy2D", "Easy2D.vcxproj", "{47AF11E1-8725-4ECA-B8CF-951ABC397B31}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{47AF11E1-8725-4ECA-B8CF-951ABC397B31}.Debug|Win32.ActiveCfg = Debug|Win32
{47AF11E1-8725-4ECA-B8CF-951ABC397B31}.Debug|Win32.Build.0 = Debug|Win32
{47AF11E1-8725-4ECA-B8CF-951ABC397B31}.Debug|x64.ActiveCfg = Debug|x64
{47AF11E1-8725-4ECA-B8CF-951ABC397B31}.Debug|x64.Build.0 = Debug|x64
{47AF11E1-8725-4ECA-B8CF-951ABC397B31}.Release|Win32.ActiveCfg = Release|Win32
{47AF11E1-8725-4ECA-B8CF-951ABC397B31}.Release|Win32.Build.0 = Release|Win32
{47AF11E1-8725-4ECA-B8CF-951ABC397B31}.Release|x64.ActiveCfg = Release|x64
{47AF11E1-8725-4ECA-B8CF-951ABC397B31}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,239 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\core\Action\Action.cpp" />
<ClCompile Include="..\..\core\Action\ActionDelay.cpp" />
<ClCompile Include="..\..\core\Action\ActionFunc.cpp" />
<ClCompile Include="..\..\core\Action\ActionGradual.cpp" />
<ClCompile Include="..\..\core\Action\ActionLoop.cpp" />
<ClCompile Include="..\..\core\Action\ActionMoveBy.cpp" />
<ClCompile Include="..\..\core\Action\ActionMoveTo.cpp" />
<ClCompile Include="..\..\core\Action\ActionOpacityBy.cpp" />
<ClCompile Include="..\..\core\Action\ActionOpacityTo.cpp" />
<ClCompile Include="..\..\core\Action\ActionRotateBy.cpp" />
<ClCompile Include="..\..\core\Action\ActionRotateTo.cpp" />
<ClCompile Include="..\..\core\Action\ActionScaleBy.cpp" />
<ClCompile Include="..\..\core\Action\ActionScaleTo.cpp" />
<ClCompile Include="..\..\core\Action\ActionSequence.cpp" />
<ClCompile Include="..\..\core\Action\ActionTwo.cpp" />
<ClCompile Include="..\..\core\Action\Animation.cpp" />
<ClCompile Include="..\..\core\Base\Game.cpp" />
<ClCompile Include="..\..\core\Base\Input.cpp" />
<ClCompile Include="..\..\core\Base\Renderer.cpp" />
<ClCompile Include="..\..\core\Base\Time.cpp" />
<ClCompile Include="..\..\core\Base\Window.cpp" />
<ClCompile Include="..\..\core\Collider\Collider.cpp" />
<ClCompile Include="..\..\core\Collider\ColliderCircle.cpp" />
<ClCompile Include="..\..\core\Collider\ColliderEllipse.cpp" />
<ClCompile Include="..\..\core\Collider\ColliderRect.cpp" />
<ClCompile Include="..\..\core\Common\Color.cpp" />
<ClCompile Include="..\..\core\Common\Function.cpp" />
<ClCompile Include="..\..\core\Common\Image.cpp" />
<ClCompile Include="..\..\core\Common\Object.cpp" />
<ClCompile Include="..\..\core\Common\Point.cpp" />
<ClCompile Include="..\..\core\Common\Scene.cpp" />
<ClCompile Include="..\..\core\Common\Size.cpp" />
<ClCompile Include="..\..\core\Common\String.cpp" />
<ClCompile Include="..\..\core\Common\TextStyle.cpp" />
<ClCompile Include="..\..\core\Custom\CustomTextRenderer.cpp" />
<ClCompile Include="..\..\core\Manager\ActionManager.cpp" />
<ClCompile Include="..\..\core\Manager\ColliderManager.cpp" />
<ClCompile Include="..\..\core\Manager\InputManager.cpp" />
<ClCompile Include="..\..\core\Manager\MusicManager.cpp" />
<ClCompile Include="..\..\core\Manager\ObjectManager.cpp" />
<ClCompile Include="..\..\core\Manager\SceneManager.cpp" />
<ClCompile Include="..\..\core\Node\Button.cpp" />
<ClCompile Include="..\..\core\Node\ButtonToggle.cpp" />
<ClCompile Include="..\..\core\Node\Menu.cpp" />
<ClCompile Include="..\..\core\Node\Node.cpp" />
<ClCompile Include="..\..\core\Node\Shape\Circle.cpp" />
<ClCompile Include="..\..\core\Node\Shape\Ellipse.cpp" />
<ClCompile Include="..\..\core\Node\Shape\Rect.cpp" />
<ClCompile Include="..\..\core\Node\Shape\RoundRect.cpp" />
<ClCompile Include="..\..\core\Node\Shape\Shape.cpp" />
<ClCompile Include="..\..\core\Node\Sprite.cpp" />
<ClCompile Include="..\..\core\Node\Text.cpp" />
<ClCompile Include="..\..\core\Tool\Data.cpp" />
<ClCompile Include="..\..\core\Tool\Music.cpp" />
<ClCompile Include="..\..\core\Tool\Path.cpp" />
<ClCompile Include="..\..\core\Tool\Random.cpp" />
<ClCompile Include="..\..\core\Tool\Timer.cpp" />
<ClCompile Include="..\..\core\Transition\Transition.cpp" />
<ClCompile Include="..\..\core\Transition\TransitionEmerge.cpp" />
<ClCompile Include="..\..\core\Transition\TransitionFade.cpp" />
<ClCompile Include="..\..\core\Transition\TransitionMove.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\core\e2daction.h" />
<ClInclude Include="..\..\core\e2dbase.h" />
<ClInclude Include="..\..\core\e2dcollider.h" />
<ClInclude Include="..\..\core\e2dcommon.h" />
<ClInclude Include="..\..\core\e2dcustom.h" />
<ClInclude Include="..\..\core\e2dmacros.h" />
<ClInclude Include="..\..\core\e2dmanager.h" />
<ClInclude Include="..\..\core\e2dnode.h" />
<ClInclude Include="..\..\core\e2dshape.h" />
<ClInclude Include="..\..\core\e2dtool.h" />
<ClInclude Include="..\..\core\e2dtransition.h" />
<ClInclude Include="..\..\core\easy2d.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{47AF11E1-8725-4ECA-B8CF-951ABC397B31}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Easy2D</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<TargetName>Easy2Dw</TargetName>
<OutDir>$(SolutionDir)$(Platform)\</OutDir>
<IntDir>$(Configuration)\$(Platform)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<TargetName>Easy2Dw</TargetName>
<OutDir>$(SolutionDir)$(Platform)\</OutDir>
<IntDir>$(Configuration)\$(Platform)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<TargetName>Easy2Ddw</TargetName>
<OutDir>$(SolutionDir)$(Platform)\</OutDir>
<IntDir>$(Configuration)\$(Platform)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetName>Easy2Ddw</TargetName>
<OutDir>$(SolutionDir)$(Platform)\</OutDir>
<IntDir>$(Configuration)\$(Platform)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>
</DebugInformationFormat>
<MinimalRebuild>false</MinimalRebuild>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>
</DebugInformationFormat>
<MinimalRebuild>false</MinimalRebuild>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>
</DebugInformationFormat>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>
</DebugInformationFormat>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,234 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Action">
<UniqueIdentifier>{5be538cb-a432-4f84-9678-bbf408eca288}</UniqueIdentifier>
</Filter>
<Filter Include="Base">
<UniqueIdentifier>{d4a509dd-1bc0-4456-9554-d414de91b50c}</UniqueIdentifier>
</Filter>
<Filter Include="Common">
<UniqueIdentifier>{c907d829-e510-472c-bd47-cf4eab6f9266}</UniqueIdentifier>
</Filter>
<Filter Include="Manager">
<UniqueIdentifier>{7b102f67-5905-4c0e-8400-51c128da026a}</UniqueIdentifier>
</Filter>
<Filter Include="Node">
<UniqueIdentifier>{c536c42c-283d-4a10-b19b-0699b4f1e051}</UniqueIdentifier>
</Filter>
<Filter Include="Tool">
<UniqueIdentifier>{17bdc67b-1801-4b69-b79b-ffcbbee8dae0}</UniqueIdentifier>
</Filter>
<Filter Include="Transition">
<UniqueIdentifier>{6c760a81-9bc8-4fb0-a145-8e119b783365}</UniqueIdentifier>
</Filter>
<Filter Include="Collider">
<UniqueIdentifier>{4c1db04d-1ba5-4313-924e-c58c35265eed}</UniqueIdentifier>
</Filter>
<Filter Include="Node\Shape">
<UniqueIdentifier>{fe2c1cba-f77d-4a33-bc8a-4f40ecd9d618}</UniqueIdentifier>
</Filter>
<Filter Include="Custom">
<UniqueIdentifier>{6f1847d1-aa22-4b3a-aeed-990b7645081f}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\core\Action\Action.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionDelay.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionFunc.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionGradual.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionLoop.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionMoveBy.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionMoveTo.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionOpacityBy.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionOpacityTo.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionRotateBy.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionRotateTo.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionScaleBy.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionScaleTo.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionSequence.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\ActionTwo.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Action\Animation.cpp">
<Filter>Action</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Base\Game.cpp">
<Filter>Base</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Base\Input.cpp">
<Filter>Base</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Base\Renderer.cpp">
<Filter>Base</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Base\Time.cpp">
<Filter>Base</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Base\Window.cpp">
<Filter>Base</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Manager\ActionManager.cpp">
<Filter>Manager</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Manager\InputManager.cpp">
<Filter>Manager</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Manager\MusicManager.cpp">
<Filter>Manager</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Manager\ObjectManager.cpp">
<Filter>Manager</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Manager\SceneManager.cpp">
<Filter>Manager</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Button.cpp">
<Filter>Node</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\ButtonToggle.cpp">
<Filter>Node</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Menu.cpp">
<Filter>Node</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Node.cpp">
<Filter>Node</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Sprite.cpp">
<Filter>Node</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Text.cpp">
<Filter>Node</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Tool\Data.cpp">
<Filter>Tool</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Tool\Music.cpp">
<Filter>Tool</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Tool\Path.cpp">
<Filter>Tool</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Tool\Random.cpp">
<Filter>Tool</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Tool\Timer.cpp">
<Filter>Tool</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Transition\Transition.cpp">
<Filter>Transition</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Transition\TransitionEmerge.cpp">
<Filter>Transition</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Transition\TransitionFade.cpp">
<Filter>Transition</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Transition\TransitionMove.cpp">
<Filter>Transition</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Manager\ColliderManager.cpp">
<Filter>Manager</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Collider\Collider.cpp">
<Filter>Collider</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Collider\ColliderCircle.cpp">
<Filter>Collider</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Collider\ColliderEllipse.cpp">
<Filter>Collider</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Collider\ColliderRect.cpp">
<Filter>Collider</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Shape\Circle.cpp">
<Filter>Node\Shape</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Shape\Ellipse.cpp">
<Filter>Node\Shape</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Shape\Rect.cpp">
<Filter>Node\Shape</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Shape\RoundRect.cpp">
<Filter>Node\Shape</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Node\Shape\Shape.cpp">
<Filter>Node\Shape</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\Color.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\Function.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\Image.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\Object.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\Point.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\Scene.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\Size.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\String.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Common\TextStyle.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\core\Custom\CustomTextRenderer.cpp">
<Filter>Custom</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\core\e2daction.h" />
<ClInclude Include="..\..\core\e2dbase.h" />
<ClInclude Include="..\..\core\e2dcollider.h" />
<ClInclude Include="..\..\core\e2dcommon.h" />
<ClInclude Include="..\..\core\e2dcustom.h" />
<ClInclude Include="..\..\core\e2dmacros.h" />
<ClInclude Include="..\..\core\e2dmanager.h" />
<ClInclude Include="..\..\core\e2dnode.h" />
<ClInclude Include="..\..\core\e2dshape.h" />
<ClInclude Include="..\..\core\e2dtool.h" />
<ClInclude Include="..\..\core\e2dtransition.h" />
<ClInclude Include="..\..\core\easy2d.h" />
</ItemGroup>
</Project>