Renamed CombatInstance to Battle, for clarity

This commit is contained in:
2016-07-11 10:14:07 +10:00
parent 69a13c5ed6
commit 6d8d7963a1
13 changed files with 72 additions and 71 deletions
+8 -7
View File
@@ -52,15 +52,17 @@ static int getTag(lua_State* L) {
return 1;
}
static int setInstance(lua_State* L) {
/*
static int setBattleIndex(lua_State* L) {
BarrierData* barrier = static_cast<BarrierData*>(lua_touserdata(L, 1));
barrier->SetInstanceIndex(lua_tointeger(L, 2));
barrier->SetBattleIndex(lua_tointeger(L, 2));
return 0;
}
*/
static int getInstance(lua_State* L) {
static int getBattleIndex(lua_State* L) {
BarrierData* barrier = static_cast<BarrierData*>(lua_touserdata(L, 1));
lua_pushinteger(L, barrier->GetInstanceIndex());
lua_pushinteger(L, barrier->GetBattleIndex());
return 1;
}
@@ -81,9 +83,8 @@ static const luaL_Reg barrierLib[] = {
{"GetScript", getScript},
{"SetTag", setTag},
{"GetTag", getTag},
//NOTE: Why is the instance mutable?
{"SetInstance", setInstance},
{"GetInstance", getInstance},
// {"SetBattleIndex", setBattleIndex},
{"GetBattleIndex", getBattleIndex},
{"SetStatus", setStatus},
{"GetStatus", getStatus},
{nullptr, nullptr}
+5 -5
View File
@@ -28,7 +28,7 @@
BarrierData::BarrierData(int i):
Entity::Entity("barrier")
{
instanceIndex = i;
battleIndex = i;
memset(status, 0, sizeof(int) * 8);
SetBounds({
@@ -85,12 +85,12 @@ std::string BarrierData::GetTag(std::string key) {
return tags[key];
}
int BarrierData::SetInstanceIndex(int i) {
return instanceIndex = i;
int BarrierData::SetBattleIndex(int i) {
return battleIndex = i;
}
int BarrierData::GetInstanceIndex() const {
return instanceIndex;
int BarrierData::GetBattleIndex() const {
return battleIndex;
}
int BarrierData::SetStatus(int k, int v) {
+4 -4
View File
@@ -31,7 +31,7 @@
class BarrierData: public Entity {
public:
BarrierData(int instanceIndex);
BarrierData(int battleIndex);
~BarrierData();
int Update(lua_State*);
@@ -43,8 +43,8 @@ public:
std::string SetTag(std::string key, std::string value);
std::string GetTag(std::string key);
int SetInstanceIndex(int i);
int GetInstanceIndex() const;
int SetBattleIndex(int i);
int GetBattleIndex() const;
int SetStatus(int k, int v);
int GetStatus(int k);
@@ -55,7 +55,7 @@ private:
int scriptRef = LUA_NOREF;
std::map<std::string, std::string> tags;
int instanceIndex;
int battleIndex;
int status[8];
};
@@ -19,33 +19,33 @@
* 3. This notice may not be removed or altered from any source
* distribution.
*/
#include "combat_instance.hpp"
#include "battle.hpp"
CombatInstance::CombatInstance() {
Battle::Battle() {
//
}
CombatInstance::~CombatInstance() {
Battle::~Battle() {
//
}
void CombatInstance::Update() {
void Battle::Update() {
//
}
//accessors and mutators
void CombatInstance::PushCharacter(CharacterData* const characterData) {
void Battle::PushCharacter(CharacterData* const characterData) {
//
}
void CombatInstance::PopCharacter(CharacterData* const characterData) {
void Battle::PopCharacter(CharacterData* const characterData) {
//
}
void CombatInstance::PushCreature(CreatureData* const creatureData) {
void Battle::PushCreature(CreatureData* const creatureData) {
//
}
void CombatInstance::PopCreature(CreatureData* const creatureData) {
void Battle::PopCreature(CreatureData* const creatureData) {
//
}
@@ -26,10 +26,10 @@
#include <functional>
class CombatInstance {
class Battle {
public:
CombatInstance();
~CombatInstance();
Battle();
~Battle();
void Update();
@@ -19,26 +19,26 @@
* 3. This notice may not be removed or altered from any source
* distribution.
*/
#include "combat_instance_manager.hpp"
#include "battle_manager.hpp"
CombatInstanceManager::CombatInstanceManager() {
BattleManager::BattleManager() {
//EMPTY
}
CombatInstanceManager::~CombatInstanceManager() {
BattleManager::~BattleManager() {
UnloadAll();
}
//arg: a list of combats to be updated in the clients
void CombatInstanceManager::Update() {
void BattleManager::Update() {
for (auto& it : elementMap) {
it.second.Update();
}
}
int CombatInstanceManager::Create() {
int BattleManager::Create() {
//implicitly create the new object
elementMap.emplace( std::pair<int, CombatInstance>(counter, CombatInstance()) );
elementMap.emplace( std::pair<int, Battle>(counter, Battle()) );
//TODO: do various things like saving to the database
return counter++;
@@ -46,16 +46,16 @@ int CombatInstanceManager::Create() {
//TODO: (1) combat load, save
void CombatInstanceManager::Unload(int uid) {
void BattleManager::Unload(int uid) {
elementMap.erase(uid);
}
void CombatInstanceManager::UnloadAll() {
void BattleManager::UnloadAll() {
elementMap.clear();
}
void CombatInstanceManager::UnloadIf(std::function<bool(std::pair<const int, CombatInstance const&>)> fn) {
std::map<int, CombatInstance>::iterator it = elementMap.begin();
void BattleManager::UnloadIf(std::function<bool(std::pair<const int, Battle const&>)> fn) {
std::map<int, Battle>::iterator it = elementMap.begin();
while (it != elementMap.end()) {
if (fn(*it)) {
it = elementMap.erase(it);
@@ -66,8 +66,8 @@ void CombatInstanceManager::UnloadIf(std::function<bool(std::pair<const int, Com
}
}
CombatInstance* CombatInstanceManager::Find(int uid) {
std::map<int, CombatInstance>::iterator it = elementMap.find(uid);
Battle* BattleManager::Find(int uid) {
std::map<int, Battle>::iterator it = elementMap.find(uid);
if (it == elementMap.end()) {
return nullptr;
@@ -76,26 +76,26 @@ CombatInstance* CombatInstanceManager::Find(int uid) {
return &it->second;
}
int CombatInstanceManager::GetLoadedCount() {
int BattleManager::GetLoadedCount() {
return elementMap.size();
}
std::map<int, CombatInstance>* CombatInstanceManager::GetContainer() {
std::map<int, Battle>* BattleManager::GetContainer() {
return &elementMap;
}
lua_State* CombatInstanceManager::SetLuaState(lua_State* L) {
lua_State* BattleManager::SetLuaState(lua_State* L) {
return lua = L;
}
lua_State* CombatInstanceManager::GetLuaState() {
lua_State* BattleManager::GetLuaState() {
return lua;
}
sqlite3* CombatInstanceManager::SetDatabase(sqlite3* db) {
sqlite3* BattleManager::SetDatabase(sqlite3* db) {
return database = db;
}
sqlite3* CombatInstanceManager::GetDatabase() {
sqlite3* BattleManager::GetDatabase() {
return database;
}
@@ -21,7 +21,7 @@
*/
#pragma once
#include "combat_instance.hpp"
#include "battle.hpp"
#include "lua.hpp"
#include "sqlite3.h"
@@ -29,10 +29,10 @@
#include <algorithm>
#include <map>
class CombatInstanceManager {
class BattleManager {
public:
CombatInstanceManager();
~CombatInstanceManager();
BattleManager();
~BattleManager();
//common public methods
void Update();
@@ -41,12 +41,12 @@ public:
void Unload(int uid);
void UnloadAll();
void UnloadIf(std::function<bool(std::pair<const int, CombatInstance const&>)> fn);
void UnloadIf(std::function<bool(std::pair<const int, Battle const&>)> fn);
//accessors & mutators
CombatInstance* Find(int uid);
Battle* Find(int uid);
int GetLoadedCount();
std::map<int, CombatInstance>* GetContainer();
std::map<int, Battle>* GetContainer();
//hooks
lua_State* SetLuaState(lua_State* L);
@@ -56,7 +56,7 @@ public:
private:
//members
std::map<int, CombatInstance> elementMap;
std::map<int, Battle> elementMap;
int counter = 0;
lua_State* lua = nullptr;
sqlite3* database = nullptr;
+1 -1
View File
@@ -1,5 +1,5 @@
#config
INCLUDES+=. .. ../barriers ../combat ../creatures ../entities ../monsters ../inventory ../rooms ../triggers ../../common/gameplay ../../common/map ../../common/network ../../common/network/packet_types ../../common/utilities
INCLUDES+=. .. ../barriers ../battles ../creatures ../entities ../monsters ../inventory ../rooms ../triggers ../../common/gameplay ../../common/map ../../common/network ../../common/network/packet_types ../../common/utilities
LIBS+=
CXXFLAGS+=-std=c++11 $(addprefix -I,$(INCLUDES))
+2 -2
View File
@@ -1,5 +1,5 @@
#include directories
INCLUDES+=. accounts barriers characters clients combat creatures entities inventory rooms triggers ../common/debugging ../common/gameplay ../common/map ../common/network ../common/network/packet_types ../common/utilities
INCLUDES+=. accounts barriers battles characters clients creatures entities inventory rooms triggers ../common/debugging ../common/gameplay ../common/map ../common/network ../common/network/packet_types ../common/utilities
#libraries
#the order of the $(LIBS) is important, at least for MinGW
@@ -31,9 +31,9 @@ OUT=$(addprefix $(OUTDIR)/,server)
all: $(OBJ) $(OUT)
$(MAKE) -C accounts
$(MAKE) -C barriers
$(MAKE) -C battles
$(MAKE) -C characters
$(MAKE) -C clients
$(MAKE) -C combat
$(MAKE) -C creatures
$(MAKE) -C entities
$(MAKE) -C inventory
+1 -1
View File
@@ -1,5 +1,5 @@
#config
INCLUDES+=. .. ../barriers ../characters ../combat ../creatures ../entities ../inventory ../monsters ../triggers ../../common/gameplay ../../common/map ../../common/network ../../common/network/packet_types ../../common/utilities
INCLUDES+=. .. ../barriers ../battles ../characters ../creatures ../entities ../inventory ../monsters ../triggers ../../common/gameplay ../../common/map ../../common/network ../../common/network/packet_types ../../common/utilities
LIBS+=
CXXFLAGS+=-std=c++11 $(addprefix -I,$(INCLUDES))
+12 -12
View File
@@ -38,17 +38,17 @@
* characterList .UpdateAll()
* creatureMgr .Update(updateAll)
* barrierMgr .Update(updateAll)
* combatMgr .Update(updateAll)
* battleMgr .Update(updateAll)
*
* creatureMgr .SendUpdates()
* barrierMgr .SendUpdates()
* //combatMgr .SendUpdates() //TODO: incomplete
* //battleMgr .SendUpdates() //TODO: incomplete
*
* triggerMgr .Compare(characterList)
*
* if (a character collides with a creature)
* barrierMgr .Create()
* combatMgr .Create()
* battleMgr .Create()
*
* barrierMgr .Send()
*
@@ -111,8 +111,8 @@ void RoomData::RunFrameUpdates(bool updateAll) {
creatureMgr.Update(&creatureList, updateAll);
barrierMgr.Update(&barrierList, updateAll);
//update the combat instances
combatInstanceMgr.Update();
//update the battles
battleMgr.Update();
//send the creature updates
for (auto& it : creatureList) {
@@ -132,7 +132,7 @@ void RoomData::RunFrameUpdates(bool updateAll) {
pumpPacketProximity(reinterpret_cast<SerialPacket*>(&packet), roomIndex, it.second->GetOrigin(), INFLUENCE_RADIUS);
}
//TODO: send the combat instance updates
//TODO: send the battle updates
}
void RoomData::RunFrameTriggers() {
@@ -159,8 +159,8 @@ void RoomData::RunFrameCharacterCreatureCollisions() {
BoundingBox creatureBox = creatureIt.second.GetBounds() + creatureIt.second.GetOrigin();
if (characterBox.CheckOverlap(creatureBox)) {
//create the barrier and instance
int barrierIndex = barrierMgr.Create(combatInstanceMgr.Create()); //link the barrier to an instance
//create the barrier and battle
int barrierIndex = barrierMgr.Create(battleMgr.Create()); //link the barrier to a battle
BarrierData* barrierData = barrierMgr.Find(barrierIndex);
barrierData->SetRoomIndex(roomIndex);
barrierData->SetOrigin({
@@ -203,11 +203,11 @@ void RoomData::RunFrameCharacterBarrierCollisions() {
BoundingBox barrierBox = barrierIt.second.GetBounds() + barrierIt.second.GetOrigin();
if (characterBox.CheckOverlap(barrierBox)) {
//TODO: (0) actually move the character to an instance
CombatInstance* instance = combatInstanceMgr.Find(barrierIt.second.GetInstanceIndex());
//TODO: (0) actually move the character to a battle
Battle* battle = battleMgr.Find(barrierIt.second.GetBattleIndex());
//DEBUG: output barrierIndex, instanceIndex
std::cout << barrierIt.first << "\t" << barrierIt.second.GetInstanceIndex() << std::endl;
//DEBUG: output barrierIndex, battleIndex
std::cout << barrierIt.first << "\t" << barrierIt.second.GetBattleIndex() << std::endl;
//only confirm one barrier per character
break;
+2 -2
View File
@@ -23,7 +23,7 @@
#include "barrier_manager.hpp"
#include "character_data.hpp"
#include "combat_instance_manager.hpp"
#include "battle_manager.hpp"
#include "creature_manager.hpp"
#include "region_pager_lua.hpp"
#include "trigger_manager.hpp"
@@ -89,7 +89,7 @@ private:
int roomIndex = 0;
BarrierManager barrierMgr;
std::list<CharacterData*> characterList;
CombatInstanceManager combatInstanceMgr;
BattleManager battleMgr;
CreatureManager creatureMgr;
RegionPagerLua pager;
TriggerManager triggerMgr;