75 lines
2.0 KiB
C#
75 lines
2.0 KiB
C#
//-----------------------------------------------------------------------------
|
|
// Torque Game Engine
|
|
// Copyright (C) GarageGames.com, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Functions that implement game-play
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
package RacingGame {
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
function GameConnection::onClientEnterGame(%this)
|
|
{
|
|
commandToClient(%this, 'SyncClock', $Sim::Time - $Game::StartTime);
|
|
commandToClient(%this, 'SetGameGUI',"RacingGUI");
|
|
|
|
// Create a new camera object.
|
|
%this.camera = new Camera() {
|
|
dataBlock = Observer;
|
|
};
|
|
MissionCleanup.add( %this.camera );
|
|
%this.camera.scopeToClient(%this);
|
|
|
|
// Spawn the player
|
|
%this.score = 0;
|
|
%this.spawnPlayer();
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
function GameConnection::createPlayer(%this, %spawnPoint)
|
|
{
|
|
if (%this.player > 0) {
|
|
// The client should not have a player currently
|
|
// assigned. Assigning a new one could result in
|
|
// a player ghost.
|
|
error( "Attempting to create an angus ghost!" );
|
|
}
|
|
|
|
%player = new WheeledVehicle() {
|
|
dataBlock = DefaultCar;
|
|
client = %this;
|
|
};
|
|
|
|
MissionCleanup.add(%player);
|
|
|
|
// Car setup...
|
|
%player.setTransform(%spawnPoint);
|
|
%player.setShapeName(%this.name);
|
|
|
|
// Update the camera to start with the car
|
|
%this.camera.setTransform(%player.getEyeTransform());
|
|
|
|
// Give the client control of the car
|
|
%this.player = %player;
|
|
%this.setControlObject(%player);
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
function serverCmdSuicide(%client)
|
|
{
|
|
if (isObject(%client.player)) {
|
|
%client.player.delete();
|
|
%client.player = 0;
|
|
}
|
|
%client.spawnPlayer();
|
|
}
|
|
|
|
}; |