X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finventorymanager.h;h=8e2abc9614f13f339efac2fa4b5e96c6b0ef3f7d;hb=e5b4748bb44a12fd09a92f7d36986b4bda86e6bf;hp=dae14f1a6c25da91ddeba69142039933d71d3800;hpb=2ac20982e0772b94b21d95b53519bd2164632d98;p=oweals%2Fminetest.git diff --git a/src/inventorymanager.h b/src/inventorymanager.h index dae14f1a6..8e2abc961 100644 --- a/src/inventorymanager.h +++ b/src/inventorymanager.h @@ -1,6 +1,6 @@ /* -Minetest-c55 -Copyright (C) 2010-2011 celeron55, Perttu Ahola +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -66,6 +66,29 @@ struct InventoryLocation name = name_; } + bool operator==(const InventoryLocation &other) const + { + if(type != other.type) + return false; + switch(type){ + case UNDEFINED: + return false; + case CURRENT_PLAYER: + return true; + case PLAYER: + return (name == other.name); + case NODEMETA: + return (p == other.p); + case DETACHED: + return (name == other.name); + } + return false; + } + bool operator!=(const InventoryLocation &other) const + { + return !(*this == other); + } + void applyCurrentPlayer(const std::string &name_) { if(type == CURRENT_PLAYER)