Chat section

This commit is contained in:
Garry Newman
2016-04-29 15:24:12 +01:00
parent 2ba4884cdc
commit 8db1528ae5
4 changed files with 65 additions and 0 deletions
+1
View File
@@ -8,6 +8,7 @@ app.config( function ( $routeProvider )
{
$routeProvider.when( "/home", { Title: "Home" } )
$routeProvider.when( "/:address/console", { Title: "Console", templateUrl: "html/console.html", Nav: true } )
$routeProvider.when( "/:address/chat", { Title: "Chat", templateUrl: "html/chat.html", Nav: true } )
$routeProvider.when( "/:address/playerlist", { Title: "Player List", templateUrl: "html/playerlist.html", Nav: true } )
$routeProvider.when( "/:address/player/:userid", { Title: "Player Info", templateUrl: "html/playerInfo.html" } )
$routeProvider.when( "/:address/player/:userid/xp", { Title: "Player Xp Stats", templateUrl: "html/playerXp.html" } )
+52
View File
@@ -0,0 +1,52 @@
app.controller( 'ChatController', ChatController );
function ChatController( $scope, rconService, $timeout )
{
$scope.Output = new Array();
$scope.SubmitCommand = function ()
{
$scope.Output.push( { Message: $scope.Command, Type: 'Command' } );
rconService.Command( "say " + $scope.Command, 1 );
$scope.Command = "";
}
$scope.$on( "OnMessage", function ( event, msg ) { $scope.OnMessage( msg ); } );
$scope.OnMessage = function( msg )
{
if ( msg.Type != "Chat" ) return;
msg.Class = msg.Type;
msg.Message = msg.Message.substr( 7 );
$scope.Output.push( msg );
$timeout( $scope.ScrollToBottom, 50 );
}
$scope.ScrollToBottom = function()
{
// TODO - don't scroll if we're not at the bottom !
$( "#ChatController .Output" ).scrollTop( $( "#ChatController .Output" )[0].scrollHeight );
}
//
// Calls console.tail - which returns the last 256 entries from the console.
// This is then added to the console
//
$scope.GetHistory = function ()
{
console.log( "GetHistory" );
rconService.Request( "console.tail 4096", $scope, function ( msg )
{
var messages = JSON.parse( msg.Message );
messages.forEach( function ( x ) { $scope.OnMessage( x ); } );
} );
}
rconService.InstallService( $scope, $scope.GetHistory )
}