Actually, let's make a whitelist the valid modes.
YAGNI code, no ability to break-out the whitelist. No other game of ours uses other valid modes, does it? git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5701 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -49,6 +49,7 @@ import com.threerings.presents.dobj.RootDObjectManager;
|
|||||||
import com.threerings.presents.dobj.SetAdapter;
|
import com.threerings.presents.dobj.SetAdapter;
|
||||||
import com.threerings.presents.server.InvocationManager;
|
import com.threerings.presents.server.InvocationManager;
|
||||||
|
|
||||||
|
import com.threerings.crowd.chat.data.ChatCodes;
|
||||||
import com.threerings.crowd.chat.server.SpeakDispatcher;
|
import com.threerings.crowd.chat.server.SpeakDispatcher;
|
||||||
import com.threerings.crowd.chat.server.SpeakHandler;
|
import com.threerings.crowd.chat.server.SpeakHandler;
|
||||||
import com.threerings.crowd.data.BodyObject;
|
import com.threerings.crowd.data.BodyObject;
|
||||||
@@ -409,7 +410,17 @@ public class PlaceManager
|
|||||||
// documentation inherited from interface
|
// documentation inherited from interface
|
||||||
public boolean isValidSpeaker (DObject speakObj, ClientObject speaker, byte mode)
|
public boolean isValidSpeaker (DObject speakObj, ClientObject speaker, byte mode)
|
||||||
{
|
{
|
||||||
// only allow people in the room to speak
|
// have a whitelist for valid modes (no broadcasting, that's done elsewhere)
|
||||||
|
switch (mode) {
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
case ChatCodes.DEFAULT_MODE:
|
||||||
|
case ChatCodes.THINK_MODE:
|
||||||
|
case ChatCodes.EMOTE_MODE:
|
||||||
|
case ChatCodes.SHOUT_MODE:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// only allow people in the room to speak.
|
||||||
return _plobj.occupants.contains(speaker.getOid());
|
return _plobj.occupants.contains(speaker.getOid());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user