diff options
author | Matthew Hoops | 2011-09-02 01:06:17 -0400 |
---|---|---|
committer | Matthew Hoops | 2011-09-02 01:06:17 -0400 |
commit | cb7b382acfd29957c9522b08b6460526fc73983c (patch) | |
tree | 2168c201e6bd111b32dce94497d29686c56540a2 /engines/pegasus/Game_Shell/CInventory.cpp | |
parent | e642906cdda1d943bcbc875c752bb7ba69c2b81e (diff) | |
download | scummvm-rg350-cb7b382acfd29957c9522b08b6460526fc73983c.tar.gz scummvm-rg350-cb7b382acfd29957c9522b08b6460526fc73983c.tar.bz2 scummvm-rg350-cb7b382acfd29957c9522b08b6460526fc73983c.zip |
PEGASUS: Restructure remaining (already converted) Game Shell classes
Diffstat (limited to 'engines/pegasus/Game_Shell/CInventory.cpp')
-rwxr-xr-x | engines/pegasus/Game_Shell/CInventory.cpp | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/engines/pegasus/Game_Shell/CInventory.cpp b/engines/pegasus/Game_Shell/CInventory.cpp deleted file mode 100755 index 64e62b4406..0000000000 --- a/engines/pegasus/Game_Shell/CInventory.cpp +++ /dev/null @@ -1,175 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * Additional copyright for this file: - * Copyright (C) 1995-1997 Presto Studios, Inc. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#include "pegasus/constants.h" -#include "pegasus/Game_Shell/CItem.h" -#include "pegasus/Game_Shell/CInventory.h" - -namespace Pegasus { - -CInventory::CInventory() { - fWeightLimit = 100; - fOwnerID = kNoActorID; - fReferenceCount = 0; -} - -CInventory::~CInventory() { -} - -void CInventory::SetWeightLimit(tWeightType limit) { - fWeightLimit = limit; - // *** What to do if the new weight limit is greater than the current weight? -} - -tWeightType CInventory::GetWeight() { - tWeightType result = 0; - - for (CItemIterator it = fInventoryList.begin(); it != fInventoryList.end(); it++) - result += (*it)->GetItemWeight(); - - return result; -} - -// If the item already belongs, just return kInventoryOK. -tInventoryResult CInventory::AddItem(CItem *item) { - if (ItemInInventory(item)) - return kInventoryOK; - - if (GetWeight() + item->GetItemWeight() > fWeightLimit) - return kTooMuchWeight; - - fInventoryList.push_back(item); - item->SetItemOwner(fOwnerID); - - ++fReferenceCount; - return kInventoryOK; -} - -tInventoryResult CInventory::RemoveItem(CItem *item) { - for (CItemIterator it = fInventoryList.begin(); it != fInventoryList.end(); it++) { - if (*it == item) { - fInventoryList.erase(it); - item->SetItemOwner(kNoActorID); - - ++fReferenceCount; - return kInventoryOK; - } - } - - return kItemNotInInventory; -} - -tInventoryResult CInventory::RemoveItem(tItemID id) { - CItem *item = FindItemByID(id); - - if (item) { - fInventoryList.remove(item); - item->SetItemOwner(kNoActorID); - - ++fReferenceCount; - return kInventoryOK; - } - - return kItemNotInInventory; -} - -void CInventory::RemoveAllItems() { - fInventoryList.clear(); - ++fReferenceCount; -} - -bool CInventory::ItemInInventory(CItem *item) { - for (CItemIterator it = fInventoryList.begin(); it != fInventoryList.end(); it++) - if (*it == item) - return true; - - return false; -} - -bool CInventory::ItemInInventory(tItemID id) { - return FindItemByID(id) != NULL; -} - -CItem *CInventory::GetItemAt(int32 index) { - int32 i = 0; - for (CItemIterator it = fInventoryList.begin(); it != fInventoryList.end(); it++, i++) - if (i == index) - return *it; - - return 0; -} - -tItemID CInventory::GetItemIDAt(int32 index) { - CItem *item = GetItemAt(index); - - if (item) - return item->GetObjectID(); - - return kNoItemID; -} - -CItem *CInventory::FindItemByID(tItemID id) { - return fInventoryList.FindItemByID(id); -} - -// Return -1 if not found. - -int32 CInventory::FindIndexOf(CItem *item) { - uint32 i = 0; - for (CItemIterator it = fInventoryList.begin(); it != fInventoryList.end(); it++, i++) - if (*it == item) - return i; - - return -1; -} - -// Return -1 if not found. - -int32 CInventory::FindIndexOf(tItemID id) { - uint32 i = 0; - for (CItemIterator it = fInventoryList.begin(); it != fInventoryList.end(); it++, i++) - if ((*it)->GetObjectID() == id) - return i; - - return -1; -} - -tWeightType CInventory::GetWeightLimit() { - return fWeightLimit; -} - -int32 CInventory::GetNumItems() { - return fInventoryList.size(); -} - -void CInventory::SetOwnerID(const tActorID id) { - fOwnerID = id; -} - -tActorID CInventory::GetOwnerID() const { - return fOwnerID; -} - -} // End of namespae Pegasus |