the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 83 lines 2.2 kB view raw
1#include "stdafx.h" 2 3#include "Attribute.h" 4#include "RangedAttribute.h" 5#include "AttributeInstance.h" 6#include "ModifiableAttributeInstance.h" 7#include "ServersideAttributeMap.h" 8 9AttributeInstance *ServersideAttributeMap::getInstance(Attribute *attribute) 10{ 11 return BaseAttributeMap::getInstance(attribute); 12} 13 14AttributeInstance *ServersideAttributeMap::getInstance(eATTRIBUTE_ID id) 15{ 16 AttributeInstance *result = BaseAttributeMap::getInstance(id); 17 18 // 4J: Removed legacy name 19 // If we didn't find it, search by legacy name 20 /*if (result == NULL) 21 { 22 AUTO_VAR(it, attributesByLegacy.find(name)); 23 if(it != attributesByLegacy.end()) 24 { 25 result = it->second; 26 } 27 }*/ 28 29 return result; 30} 31 32AttributeInstance *ServersideAttributeMap::registerAttribute(Attribute *attribute) 33{ 34 AUTO_VAR(it,attributesById.find(attribute->getId())); 35 if (it != attributesById.end()) 36 { 37 return it->second; 38 } 39 40 AttributeInstance *instance = new ModifiableAttributeInstance(this, attribute); 41 attributesById.insert(std::pair<eATTRIBUTE_ID, AttributeInstance *>(attribute->getId(), instance)); 42 43 // 4J: Removed legacy name 44 // If this is a ranged attribute also add to legacy name map 45 /*RangedAttribute *rangedAttribute = dynamic_cast<RangedAttribute*>(attribute); 46 if (rangedAttribute != NULL && rangedAttribute->getImportLegacyName() != L"") 47 { 48 attributesByLegacy.insert(std::pair<wstring, AttributeInstance*>(rangedAttribute->getImportLegacyName(), instance)); 49 }*/ 50 51 return instance; 52} 53 54void ServersideAttributeMap::onAttributeModified(ModifiableAttributeInstance *attributeInstance) 55{ 56 if (attributeInstance->getAttribute()->isClientSyncable()) 57 { 58 dirtyAttributes.insert(attributeInstance); 59 } 60} 61 62unordered_set<AttributeInstance *> *ServersideAttributeMap::getDirtyAttributes() 63{ 64 return &dirtyAttributes; 65} 66 67unordered_set<AttributeInstance *> *ServersideAttributeMap::getSyncableAttributes() 68{ 69 unordered_set<AttributeInstance *> *result = new unordered_set<AttributeInstance *>(); 70 vector<AttributeInstance *> atts; 71 getAttributes(atts); 72 for (int i = 0; i < atts.size(); i++) 73 { 74 AttributeInstance *instance = atts.at(i); 75 76 if (instance->getAttribute()->isClientSyncable()) 77 { 78 result->insert(instance); 79 } 80 } 81 82 return result; 83}