1 /*****************************************************************************
2 * Copyright (c) 2006 Russ Adams, Sean Eubanks, Asgard Contributors
3 * This file is part of Asgard.
5 * Asgard is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * Asgard is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with Asgard; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 ****************************************************************************/
19 #include "Container.h"
21 Container::Container(const Coordinate
& leftCorner
,list
<int>& boundingBoxes
,int h
,int w
,vector
<Hardpoint
*>& hpV
)
22 : StaticMapObject(leftCorner
,boundingBoxes
,h
,w
,hpV
)
24 items
.reserve(MAX_ITEMS
);
25 cursor
= items
.begin();
28 int Container::getItemCount()
33 Item
* Container::getItem(string n
)
35 vector
<Item
*>::iterator i1
;
37 for(i1
= items
.begin(); i1
!= items
.end(); i1
++)
39 if((*(*i1
)).getName() == n
)
49 bool Container::putItem(Item
* itPtr
)
51 if((itPtr
!= 0) && (items
.size() < MAX_ITEMS
))
53 items
.push_back(itPtr
);
60 bool Container::isOpenable()
65 string
Container::peekNext()
68 return (*(*cursor
)).getName();
71 string
Container::peekPrevious()
74 return (*(*cursor
)).getName();