//============================================================================== // Created on: 08/29/2003 // PlayerChatManager serves as a proxy between GameInfo and PlayerController to intercept // and alter player chat. // // All types of chat (text, speech, voice) must go through PlayerChatManager in order to reach the client. // // Written by Ron Prestenback // © 2003, Epic Games, Inc. All Rights Reserved // // TODO: Allow players to restrict speech based on type (taunt, order, etc.) //============================================================================== class PlayerChatManager extends Info native; var PlayerController PlayerOwner; event PostBeginPlay() { Super.PostBeginPlay(); if ( PlayerController(Owner) == None ) Destroy(); if ( bDeleteMe ) return; PlayerOwner = PlayerController(Owner); } simulated function ReceiveBanInfo(string S); simulated function TrackNewPlayer(int PlayerID, string PlayerHash, string PlayerAddress); simulated function UnTrackPlayer(int PlayerID); function bool AcceptText( PlayerReplicationInfo Sender, out string Msg, optional name Type ) { return true; } function bool AcceptLocalized( Actor Sender, class Message, optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2, optional Object Obj ) { return true; } function bool AcceptSpeech(PlayerReplicationInfo Sender) { return true; } event bool AcceptVoice(PlayerReplicationInfo Sender) { return true; } //if _RO_ simulated function bool SetRestrictionHash(string PlayerHash, byte Type){ return true; } simulated function bool SetRestrictionID(int PlayerID, byte Type) { return true; } simulated function bool SetRestriction(int Index, byte Type) { return true; } /*else simulated function bool SetRestriction(string PlayerHash, byte Type) { return true; } simulated function bool SetRestrictionID(int PlayerID, byte Type) { return true; }*/ //end _RO_ simulated function bool AddRestriction(string PlayerHash, byte Type) { return True; } simulated function bool AddRestrictionID(int PlayerID, byte Type) { return True; } simulated function bool ClearRestriction(string PlayerHash, byte Type) { return true; } simulated function bool ClearRestrictionID(int PlayerID, byte Type) { return true; } function bool IsBanned(PlayerReplicationInfo PRI) { return false; } simulated function bool ClientIsBanned(string PlayerHash) { return false; } simulated function byte GetPlayerRestriction(int PlayerID) { return 0; } simulated function int Count(); simulated function ChatDebug(); DefaultProperties { RemoteRole=ROLE_SimulatedProxy }