-- [Add] Added an ingame Menu.
-- [Add] Added basic collision.
This commit is contained in:
parent
422eeee387
commit
65fe958f43
@ -1,6 +1,6 @@
|
|||||||
#############################################################################
|
#############################################################################
|
||||||
# Makefile for building: Unuk-QT
|
# Makefile for building: Unuk-QT
|
||||||
# Generated by qmake (2.01a) (Qt 4.7.3) on: Sat Nov 19 22:57:56 2011
|
# Generated by qmake (2.01a) (Qt 4.7.3) on: Sun Nov 20 11:37:54 2011
|
||||||
# Project: Unuk-QT.pro
|
# Project: Unuk-QT.pro
|
||||||
# Template: app
|
# Template: app
|
||||||
# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro
|
# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro
|
||||||
@ -59,7 +59,9 @@ SOURCES = ../src/libUnuk/Debug.cpp \
|
|||||||
../src/libUnuk/Button.cpp \
|
../src/libUnuk/Button.cpp \
|
||||||
../src/libUnuk/ButtonToggle.cpp \
|
../src/libUnuk/ButtonToggle.cpp \
|
||||||
../src/libUnuk/ParticleEmitter.cpp \
|
../src/libUnuk/ParticleEmitter.cpp \
|
||||||
../src/libUnuk/MainMenu.cpp
|
../src/libUnuk/MainMenu.cpp \
|
||||||
|
../src/libUnuk/IngameMenu.cpp \
|
||||||
|
../src/libUnuk/Collision.cpp
|
||||||
OBJECTS = Debug.o \
|
OBJECTS = Debug.o \
|
||||||
main.o \
|
main.o \
|
||||||
Input.o \
|
Input.o \
|
||||||
@ -76,7 +78,9 @@ OBJECTS = Debug.o \
|
|||||||
Button.o \
|
Button.o \
|
||||||
ButtonToggle.o \
|
ButtonToggle.o \
|
||||||
ParticleEmitter.o \
|
ParticleEmitter.o \
|
||||||
MainMenu.o
|
MainMenu.o \
|
||||||
|
IngameMenu.o \
|
||||||
|
Collision.o
|
||||||
DIST = /usr/share/qt4/mkspecs/common/g++.conf \
|
DIST = /usr/share/qt4/mkspecs/common/g++.conf \
|
||||||
/usr/share/qt4/mkspecs/common/unix.conf \
|
/usr/share/qt4/mkspecs/common/unix.conf \
|
||||||
/usr/share/qt4/mkspecs/common/linux.conf \
|
/usr/share/qt4/mkspecs/common/linux.conf \
|
||||||
@ -176,7 +180,7 @@ qmake: FORCE
|
|||||||
|
|
||||||
dist:
|
dist:
|
||||||
@$(CHK_DIR_EXISTS) .tmp/Unuk-QT1.0.0 || $(MKDIR) .tmp/Unuk-QT1.0.0
|
@$(CHK_DIR_EXISTS) .tmp/Unuk-QT1.0.0 || $(MKDIR) .tmp/Unuk-QT1.0.0
|
||||||
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/TextureManager.h ../src/libUnuk/Texture.h ../src/libUnuk/Text.h ../src/libUnuk/MapTile.h ../src/libUnuk/Map.h ../src/libUnuk/Button.h ../src/libUnuk/ButtonToggle.h ../src/libUnuk/Menu.h ../src/libUnuk/MainMenu.h ../src/libUnuk/ParticleEmitter.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.cpp ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/TextureManager.cpp ../src/libUnuk/Texture.cpp ../src/libUnuk/Text.cpp ../src/libUnuk/Map.cpp ../src/libUnuk/Button.cpp ../src/libUnuk/ButtonToggle.cpp ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/MainMenu.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0
|
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/TextureManager.h ../src/libUnuk/Texture.h ../src/libUnuk/Text.h ../src/libUnuk/MapTile.h ../src/libUnuk/Map.h ../src/libUnuk/Button.h ../src/libUnuk/ButtonToggle.h ../src/libUnuk/Menu.h ../src/libUnuk/MainMenu.h ../src/libUnuk/ParticleEmitter.h ../src/libUnuk/IngameMenu.h ../src/libUnuk/Collision.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.cpp ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/TextureManager.cpp ../src/libUnuk/Texture.cpp ../src/libUnuk/Text.cpp ../src/libUnuk/Map.cpp ../src/libUnuk/Button.cpp ../src/libUnuk/ButtonToggle.cpp ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/MainMenu.cpp ../src/libUnuk/IngameMenu.cpp ../src/libUnuk/Collision.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0
|
||||||
|
|
||||||
|
|
||||||
clean:compiler_clean
|
clean:compiler_clean
|
||||||
@ -333,6 +337,23 @@ MainMenu.o: ../src/libUnuk/MainMenu.cpp ../src/libUnuk/MainMenu.h \
|
|||||||
../src/libUnuk/MapTile.h
|
../src/libUnuk/MapTile.h
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MainMenu.o ../src/libUnuk/MainMenu.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MainMenu.o ../src/libUnuk/MainMenu.cpp
|
||||||
|
|
||||||
|
IngameMenu.o: ../src/libUnuk/IngameMenu.cpp ../src/libUnuk/IngameMenu.h \
|
||||||
|
../src/libUnuk/Menu.h \
|
||||||
|
../src/Unuk/Globals.h \
|
||||||
|
../src/Unuk/Constants.h \
|
||||||
|
../src/libUnuk/Button.h \
|
||||||
|
../src/libUnuk/Input.h \
|
||||||
|
../src/libUnuk/Text.h \
|
||||||
|
../src/libUnuk/ApplySurface.h \
|
||||||
|
../src/libUnuk/Debug.h \
|
||||||
|
../src/libUnuk/Font.h \
|
||||||
|
../src/libUnuk/Rect.h \
|
||||||
|
../src/libUnuk/ButtonToggle.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o IngameMenu.o ../src/libUnuk/IngameMenu.cpp
|
||||||
|
|
||||||
|
Collision.o: ../src/libUnuk/Collision.cpp ../src/libUnuk/Collision.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Collision.o ../src/libUnuk/Collision.cpp
|
||||||
|
|
||||||
####### Install
|
####### Install
|
||||||
|
|
||||||
install: FORCE
|
install: FORCE
|
||||||
|
@ -26,7 +26,9 @@ HEADERS += ../src/libUnuk/Debug.h \
|
|||||||
../src/libUnuk/ButtonToggle.h \
|
../src/libUnuk/ButtonToggle.h \
|
||||||
../src/libUnuk/Menu.h \
|
../src/libUnuk/Menu.h \
|
||||||
../src/libUnuk/MainMenu.h \
|
../src/libUnuk/MainMenu.h \
|
||||||
../src/libUnuk/ParticleEmitter.h
|
../src/libUnuk/ParticleEmitter.h \
|
||||||
|
../src/libUnuk/IngameMenu.h \
|
||||||
|
../src/libUnuk/Collision.h
|
||||||
SOURCES += ../src/libUnuk/Debug.cpp \
|
SOURCES += ../src/libUnuk/Debug.cpp \
|
||||||
../src/Unuk/main.cpp \
|
../src/Unuk/main.cpp \
|
||||||
../src/libUnuk/Input.cpp \
|
../src/libUnuk/Input.cpp \
|
||||||
@ -43,4 +45,6 @@ SOURCES += ../src/libUnuk/Debug.cpp \
|
|||||||
../src/libUnuk/Button.cpp \
|
../src/libUnuk/Button.cpp \
|
||||||
../src/libUnuk/ButtonToggle.cpp \
|
../src/libUnuk/ButtonToggle.cpp \
|
||||||
../src/libUnuk/ParticleEmitter.cpp \
|
../src/libUnuk/ParticleEmitter.cpp \
|
||||||
../src/libUnuk/MainMenu.cpp
|
../src/libUnuk/MainMenu.cpp \
|
||||||
|
../src/libUnuk/IngameMenu.cpp \
|
||||||
|
../src/libUnuk/Collision.cpp
|
||||||
|
@ -76,7 +76,7 @@
|
|||||||
<valuemap type="QVariantMap">
|
<valuemap type="QVariantMap">
|
||||||
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
|
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
|
||||||
<valuelist key="abstractProcess.Environment" type="QVariantList">
|
<valuelist key="abstractProcess.Environment" type="QVariantList">
|
||||||
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-PlNAR2DRhi,guid=647dcd2f857df095e9fb55f200000037</value>
|
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-JFV86sNXp3,guid=10f3cd54b9c84ffcc277c29900000065</value>
|
||||||
<value type="QString">DISPLAY=:0</value>
|
<value type="QString">DISPLAY=:0</value>
|
||||||
<value type="QString">HOME=/home/allanis</value>
|
<value type="QString">HOME=/home/allanis</value>
|
||||||
<value type="QString">HUSHLOGIN=FALSE</value>
|
<value type="QString">HUSHLOGIN=FALSE</value>
|
||||||
@ -89,13 +89,13 @@
|
|||||||
<value type="QString">QTDIR=/usr/share/qt4</value>
|
<value type="QString">QTDIR=/usr/share/qt4</value>
|
||||||
<value type="QString">SHELL=/bin/bash</value>
|
<value type="QString">SHELL=/bin/bash</value>
|
||||||
<value type="QString">SHLVL=1</value>
|
<value type="QString">SHLVL=1</value>
|
||||||
<value type="QString">SSH_AGENT_PID=3247</value>
|
<value type="QString">SSH_AGENT_PID=3195</value>
|
||||||
<value type="QString">SSH_AUTH_SOCK=/tmp/ssh-aXmQFZXr3222/agent.3222</value>
|
<value type="QString">SSH_AUTH_SOCK=/tmp/ssh-xWDTLRHH3170/agent.3170</value>
|
||||||
<value type="QString">TERM=linux</value>
|
<value type="QString">TERM=linux</value>
|
||||||
<value type="QString">USER=allanis</value>
|
<value type="QString">USER=allanis</value>
|
||||||
<value type="QString">WINDOWPATH=7</value>
|
<value type="QString">WINDOWPATH=7</value>
|
||||||
<value type="QString">XAUTHORITY=/home/allanis/.Xauthority</value>
|
<value type="QString">XAUTHORITY=/home/allanis/.Xauthority</value>
|
||||||
<value type="QString">XDG_SESSION_COOKIE=6de6dd7b78e791242262c6460000012e-1320507013.488131-497740237</value>
|
<value type="QString">XDG_SESSION_COOKIE=6de6dd7b78e791242262c6460000012e-1321716676.954190-403254936</value>
|
||||||
<value type="QString">_=/usr/bin/startx</value>
|
<value type="QString">_=/usr/bin/startx</value>
|
||||||
</valuelist>
|
</valuelist>
|
||||||
<valuelist key="abstractProcess.arguments" type="QVariantList">
|
<valuelist key="abstractProcess.arguments" type="QVariantList">
|
||||||
@ -115,7 +115,7 @@
|
|||||||
<valuemap type="QVariantMap">
|
<valuemap type="QVariantMap">
|
||||||
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
|
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
|
||||||
<valuelist key="abstractProcess.Environment" type="QVariantList">
|
<valuelist key="abstractProcess.Environment" type="QVariantList">
|
||||||
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-PlNAR2DRhi,guid=647dcd2f857df095e9fb55f200000037</value>
|
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-JFV86sNXp3,guid=10f3cd54b9c84ffcc277c29900000065</value>
|
||||||
<value type="QString">DISPLAY=:0</value>
|
<value type="QString">DISPLAY=:0</value>
|
||||||
<value type="QString">HOME=/home/allanis</value>
|
<value type="QString">HOME=/home/allanis</value>
|
||||||
<value type="QString">HUSHLOGIN=FALSE</value>
|
<value type="QString">HUSHLOGIN=FALSE</value>
|
||||||
@ -128,13 +128,13 @@
|
|||||||
<value type="QString">QTDIR=/usr/share/qt4</value>
|
<value type="QString">QTDIR=/usr/share/qt4</value>
|
||||||
<value type="QString">SHELL=/bin/bash</value>
|
<value type="QString">SHELL=/bin/bash</value>
|
||||||
<value type="QString">SHLVL=1</value>
|
<value type="QString">SHLVL=1</value>
|
||||||
<value type="QString">SSH_AGENT_PID=3247</value>
|
<value type="QString">SSH_AGENT_PID=3195</value>
|
||||||
<value type="QString">SSH_AUTH_SOCK=/tmp/ssh-aXmQFZXr3222/agent.3222</value>
|
<value type="QString">SSH_AUTH_SOCK=/tmp/ssh-xWDTLRHH3170/agent.3170</value>
|
||||||
<value type="QString">TERM=linux</value>
|
<value type="QString">TERM=linux</value>
|
||||||
<value type="QString">USER=allanis</value>
|
<value type="QString">USER=allanis</value>
|
||||||
<value type="QString">WINDOWPATH=7</value>
|
<value type="QString">WINDOWPATH=7</value>
|
||||||
<value type="QString">XAUTHORITY=/home/allanis/.Xauthority</value>
|
<value type="QString">XAUTHORITY=/home/allanis/.Xauthority</value>
|
||||||
<value type="QString">XDG_SESSION_COOKIE=6de6dd7b78e791242262c6460000012e-1320507013.488131-497740237</value>
|
<value type="QString">XDG_SESSION_COOKIE=6de6dd7b78e791242262c6460000012e-1321716676.954190-403254936</value>
|
||||||
<value type="QString">_=/usr/bin/startx</value>
|
<value type="QString">_=/usr/bin/startx</value>
|
||||||
</valuelist>
|
</valuelist>
|
||||||
<value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>
|
<value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>
|
||||||
@ -151,7 +151,7 @@
|
|||||||
<valuemap type="QVariantMap">
|
<valuemap type="QVariantMap">
|
||||||
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
|
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
|
||||||
<valuelist key="abstractProcess.Environment" type="QVariantList">
|
<valuelist key="abstractProcess.Environment" type="QVariantList">
|
||||||
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-PlNAR2DRhi,guid=647dcd2f857df095e9fb55f200000037</value>
|
<value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-JFV86sNXp3,guid=10f3cd54b9c84ffcc277c29900000065</value>
|
||||||
<value type="QString">DISPLAY=:0</value>
|
<value type="QString">DISPLAY=:0</value>
|
||||||
<value type="QString">HOME=/home/allanis</value>
|
<value type="QString">HOME=/home/allanis</value>
|
||||||
<value type="QString">HUSHLOGIN=FALSE</value>
|
<value type="QString">HUSHLOGIN=FALSE</value>
|
||||||
@ -164,13 +164,13 @@
|
|||||||
<value type="QString">QTDIR=/usr/share/qt4</value>
|
<value type="QString">QTDIR=/usr/share/qt4</value>
|
||||||
<value type="QString">SHELL=/bin/bash</value>
|
<value type="QString">SHELL=/bin/bash</value>
|
||||||
<value type="QString">SHLVL=1</value>
|
<value type="QString">SHLVL=1</value>
|
||||||
<value type="QString">SSH_AGENT_PID=3247</value>
|
<value type="QString">SSH_AGENT_PID=3195</value>
|
||||||
<value type="QString">SSH_AUTH_SOCK=/tmp/ssh-aXmQFZXr3222/agent.3222</value>
|
<value type="QString">SSH_AUTH_SOCK=/tmp/ssh-xWDTLRHH3170/agent.3170</value>
|
||||||
<value type="QString">TERM=linux</value>
|
<value type="QString">TERM=linux</value>
|
||||||
<value type="QString">USER=allanis</value>
|
<value type="QString">USER=allanis</value>
|
||||||
<value type="QString">WINDOWPATH=7</value>
|
<value type="QString">WINDOWPATH=7</value>
|
||||||
<value type="QString">XAUTHORITY=/home/allanis/.Xauthority</value>
|
<value type="QString">XAUTHORITY=/home/allanis/.Xauthority</value>
|
||||||
<value type="QString">XDG_SESSION_COOKIE=6de6dd7b78e791242262c6460000012e-1320507013.488131-497740237</value>
|
<value type="QString">XDG_SESSION_COOKIE=6de6dd7b78e791242262c6460000012e-1321716676.954190-403254936</value>
|
||||||
<value type="QString">_=/usr/bin/startx</value>
|
<value type="QString">_=/usr/bin/startx</value>
|
||||||
</valuelist>
|
</valuelist>
|
||||||
<value key="abstractProcess.IgnoreReturnValue" type="bool">true</value>
|
<value key="abstractProcess.IgnoreReturnValue" type="bool">true</value>
|
||||||
|
27
src/libUnuk/Collision.cpp
Normal file
27
src/libUnuk/Collision.cpp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#include "Collision.h"
|
||||||
|
|
||||||
|
bool CheckCollisionRect(SDL_Rect a, SDL_Rect b) {
|
||||||
|
if(a.y + a.h <= b.y)
|
||||||
|
return false;
|
||||||
|
if(a.y >= b.y + b.h)
|
||||||
|
return false;
|
||||||
|
if(a.x + a.w <= b.x)
|
||||||
|
return false;
|
||||||
|
if(a.x >= b.x + b.w)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CheckCollisionXY(int x1, int y1, int w1, int h1, int x2, int y2, int w2, int h2) {
|
||||||
|
if(y1 + h1 <= y2)
|
||||||
|
return false;
|
||||||
|
if(y1 >= y2 + h2)
|
||||||
|
return false;
|
||||||
|
if(x1 + w1 <= x2)
|
||||||
|
return false;
|
||||||
|
if(x1 >= x2 + w2)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
8
src/libUnuk/Collision.h
Normal file
8
src/libUnuk/Collision.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef _COLLISION_H_
|
||||||
|
#define _COLLISION_H_
|
||||||
|
#include <SDL/SDL.h>
|
||||||
|
|
||||||
|
bool CheckCollisionRect(SDL_Rect a, SDL_Rect b);
|
||||||
|
bool CheckCollisionXY(int x1, int y1, int w1, int h1, int x2, int y2, int w2, int h2);
|
||||||
|
|
||||||
|
#endif
|
77
src/libUnuk/IngameMenu.cpp
Normal file
77
src/libUnuk/IngameMenu.cpp
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
#include "IngameMenu.h"
|
||||||
|
|
||||||
|
IngameMenu::IngameMenu(void) {
|
||||||
|
m_isActive = false;
|
||||||
|
|
||||||
|
btnResume.SetOutRGB(200, 200, 200);
|
||||||
|
btnResume.SetOverRGB(255, 255, 255);
|
||||||
|
btnResume.SetTextRGB(0, 0, 0);
|
||||||
|
btnResume.SetText("Resume Game");
|
||||||
|
btnResume.SetXY((SCREEN_WIDTH / 2) - (btnResume.GetWidth() / 2), 50);
|
||||||
|
|
||||||
|
btnSaveGame.SetOutRGB(200, 200, 200);
|
||||||
|
btnSaveGame.SetOverRGB(255, 255, 255);
|
||||||
|
btnSaveGame.SetTextRGB(0, 0, 0);
|
||||||
|
btnSaveGame.SetText("SaveGame");
|
||||||
|
btnSaveGame.SetXY((SCREEN_WIDTH / 2) - (btnSaveGame.GetWidth() / 2), 100);
|
||||||
|
|
||||||
|
btnLoadGame.SetOutRGB(200, 200, 200);
|
||||||
|
btnLoadGame.SetOverRGB(255, 255, 255);
|
||||||
|
btnLoadGame.SetTextRGB(0, 0, 0);
|
||||||
|
btnLoadGame.SetText("LoadGame");
|
||||||
|
btnLoadGame.SetXY((SCREEN_WIDTH / 2) - (btnLoadGame.GetWidth() / 2), 150);
|
||||||
|
|
||||||
|
btnOptions.SetOutRGB(200, 200, 200);
|
||||||
|
btnOptions.SetOverRGB(255, 255, 255);
|
||||||
|
btnOptions.SetTextRGB(0, 0, 0);
|
||||||
|
btnOptions.SetText("Options");
|
||||||
|
btnOptions.SetXY((SCREEN_WIDTH / 2) - (btnOptions.GetWidth() / 2), 200);
|
||||||
|
|
||||||
|
btnExitToMenu.SetOutRGB(200, 200, 200);
|
||||||
|
btnExitToMenu.SetOverRGB(255, 255, 255);
|
||||||
|
btnExitToMenu.SetTextRGB(0, 0, 0);
|
||||||
|
btnExitToMenu.SetText("Exit To Main Menu");
|
||||||
|
btnExitToMenu.SetXY((SCREEN_WIDTH / 2) - (btnExitToMenu.GetWidth() / 2), 250);
|
||||||
|
}
|
||||||
|
|
||||||
|
IngameMenu::~IngameMenu(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int IngameMenu::HandleInput(void) {
|
||||||
|
while(SDL_PollEvent(&event)) {
|
||||||
|
btnResume.CheckMouseOver();
|
||||||
|
btnSaveGame.CheckMouseOver();
|
||||||
|
btnLoadGame.CheckMouseOver();
|
||||||
|
btnOptions.CheckMouseOver();
|
||||||
|
btnExitToMenu.CheckMouseOver();
|
||||||
|
|
||||||
|
if(event.key.type == SDL_KEYDOWN) {
|
||||||
|
if(event.key.keysym.sym == SDLK_ESCAPE)
|
||||||
|
return INGAME_MENU_RESUME;
|
||||||
|
}
|
||||||
|
else if(event.type == SDL_MOUSEBUTTONUP) {
|
||||||
|
if(event.button.button == SDL_BUTTON_LEFT) {
|
||||||
|
if(btnResume.CheckMouseOver())
|
||||||
|
return INGAME_MENU_RESUME;
|
||||||
|
else if(btnSaveGame.CheckMouseOver())
|
||||||
|
return INGAME_MENU_SAVE_GAME;
|
||||||
|
else if(btnLoadGame.CheckMouseOver())
|
||||||
|
return INGAME_MENU_LOAD_GAME;
|
||||||
|
else if(btnOptions.CheckMouseOver())
|
||||||
|
return INGAME_MENU_OPTIONS;
|
||||||
|
else if(btnExitToMenu.CheckMouseOver())
|
||||||
|
return INGAME_MENU_EXIT_TO_MMENU;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return INGAME_MENU_NOTHING;
|
||||||
|
}
|
||||||
|
|
||||||
|
void IngameMenu::Render(void) {
|
||||||
|
btnResume.Render();
|
||||||
|
btnSaveGame.Render();
|
||||||
|
btnLoadGame.Render();
|
||||||
|
btnOptions.Render();
|
||||||
|
btnExitToMenu.Render();
|
||||||
|
}
|
33
src/libUnuk/IngameMenu.h
Normal file
33
src/libUnuk/IngameMenu.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#ifndef _INGAMEMENU_H_
|
||||||
|
#define _INGAMEMENU_H_
|
||||||
|
#include "Menu.h"
|
||||||
|
|
||||||
|
const int INGAME_MENU_NOTHING = 0;
|
||||||
|
const int INGAME_MENU_RESUME = 1;
|
||||||
|
const int INGAME_MENU_SAVE_GAME = 2;
|
||||||
|
const int INGAME_MENU_LOAD_GAME = 3;
|
||||||
|
const int INGAME_MENU_OPTIONS = 4;
|
||||||
|
const int INGAME_MENU_EXIT_TO_MMENU = 5;
|
||||||
|
|
||||||
|
class IngameMenu : public Menu {
|
||||||
|
public:
|
||||||
|
IngameMenu(void);
|
||||||
|
~IngameMenu(void);
|
||||||
|
|
||||||
|
int HandleInput(void);
|
||||||
|
void Render(void);
|
||||||
|
|
||||||
|
void SetStatus(bool arg) { m_isActive = arg; }
|
||||||
|
bool GetStatus(void) { return m_isActive; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool m_isActive;
|
||||||
|
|
||||||
|
Button btnResume;
|
||||||
|
Button btnSaveGame;
|
||||||
|
Button btnLoadGame;
|
||||||
|
Button btnOptions;
|
||||||
|
Button btnExitToMenu;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user