50 lines
1.1 KiB
C#
50 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using LuckerGame.Components.Lucker.Cameras;
|
|
using LuckerGame.Entities;
|
|
using Sandbox;
|
|
|
|
namespace LuckerGame.Minigames.FpsTest;
|
|
|
|
[Library("mg_fps_test")]
|
|
public class FpsTestMinigame : Minigame
|
|
{
|
|
public override string Name => "FPS Test";
|
|
private List<Lucker> Players { get; set; }
|
|
|
|
public override void Initialize( List<Lucker> players )
|
|
{
|
|
Players = players;
|
|
Players.ForEach( player =>
|
|
{
|
|
player.Components.Create<FpsCamera>();
|
|
Pawn fpsPawn = new Pawn();
|
|
fpsPawn.SetupOwner(player);
|
|
player.Pawn = fpsPawn;
|
|
|
|
// Get all of the spawnpoints
|
|
var spawnpoints = Entity.All.OfType<SpawnPoint>();
|
|
|
|
// chose a random one
|
|
var randomSpawnPoint = spawnpoints.OrderBy( x => Guid.NewGuid() ).FirstOrDefault();
|
|
|
|
// if it exists, place the pawn there
|
|
if ( randomSpawnPoint != null )
|
|
{
|
|
var tx = randomSpawnPoint.Transform;
|
|
tx.Position = tx.Position + Vector3.Up * 50.0f; // raise it up
|
|
player.Position = tx.Position;
|
|
}
|
|
} );
|
|
}
|
|
|
|
public override void Tick()
|
|
{
|
|
}
|
|
|
|
public override void Cleanup()
|
|
{
|
|
}
|
|
}
|