summaryrefslogtreecommitdiffstats
path: root/src/UI
diff options
context:
space:
mode:
authorpeterbell10 <peterbell10@live.co.uk>2017-09-11 23:20:49 +0200
committerMattes D <github@xoft.cz>2017-09-11 23:20:49 +0200
commite225b7f8262df48ad4d7094bc295add3007b0649 (patch)
treea42e9afcc88cfe6e9d1258458e3ad42764083d0e /src/UI
parentcBlockArea: change MakeIndex to return size_t (diff)
downloadcuberite-e225b7f8262df48ad4d7094bc295add3007b0649.tar
cuberite-e225b7f8262df48ad4d7094bc295add3007b0649.tar.gz
cuberite-e225b7f8262df48ad4d7094bc295add3007b0649.tar.bz2
cuberite-e225b7f8262df48ad4d7094bc295add3007b0649.tar.lz
cuberite-e225b7f8262df48ad4d7094bc295add3007b0649.tar.xz
cuberite-e225b7f8262df48ad4d7094bc295add3007b0649.tar.zst
cuberite-e225b7f8262df48ad4d7094bc295add3007b0649.zip
Diffstat (limited to 'src/UI')
-rw-r--r--src/UI/Window.cpp12
-rw-r--r--src/UI/Window.h8
2 files changed, 11 insertions, 9 deletions
diff --git a/src/UI/Window.cpp b/src/UI/Window.cpp
index 8bbc4f482..cf02c0f00 100644
--- a/src/UI/Window.cpp
+++ b/src/UI/Window.cpp
@@ -362,12 +362,12 @@ void cWindow::OwnerDestroyed()
-bool cWindow::ForEachPlayer(cItemCallback<cPlayer> & a_Callback)
+bool cWindow::ForEachPlayer(cPlayerListCallback a_Callback)
{
cCSLock Lock(m_CS);
- for (cPlayerList::iterator itr = m_OpenedBy.begin(), end = m_OpenedBy.end(); itr != end; ++itr)
+ for (auto & Player : m_OpenedBy)
{
- if (a_Callback.Item(*itr))
+ if (a_Callback(*Player))
{
return false;
}
@@ -379,12 +379,12 @@ bool cWindow::ForEachPlayer(cItemCallback<cPlayer> & a_Callback)
-bool cWindow::ForEachClient(cItemCallback<cClientHandle> & a_Callback)
+bool cWindow::ForEachClient(cClientHandleCallback a_Callback)
{
cCSLock Lock(m_CS);
- for (cPlayerList::iterator itr = m_OpenedBy.begin(), end = m_OpenedBy.end(); itr != end; ++itr)
+ for (auto & Player : m_OpenedBy)
{
- if (a_Callback.Item((*itr)->GetClientHandle()))
+ if (a_Callback(*Player->GetClientHandle()))
{
return false;
}
diff --git a/src/UI/Window.h b/src/UI/Window.h
index d7a29dc47..bdd489d32 100644
--- a/src/UI/Window.h
+++ b/src/UI/Window.h
@@ -9,6 +9,7 @@
#pragma once
+#include "../FunctionRef.h"
#include "../ItemGrid.h"
@@ -31,7 +32,8 @@ class cWorld;
typedef std::list<cPlayer *> cPlayerList;
typedef std::vector<cSlotArea *> cSlotAreas;
-
+using cPlayerListCallback = cFunctionRef<bool(cPlayer &)>;
+using cClientHandleCallback = cFunctionRef<bool(cClientHandle &)>;
@@ -151,10 +153,10 @@ public:
void OwnerDestroyed(void);
/** Calls the callback safely for each player that has this window open; returns true if all players have been enumerated */
- bool ForEachPlayer(cItemCallback<cPlayer> & a_Callback);
+ bool ForEachPlayer(cPlayerListCallback a_Callback);
/** Calls the callback safely for each client that has this window open; returns true if all clients have been enumerated */
- bool ForEachClient(cItemCallback<cClientHandle> & a_Callback);
+ bool ForEachClient(cClientHandleCallback a_Callback);
/** Called on shift-clicking to distribute the stack into other areas; Modifies a_ItemStack as it is distributed!
if a_ShouldApply is true, the changes are written into the slots;