Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Item.h"
- Item::Item(string nName,float nX,float nY,float nWeight){
- Log(string("(Item::Item)>")+nName+string(":")+to_string(nX)+string(":")+to_string(nY)+string(":")+to_string(nWeight));
- Name=nName;
- Weight=nWeight;
- X=nX;
- Y=nY;
- }
- Item Item::Retrieve(string Item_Name){
- Log(string("(Item ")+Name+string("::Retrieve)>")+Item_Name);
- int found = Find(Item_Name);
- return Contents[found];
- }
- string Item::GetName(){
- Log(string("(string ")+Name+string("::GetName)>")+Name);
- return Name;
- }
- float Item::GetWeight(){
- Log(string("(float ")+Name+string("::GetWeight)>")+to_string(Weight));
- return Weight;
- }
- string Item::GetDescription(){
- Log(string("(string ")+Name+string("::GetDescription)>")+Description);
- return Description;
- }
- void Item::SetDescription(string Item_Name){
- Log(string("(void ")+Name+string("::SetDescription)>")+Item_Name);
- Description = Item_Name;
- }
- void Item::SetName(string Item_Name){
- Log(string("(void ")+Name+string("::SetName)>")+Item_Name);
- Name=Item_Name;
- }
- void Item::Add(Item item){
- Log(string("(void ")+Name+string("::Add)>")+item.Name);
- int found = Find(item.Name);
- if(!found){
- Names.push_back(item.Name);
- Contents.push_back(item);
- Weight = Weight + item.Weight;
- }else{
- Contents[found].Increment(found);
- }
- }
- void Item::Remove(Item item){
- Log(string("void ")+Name+string("::Remove)>")+item.Name);
- int found = Find(item.Name);
- if(found){
- if(found > 1){
- Contents[found].Decrement(found);
- }else{
- vector<Item> tmplist;
- for(int a=0;a<Contents.size();++a){
- if(Contents[a].Name != Contents[found].Name){
- tmplist.push_back(Contents[a]);
- }
- }
- Contents.clear();
- for(int a=0;a<tmplist.size();++a){
- Contents.push_back(tmplist[a]);
- }
- }
- }
- }
- int Item::Find(string Item_Name){
- Log(string("(int ")+Name+string("::Find)>")+Item_Name);
- int result=0;
- for(int a=0;a < Contents.size();++a){
- if(Contents[a].Name == Item_Name){
- result = a;
- }
- }
- return result;
- }
- void Item::Increment(int index){
- Log(string("(void ")+Name+string("::Increment)>")+to_string(index));
- Contents[index].Quantity+1;
- }
- void Item::Decrement(int index){
- Log(string("(void ")+Name+string("::Decrement)>")+to_string(index));
- Contents[index].Quantity-1;
- }
- void Item::Log(string str){
- cout << str << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement