server init

This commit is contained in:
ntr committed 2023-08-23 12:56:28 +10:00
1 parent 893155b53d
commit e7be495f7f
14 files changed
+213 -6

No files matched your search

+2 -4
View File
@@ -28,6 +28,8 @@ public class ShipControls : MonoBehaviour {
public PowerUnit powerUnit = new();
public float Speed => rigidBody.velocity.magnitude;
void Start() {
Cursor.lockState = CursorLockMode.Locked;
rigidBody = GetComponent<Rigidbody>();
@@ -160,10 +162,6 @@ public class ShipControls : MonoBehaviour {
timing.StartTimer();
}
public float Speed() {
return rigidBody.velocity.magnitude;
}
public void Damage(float amt, string src) {
Debug.Log($"Damage {amt} from {src}");
+1 -1
View File
@@ -93,7 +93,7 @@ public class ControlsUI : MonoBehaviour {
return;
}
speed.text = $"{ship.Speed():0}";
speed.text = $"{ship.Speed:0}";
shield.detail = ship.powerUnit.ShieldPct switch {
"100" => "",
string pct => pct,
+3
View File
@@ -0,0 +1,3 @@
POSTGRES_USER="spacerace"
POSTGRES_DB="spacerace"
POSTGRES_PASSWORD="zoomzoom"
+47
View File
@@ -0,0 +1,47 @@
db/
# -----------------
*.swp
*.*~
project.lock.json
.DS_Store
*.pyc
nupkg/
# Visual Studio Code
.vscode/
# Rider
.idea/
# Visual Studio
.vs/
# Fleet
.fleet/
# Code Rush
.cr/
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
msbuild.log
msbuild.err
msbuild.wrn
@@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Mvc;
using Server.Models;
namespace Server.Controllers;
[ApiController]
[Route("[controller]")]
public class CompletionController : ControllerBase {
private readonly ILogger<CompletionController> _logger;
public CompletionController(ILogger<CompletionController> logger) {
_logger = logger;
}
[HttpGet(Name = "GetCompletion")]
public IEnumerable<CompletionDTO> Get() {
return Enumerable.Range(1, 5).Select(index => new CompletionDTO()).ToArray();
}
}
+15
View File
@@ -0,0 +1,15 @@
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env
WORKDIR /App
# stops restore during build
COPY Server.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /App
COPY --from=build-env /App/out .
ENTRYPOINT ["dotnet", "DotNet.Docker.dll"]
+9
View File
@@ -0,0 +1,9 @@
namespace Server.Models;
public class CompletionDTO {
public DateTimeOffset Date { get; set; }
public Guid Id { get; set; }
public Guid UserId { get; set; }
public string Map { get; set; }
public double Time { get; set; }
}
+21
View File
@@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore;
using Server;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddDbContextPool<SpaceRaceDbContext>(options => {
options.UseNpgsql(
builder.Configuration.GetConnectionString("SpaceRace"),
assembly => assembly.MigrationsAssembly(typeof(SpaceRaceDbContext).Assembly.FullName)
);
});
var app = builder.Build();
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();
+41
View File
@@ -0,0 +1,41 @@
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:58932",
"sslPort": 44337
}
},
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "http://localhost:5212",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7246;http://localhost:5212",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Microsoft.EntityFrameworkCore;
namespace Server;
public class SpaceRaceDbContext : DbContext {
public DbSet<Completion> Completions { get; set; }
public SpaceRaceDbContext(DbContextOptions<SpaceRaceDbContext> options) : base(options) {}
}
public class Completion {
public DateTimeOffset Date { get; set; }
public Guid Id { get; set; }
public Guid UserId { get; set; }
public string Map { get; set; }
public double Time { get; set; }
}
+11
View File
@@ -0,0 +1,11 @@
{
"ConnectionStrings": {
"SpaceRace": "Server=pg;Port=5432;Database=spacerace;User Id=spacerace;Password=zoomzoom",
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
+18
View File
@@ -0,0 +1,18 @@
services:
pg:
image: postgres:latest
environment:
POSTGRES_USER: '${POSTGRES_USER}'
POSTGRES_DB: '${POSTGRES_DB}'
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
ports:
- '45432:5432'
volumes:
- "./db:/var/lib/postgresql/data"
server:
environment:
CONNECTIONSTRINGS__SPACERACE: "Server=pg;Port=5432;Database=${POSTGRES_DB};User Id=${POSTGRES_USER};Password=${POSTGRES_PASSWORD}"
build:
context: .
dockerfile: ./Dockerfile
-1
View File
@@ -1,7 +1,6 @@
# SpaceRace!
- controls UI
- output boost indicators
- controls diagram