From a5767a2c7948d25deb5b0eabf7c7d9cef4b75729 Mon Sep 17 00:00:00 2001 From: Bastian Wagner Date: Sat, 26 Apr 2025 18:12:52 +0200 Subject: [PATCH] alpha --- public/sprites/ships/swift-hauler.png | Bin 0 -> 128354 bytes src/app/app.component.html | 14 ++- src/app/app.component.ts | 18 +++- .../planet-dialog.component.html | 54 ++++++++--- .../planet-dialog.component.scss | 6 ++ .../planet-dialog/planet-dialog.component.ts | 11 ++- .../ship-dialog/ship-dialog.component.html | 4 +- .../ship-dialog/ship-dialog.component.ts | 4 +- .../components/ships/buy/buy.component.html | 86 ++++++++++++++++++ .../components/ships/buy/buy.component.scss | 56 ++++++++++++ .../ships/buy/buy.component.spec.ts | 23 +++++ src/app/components/ships/buy/buy.component.ts | 59 ++++++++++++ .../status-bar/status-bar.component.html | 8 ++ .../status-bar/status-bar.component.scss | 11 +++ .../status-bar/status-bar.component.spec.ts | 23 +++++ .../status-bar/status-bar.component.ts | 26 ++++++ .../tutorial/welcome/welcome.component.html | 57 ++++++++++++ .../tutorial/welcome/welcome.component.scss | 20 ++++ .../welcome/welcome.component.spec.ts | 23 +++++ .../tutorial/welcome/welcome.component.ts | 18 ++++ src/app/data/planets.data.ts | 56 +++++++++--- src/app/model/goods/good-config.ts | 4 +- src/app/model/planet.model.ts | 20 ++-- src/app/model/ship.ts | 20 ++-- src/app/model/ships/ship.model.ts | 43 ++++++++- src/app/scene/map.scene.ts | 54 +++++++---- src/app/service/game.service.ts | 24 ++++- src/app/ui/planet-status.ui.ts | 9 +- src/app/ui/planet.ui.ts | 10 +- src/styles/_ui.scss | 13 ++- 30 files changed, 683 insertions(+), 91 deletions(-) create mode 100644 public/sprites/ships/swift-hauler.png create mode 100644 src/app/components/ships/buy/buy.component.html create mode 100644 src/app/components/ships/buy/buy.component.scss create mode 100644 src/app/components/ships/buy/buy.component.spec.ts create mode 100644 src/app/components/ships/buy/buy.component.ts create mode 100644 src/app/components/status-bar/status-bar.component.html create mode 100644 src/app/components/status-bar/status-bar.component.scss create mode 100644 src/app/components/status-bar/status-bar.component.spec.ts create mode 100644 src/app/components/status-bar/status-bar.component.ts create mode 100644 src/app/components/tutorial/welcome/welcome.component.html create mode 100644 src/app/components/tutorial/welcome/welcome.component.scss create mode 100644 src/app/components/tutorial/welcome/welcome.component.spec.ts create mode 100644 src/app/components/tutorial/welcome/welcome.component.ts diff --git a/public/sprites/ships/swift-hauler.png b/public/sprites/ships/swift-hauler.png new file mode 100644 index 0000000000000000000000000000000000000000..bed6db3cee0e0491195aaede480b783dfd71cb5d GIT binary patch literal 128354 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 @if (gameService.showShipInfo) { - + } @if (gameService.showPlanetInfo) { - + +} + +@if (gameService.showBuyShip) { + +} + + + +@if (gameService.showTutorial) { + } \ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 792e63a..1761833 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,4 +1,4 @@ -import { Component, ElementRef, inject, ViewChild } from '@angular/core'; +import { Component, ElementRef, inject, LOCALE_ID, ViewChild } from '@angular/core'; import Phaser from 'phaser'; import { MapScene } from './scene/map.scene'; import { MatDialog, MatDialogModule } from '@angular/material/dialog'; @@ -6,10 +6,20 @@ import { GameService } from './service/game.service'; import { ShipDialogComponent } from './components/dialog/ship-dialog/ship-dialog.component'; import { PlanetDialogComponent } from './components/dialog/planet-dialog/planet-dialog.component'; import { DragDropModule } from '@angular/cdk/drag-drop'; +import { StatusBarComponent } from './components/status-bar/status-bar.component'; +import { BuyComponent } from './components/ships/buy/buy.component'; + +import { registerLocaleData } from '@angular/common'; +import localeDe from '@angular/common/locales/de'; +import localeDeExtra from '@angular/common/locales/extra/de'; +import { WelcomeComponent } from './components/tutorial/welcome/welcome.component'; + +registerLocaleData(localeDe, 'de-DE', localeDeExtra); @Component({ selector: 'app-root', - imports: [MatDialogModule, ShipDialogComponent, PlanetDialogComponent, DragDropModule], + imports: [MatDialogModule, ShipDialogComponent, PlanetDialogComponent, DragDropModule, StatusBarComponent, BuyComponent, WelcomeComponent], + providers: [{ provide: LOCALE_ID, useValue: 'de-DE' }], templateUrl: './app.component.html', styleUrl: './app.component.scss' }) @@ -53,4 +63,8 @@ export class AppComponent { const game = new Phaser.Game(config); } + + stopPropagation(event: any) { + event.stopPropagation(); + } } diff --git a/src/app/components/dialog/planet-dialog/planet-dialog.component.html b/src/app/components/dialog/planet-dialog/planet-dialog.component.html index c1da5d4..302e5f0 100644 --- a/src/app/components/dialog/planet-dialog/planet-dialog.component.html +++ b/src/app/components/dialog/planet-dialog/planet-dialog.component.html @@ -1,5 +1,5 @@
-
+
{{ planet.name }}
@@ -7,7 +7,8 @@
-
👥 Bevölkerung: {{ population }} 🚀
+ @if (planet.hasHarbour) { +
👥 Bevölkerung: {{ population }} 🚀
Landebuchten: {{ planet.dockCapacity }}
@@ -21,7 +22,9 @@
-
📦 Vorräte:
+
📦 Vorräte:
@for (item of storedItems; track $index) {
{{ item.type }}: {{ item.amount | number:'0.0-1' }}
@@ -38,19 +41,42 @@
-
-
📦 In Lieferung:
-
    - @for (item of goodsInTransit; track $index) { -
  • {{ item.type }}: {{ item.amount | number:'0.0-1' }}
  • - } -
-
+ @if (goodsInTransit.length > 0) { +
+
📦 In Lieferung:
+
    + @for (item of goodsInTransit; track $index) { +
  • {{ item.type }}: {{ item.amount | number:'0.0-1' }}
  • + } +
+
+ } + + + } @else { +
Baue einen Raumhafen um diesen Planeten zu erschließen, und auf die Ressourcen zuzugreifen. Es bildet sich eine kleine Siedlung um den Raumhafen. Je besser diese versorgt ist, desto mehr Menschen ziehen hin. Gibt es zu wenig Rohstoffe, verlassen die Menschen die Siedlung und ziehen ins Umland um sich selbst zu versorgen.
+
+
🏭 Produktion:
+
    + @for (item of producedItems; track $index) { +
  • {{ item.type }}: +{{ item.productionRate | number:'0.0-2' }}/s
  • + } +
+
+ }
-
- - +
+ @if (planet.hasHarbour) { + + } @else { + + + }
\ No newline at end of file diff --git a/src/app/components/dialog/planet-dialog/planet-dialog.component.scss b/src/app/components/dialog/planet-dialog/planet-dialog.component.scss index 5e1336a..40d0c0c 100644 --- a/src/app/components/dialog/planet-dialog/planet-dialog.component.scss +++ b/src/app/components/dialog/planet-dialog/planet-dialog.component.scss @@ -4,4 +4,10 @@ position: absolute; top: 24px; left: 24px; + width: 500px; +} + +img { + width: 128px; + height: 128px; } \ No newline at end of file diff --git a/src/app/components/dialog/planet-dialog/planet-dialog.component.ts b/src/app/components/dialog/planet-dialog/planet-dialog.component.ts index 3a39828..c433d80 100644 --- a/src/app/components/dialog/planet-dialog/planet-dialog.component.ts +++ b/src/app/components/dialog/planet-dialog/planet-dialog.component.ts @@ -5,11 +5,12 @@ import { CommonModule } from '@angular/common'; import { Good } from '../../../model/goods/good.interface'; import { GoodType } from '../../../model/goods/good-type.enum'; import { GameService } from '../../../service/game.service'; -import {DragDropModule} from '@angular/cdk/drag-drop'; +import {CdkDragHandle, DragDropModule} from '@angular/cdk/drag-drop'; +import {MatTooltipModule} from '@angular/material/tooltip'; @Component({ selector: 'app-planet-dialog', - imports: [CommonModule, MatDialogModule, DragDropModule], + imports: [CommonModule, MatDialogModule, DragDropModule, MatTooltipModule, CdkDragHandle], templateUrl: './planet-dialog.component.html', styleUrl: './planet-dialog.component.scss' }) @@ -17,7 +18,6 @@ export class PlanetDialogComponent { public gameService: GameService = inject(GameService) ngOnInit() { - console.log(this.planet) } @@ -67,5 +67,10 @@ export class PlanetDialogComponent { this.planet.upgradeHarbour() } + + buildHarbour() { + this.planet.buildHarbour() + } + } diff --git a/src/app/components/dialog/ship-dialog/ship-dialog.component.html b/src/app/components/dialog/ship-dialog/ship-dialog.component.html index 9ac2d15..4e96e82 100644 --- a/src/app/components/dialog/ship-dialog/ship-dialog.component.html +++ b/src/app/components/dialog/ship-dialog/ship-dialog.component.html @@ -1,6 +1,6 @@
-
+
{{ ship.name }}
@@ -70,7 +70,7 @@
-
+
diff --git a/src/app/components/dialog/ship-dialog/ship-dialog.component.ts b/src/app/components/dialog/ship-dialog/ship-dialog.component.ts index f3747a4..4abcda4 100644 --- a/src/app/components/dialog/ship-dialog/ship-dialog.component.ts +++ b/src/app/components/dialog/ship-dialog/ship-dialog.component.ts @@ -2,12 +2,12 @@ import { CommonModule } from '@angular/common'; import { Component, inject } from '@angular/core'; import { GameService } from '../../../service/game.service'; import { Ship } from '../../../model/ships/ship.model'; -import { Good } from '../../../model/goods/good.interface'; import { TradeInstance } from '../../../model/planet.model'; +import { CdkDragHandle } from '@angular/cdk/drag-drop'; @Component({ selector: 'app-ship-dialog', - imports: [CommonModule], + imports: [CommonModule, CdkDragHandle], templateUrl: './ship-dialog.component.html', styleUrl: './ship-dialog.component.scss' }) diff --git a/src/app/components/ships/buy/buy.component.html b/src/app/components/ships/buy/buy.component.html new file mode 100644 index 0000000..5fc1b6f --- /dev/null +++ b/src/app/components/ships/buy/buy.component.html @@ -0,0 +1,86 @@ +
+
+ Raumschiff einsetzen +
+ +
+
🚀 Neues Schiff: Pioneer-1
+
    +
  • +
    Kosten:
    +
    {{ config.buyCost | number:'0.0-2'}} Credits
    +
  • +
  • +
    Frachtraum:
    +
    {{ config.cargoSize | number: '0.0-2'}} t
    +
  • +
  • +
    Max Geschwindigkeit:
    +
    {{ config.maxSpeed | number: '0.0-2'}} km/s
    +
  • + +
  • +
    Unterhalt:
    +
    {{ config.cost | number: '0.0-2'}} Credits
    +
  • +
+
+ +
+
🛣️ Route festlegen:
+ @if (availablePlanets.length == 0) { +
+ Um Planeten anfliegen zu können, musst du einen Weltraumhafen bauen. +
+ } +
+
+
Ausgewählte Planeten
+
+ @for (planet of selectedPlanets; track planet.name) { +
+ {{ planet.name }} +
+ } +
+
+ +
+
Verfügbare Planeten
+ +
+ @for (planet of availablePlanets; track planet.name) { +
+ {{ planet.name }} +
+ } +
+
+
+
+ +
+
Ausgewählte Route:
+
+ @for (planet of selectedPlanets; track planet.name) { +
{{ planet.name }}
+ } +
+
+ +
+ + + +
+
\ No newline at end of file diff --git a/src/app/components/ships/buy/buy.component.scss b/src/app/components/ships/buy/buy.component.scss new file mode 100644 index 0000000..b00528e --- /dev/null +++ b/src/app/components/ships/buy/buy.component.scss @@ -0,0 +1,56 @@ +:host { + position: absolute; + display: flex; + flex-direction: column; + position: absolute; + top: 24px; + left: 24px; + // width: 240px; + // height: 240px; + // background-color: var(--background-color); + // color: var(--primary-color); + width: 600px; + z-index: 1; +} + +.route-containers { + gap: 16px; + margin: 16px 0; +} + +.route-column { + flex: 1; +} + +.route-header { + font-size: 14px; + color: var(--secundary-color); + margin-bottom: 8px; +} + +.route-selection { + min-height: 100px; + border: 1px solid #202d3e; + border-radius: 8px; + padding: 8px; +} + +.planet-option { + padding: 8px; + margin: 4px 0; + background-color: #1c243b; + border-radius: 4px; + cursor: move; + + &:hover { + background-color: #3c8dbc; + } +} + +.route { + display: flex; + gap: 8px; + padding: 8px; + border: 1px solid #202d3e; + border-radius: 4px; +} \ No newline at end of file diff --git a/src/app/components/ships/buy/buy.component.spec.ts b/src/app/components/ships/buy/buy.component.spec.ts new file mode 100644 index 0000000..effc14b --- /dev/null +++ b/src/app/components/ships/buy/buy.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BuyComponent } from './buy.component'; + +describe('BuyComponent', () => { + let component: BuyComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [BuyComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(BuyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/ships/buy/buy.component.ts b/src/app/components/ships/buy/buy.component.ts new file mode 100644 index 0000000..b8f6b7f --- /dev/null +++ b/src/app/components/ships/buy/buy.component.ts @@ -0,0 +1,59 @@ +import { CommonModule } from '@angular/common'; +import { Component, inject } from '@angular/core'; +import { GameService } from '../../../service/game.service'; +import { CdkDrag, CdkDragDrop, CdkDragHandle, CdkDropList, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop'; +import { Planet } from '../../../model/planet.model'; +import { ShipConfig } from '../../../model/ships/ship.model'; + +@Component({ + selector: 'app-buy', + imports: [CommonModule, CdkDropList, CdkDrag, CdkDragHandle], + templateUrl: './buy.component.html', + styleUrl: './buy.component.scss' +}) +export class BuyComponent { + private gameService: GameService = inject(GameService); + + availablePlanets: Planet[] = this.gameService.planets.filter(p => p.hasHarbour); + selectedPlanets: Planet[] = []; + config: ShipConfig = { + name: 'Pioneer-01', + acceleration: 500, + cargoSize: 10, + cost: 0.6, + loadingSpeed: 25, + maxSpeed: 500, + planetRoute: [], + buyCost: 2000 + } + + canAffordShip() { + return this.gameService.money >= 3000; + } + + buyShip() { + if (!this.canAffordShip()) return; + this.gameService.createShip({ + ...this.config, + planetRoute: this.selectedPlanets + }) + this.close(); + } + + close() { + this.gameService.showBuyShip = false; + } + + drop(event: CdkDragDrop) { + if (event.previousContainer === event.container) { + moveItemInArray(event.container.data, event.previousIndex, event.currentIndex); + } else { + transferArrayItem( + event.previousContainer.data, + event.container.data, + event.previousIndex, + event.currentIndex, + ); + } + } +} diff --git a/src/app/components/status-bar/status-bar.component.html b/src/app/components/status-bar/status-bar.component.html new file mode 100644 index 0000000..39fc4f1 --- /dev/null +++ b/src/app/components/status-bar/status-bar.component.html @@ -0,0 +1,8 @@ +
+ +
+ Credits: {{gameService.money | number:'0.0-0'}} +
+ + +
\ No newline at end of file diff --git a/src/app/components/status-bar/status-bar.component.scss b/src/app/components/status-bar/status-bar.component.scss new file mode 100644 index 0000000..a39c4da --- /dev/null +++ b/src/app/components/status-bar/status-bar.component.scss @@ -0,0 +1,11 @@ +:host { + display: flex; + position: absolute; + top: 4px; + left: 40%; + pointer-events: auto; +} + +.gamebar { + align-items: center; +} \ No newline at end of file diff --git a/src/app/components/status-bar/status-bar.component.spec.ts b/src/app/components/status-bar/status-bar.component.spec.ts new file mode 100644 index 0000000..c808399 --- /dev/null +++ b/src/app/components/status-bar/status-bar.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { StatusBarComponent } from './status-bar.component'; + +describe('StatusBarComponent', () => { + let component: StatusBarComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [StatusBarComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(StatusBarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/status-bar/status-bar.component.ts b/src/app/components/status-bar/status-bar.component.ts new file mode 100644 index 0000000..aeb6720 --- /dev/null +++ b/src/app/components/status-bar/status-bar.component.ts @@ -0,0 +1,26 @@ +import { Component, inject } from '@angular/core'; +import { GameService } from '../../service/game.service'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-status-bar', + imports: [CommonModule], + templateUrl: './status-bar.component.html', + styleUrl: './status-bar.component.scss' +}) +export class StatusBarComponent { + public gameService: GameService = inject(GameService); + + + onClick(event: any) { + event.stopPropagation(); + } + + print() { + console.log("PRI") + } + + toggleBuy() { + this.gameService.showBuyShip = !this.gameService.showBuyShip; + } +} diff --git a/src/app/components/tutorial/welcome/welcome.component.html b/src/app/components/tutorial/welcome/welcome.component.html new file mode 100644 index 0000000..cf5c838 --- /dev/null +++ b/src/app/components/tutorial/welcome/welcome.component.html @@ -0,0 +1,57 @@ +
+
+

🚀 Willkommen bei StellarLines

+
+ +
+
+

Deine interplanetare Handelsgesellschaft

+

+ Willkommen im Jahr 2184! +
+
+ Als aufstrebender Unternehmer ist es deine Aufgabe, + ein florierendes Handelsnetzwerk zwischen den Planeten aufzubauen. Gründe ein + interplanetares Frachtunternehmen, transportiere wichtige Güter zwischen den + Kolonien und erwirtschafte Profite mit jedem erfolgreichen Transport. +

+
+ +
+

🎯 Deine Ziele:

+
    +
  • Errichte Raumhäfen auf verschiedenen Planeten
  • +
  • Baue Handelsrouten zwischen den Planeten auf
  • +
  • Versorge die Siedlungen mit wichtigen Gütern
  • +
  • Erweitere deine Handelsflotte
  • +
  • Schaffe prosperierende Kolonien
  • +
+
+ +
+

🎮 So spielst du:

+
    +
  1. Wähle einen Planeten und baue einen Raumhafen
  2. +
  3. Kaufe dein erstes Handelsschiff (Hierfür brauchst du 2 Planeten)
  4. +
  5. Lege Handelsrouten zwischen Planeten fest
  6. +
  7. Versorge die Siedlungen mit Rohstoffen
  8. +
  9. Erwirtschafte Gewinne durch geschickten Handel
  10. +
+
+ +
+

💡 Tipp:

+

+ Achte auf die Bedürfnisse der Siedlungen. Gut versorgte Kolonien wachsen und + erhöhen ihren Bedarf an Waren. Bei Mangel wandern die Siedler ab! Für den Anfang benötigen die Kolonien nur Nahrung und Wasser. Mit wachsender Bevölkerung steigt auch der Bedarf an weiteren Rohstoffen. +

+ Du beginnst mit 10.000 Credits. Gib sie weise aus, Schiffe und Raumhäfen kosten Unterhalt. Je mehr Waren du transportierst, desto mehr Geld verdienst du auch. Planeten kaufen allerdings nur Waren, die sie auch brauchen. + Schiffe auf Handelsrouten fliegen die Planeten ab, und versorgen sie automatisch mit den Gütern die sie benötigen. +

+
+
+ +
+ +
+
\ No newline at end of file diff --git a/src/app/components/tutorial/welcome/welcome.component.scss b/src/app/components/tutorial/welcome/welcome.component.scss new file mode 100644 index 0000000..bc4be99 --- /dev/null +++ b/src/app/components/tutorial/welcome/welcome.component.scss @@ -0,0 +1,20 @@ +:host { + display: flex; + flex-direction: column; + position: absolute; + top: 24px; + left: 24px; + right: 24px; + bottom: 24px; +} + +.ui-body{ + overflow-y: auto; +} + +.ui-panel { + height: 100%; + overflow: hidden; + display: flex; + flex-direction: column; +} \ No newline at end of file diff --git a/src/app/components/tutorial/welcome/welcome.component.spec.ts b/src/app/components/tutorial/welcome/welcome.component.spec.ts new file mode 100644 index 0000000..92182b5 --- /dev/null +++ b/src/app/components/tutorial/welcome/welcome.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { WelcomeComponent } from './welcome.component'; + +describe('WelcomeComponent', () => { + let component: WelcomeComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [WelcomeComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(WelcomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/tutorial/welcome/welcome.component.ts b/src/app/components/tutorial/welcome/welcome.component.ts new file mode 100644 index 0000000..98d7b02 --- /dev/null +++ b/src/app/components/tutorial/welcome/welcome.component.ts @@ -0,0 +1,18 @@ +import { Component, inject } from '@angular/core'; +import { GameService } from '../../../service/game.service'; + +@Component({ + selector: 'app-welcome', + imports: [], + templateUrl: './welcome.component.html', + styleUrl: './welcome.component.scss' +}) +export class WelcomeComponent { + + gameService = inject(GameService); + + + close() { + this.gameService.showTutorial = false; + } +} diff --git a/src/app/data/planets.data.ts b/src/app/data/planets.data.ts index 928b0ed..369fad2 100644 --- a/src/app/data/planets.data.ts +++ b/src/app/data/planets.data.ts @@ -3,21 +3,20 @@ import { PlanetInit } from "../model/planet.model"; export const PLANETCONFIGS: { x: number, y: number, texture: string, config: PlanetInit}[] = [ { - x: 200, - y: 300, + x: 600, + y: 800, texture: 'terra-nova', config: { name: 'Terra Nova', initialGoods: [ - { type: GoodType.Wasser, amount: 120 }, - { type: GoodType.Nahrung, amount: 80, productionBonus: 1.3 }, - { type: GoodType.Erz, amount: 100 } + { type: GoodType.Wasser, amount: 15 }, + { type: GoodType.Nahrung, amount: 8, productionBonus: 1.3 }, ] } }, { - x: 600, - y: 200, + x: 3000, + y: 900, texture: 'mechanica-prime', config: { name: 'Mechanica Prime', @@ -31,21 +30,21 @@ export const PLANETCONFIGS: { x: number, y: number, texture: string, config: Pla } }, { - x: 400, - y: 700, + x: 1800, + y: 2800, texture: 'aqualis', config: { name: 'Aqualis', initialGoods: [ - { type: GoodType.Wasser, amount: 300, productionBonus: 2.0 }, - { type: GoodType.Nahrung, amount: 60 }, + { type: GoodType.Wasser, amount: 30, productionBonus: 2.0 }, + { type: GoodType.Nahrung, amount: 15 }, { type: GoodType.Treibstoff, amount: 10 } ] } }, { - x: 900, - y: 500, + x: 3900, + y: 2500, texture: 'planet', config: { name: 'Ferron', @@ -59,8 +58,8 @@ export const PLANETCONFIGS: { x: number, y: number, texture: string, config: Pla } }, { - x: 800, - y: 800, + x: 5400, + y: 1400, texture: 'novus-reach', config: { name: 'Novus Reach', @@ -71,4 +70,31 @@ export const PLANETCONFIGS: { x: number, y: number, texture: string, config: Pla ] } } + , + { + x: 3700, + y: 4600, + texture: 'novus-reach', + config: { + name: 'Novus Reach 2', + initialGoods: [ + { type: GoodType.Nahrung, amount: 90, productionBonus: 1.5 }, + { type: GoodType.Wasser, amount: 50 }, + { type: GoodType.Bauteile, amount: 15 } + ] + } + }, + { + x: 6000, + y: 3600, + texture: 'terra-nova', + config: { + name: 'Terra Nova 2', + initialGoods: [ + { type: GoodType.Wasser, amount: 120 }, + { type: GoodType.Nahrung, amount: 80, productionBonus: 1.3 }, + { type: GoodType.Erz, amount: 100 } + ] + } + } ] \ No newline at end of file diff --git a/src/app/model/goods/good-config.ts b/src/app/model/goods/good-config.ts index 58ec627..c277342 100644 --- a/src/app/model/goods/good-config.ts +++ b/src/app/model/goods/good-config.ts @@ -9,8 +9,8 @@ export interface GoodConfig { export const GOODS_DATA: Record = { [GoodType.Erz]: { baseProduction: 1.0, baseDemand: 0, storageLimit: 500, isRawResource: true }, - [GoodType.Wasser]: { baseProduction: 1, baseDemand: 0.015, storageLimit: 300, isRawResource: true }, - [GoodType.Nahrung]: { baseProduction: 1, baseDemand: 0.01, storageLimit: 200, isRawResource: true }, + [GoodType.Wasser]: { baseProduction: 1, baseDemand: 0.0015, storageLimit: 300, isRawResource: true }, + [GoodType.Nahrung]: { baseProduction: 1, baseDemand: 0.001, storageLimit: 200, isRawResource: true }, [GoodType.Metall]: { baseProduction: 1, baseDemand: 0, storageLimit: 300, isRawResource: false }, [GoodType.Treibstoff]: { baseProduction: 1, baseDemand: 0, storageLimit: 150, isRawResource: false }, [GoodType.Elektronik]: { baseProduction: 1, baseDemand: 0, storageLimit: 100, isRawResource: false }, diff --git a/src/app/model/planet.model.ts b/src/app/model/planet.model.ts index 4d1e3d1..ad0a405 100644 --- a/src/app/model/planet.model.ts +++ b/src/app/model/planet.model.ts @@ -1,8 +1,7 @@ -import { interval, Subscription } from "rxjs"; +import { interval } from "rxjs"; import { GoodType } from "./goods/good-type.enum"; import { GOODS_DATA } from "./goods/good-config"; import { Good } from "./goods/good.interface"; -import { ShipUi } from "./ship"; import { Ship } from "./ships/ship.model"; import { GameService } from "../service/game.service"; @@ -17,7 +16,7 @@ export class Planet { public isGrowing: boolean = false; private populationGrowthRate = 0.002; // Basiswachstum pro Tick (%) private populationDeclineRate = 0.005; // Basisrückgang bei Mangel (%) - demandSecondsBuffer = 30; // Anfrage immer mindestens 30 Sekunden überleben + demandSecondsBuffer = 150; // Anfrage immer mindestens 30 Sekunden überleben private productionLevel: Map = new Map(); private dockedShips: Ship[] = []; @@ -26,6 +25,8 @@ export class Planet { private gameService: GameService; + hasHarbour = false; + constructor(config: PlanetInit, gameService: GameService) { this.name = config.name; @@ -133,12 +134,14 @@ export class Planet { const inTransit = this.goodsInTransit.filter(g => g.type == good.type).reduce((acc, succ) => acc + succ.amount, 0); + if (demand < good.amount + inTransit) { + console.log(`[${this.name}] Skipping request for ${good.type}: ${inTransit} in transit + ${good.amount} > ${demand}`); continue; // Es werden genug geliefert. } result.push({ - amount: demand * 3, // Request 3x buffer amount + amount: demand * 5, // Request 3x buffer amount type: good.type, target: this.name, }) @@ -286,10 +289,7 @@ export class Planet { } undock(ship: Ship) { - console.log("undock", ship.name) this.dockedShips = this.dockedShips.filter(d => d != ship); - console.log('Angedockt: ',this.dockedShips.map(d => d.name).join(',')) - console.log('wartend: ',this.shipsWaitingForDocking.map(d => d.name).join(',')) } get goodsInTransit(): TradeInstance[] { @@ -303,6 +303,12 @@ export class Planet { this.dockCapacity++; } + + buildHarbour() { + this.hasHarbour = true; + this.gameService.money -= 3000; + } + } export interface PlanetInit { diff --git a/src/app/model/ship.ts b/src/app/model/ship.ts index 2d970e7..1e8b54f 100644 --- a/src/app/model/ship.ts +++ b/src/app/model/ship.ts @@ -8,23 +8,23 @@ export class ShipUi extends Phaser.Physics.Arcade.Sprite { private velocity = new Phaser.Math.Vector2(0, 0); private target: PlanetUi | null = null; private targetVector: Phaser.Math.Vector2 | null = null; // Später Planet! - public model: Ship = new Ship(); + public model: Ship; public gameService: GameService; private orbitAngle: number = 0; private orbitRadius: number = 120; private orbitSpeed: number = Math.PI / 25; // Eine Runde in 2 Sekunden - constructor(scene: MapScene, x: number, y: number, gameService: GameService) { + constructor(scene: MapScene, x: number, y: number, gameService: GameService, ship: Ship) { super(scene, x, y, 'ship'); this.gameService = gameService; - + this.model = ship; scene.add.existing(this); scene.physics.add.existing(this); this.setOrigin(0.5); this.setScale(1); // oder z. B. 0.5 je nach Bildgröße - this.setDisplaySize(32, 32) + this.setDisplaySize(96, 128) this.setCollideWorldBounds(true); const conf: Phaser.Types.Input.InputConfiguration = { useHandCursor: true @@ -62,7 +62,7 @@ export class ShipUi extends Phaser.Physics.Arcade.Sprite { switch (this.model.flightMode) { case FlightMode.Normal: - if (distance < 150) { + if (distance < (this.target.height / 2) + 100) { this.startOrbit(this.target); return; } @@ -73,7 +73,7 @@ export class ShipUi extends Phaser.Physics.Arcade.Sprite { break; case FlightMode.Docking: this.flyDirectlyToTarget(to, dt); - if (distance < 5) { + if (distance < 150) { this.land(); } break; @@ -104,21 +104,21 @@ export class ShipUi extends Phaser.Physics.Arcade.Sprite { this.velocity.set(Math.cos(angle) * this.model.currentSpeed, Math.sin(angle) * this.model.currentSpeed); this.body.setVelocity(this.velocity.x, this.velocity.y); - this.setRotation(this.velocity.angle() + Phaser.Math.DegToRad(180)); + this.setRotation(this.velocity.angle() + Phaser.Math.DegToRad(90)); } private updateOrbit(center: Phaser.Math.Vector2, dt: number): void { if (!(this.body instanceof Phaser.Physics.Arcade.Body)) { return; } this.orbitAngle += this.orbitSpeed * dt; - const targetX = center.x + Math.cos(this.orbitAngle) * this.orbitRadius; - const targetY = center.y + Math.sin(this.orbitAngle) * this.orbitRadius; + const targetX = center.x + Math.cos(this.orbitAngle) * this.target!.height / 2; + const targetY = center.y + Math.sin(this.orbitAngle) * this.target!.height / 2; const desiredVelocityX = (targetX - this.getWorldPoint().x) * 5; const desiredVelocityY = (targetY - this.getWorldPoint().y) * 5; this.body.setVelocity(desiredVelocityX, desiredVelocityY); - this.setRotation(this.body.velocity.angle() + Phaser.Math.DegToRad(180)); + this.setRotation(this.body.velocity.angle() + Phaser.Math.DegToRad(90)); // Umdrehungen zählen if (this.orbitAngle >= Math.PI * 2) { diff --git a/src/app/model/ships/ship.model.ts b/src/app/model/ships/ship.model.ts index b4da8d4..37fa974 100644 --- a/src/app/model/ships/ship.model.ts +++ b/src/app/model/ships/ship.model.ts @@ -1,17 +1,49 @@ +import { interval } from "rxjs"; import { Good } from "../goods/good.interface"; import { Planet, TradeInstance } from "../planet.model"; import { TradeRoute } from "../routes/trade-route.model"; +import { GameService } from "../../service/game.service"; + +export interface ShipConfig { + name: string; + cargoSize: number; + acceleration: number; + maxSpeed: number; + loadingSpeed: number; + cost: number; + planetRoute: Planet[]; + buyCost: number; +} export class Ship { - public acceleration = 10; // Pixel pro Sekunde² - public maxSpeed = 100; + public acceleration = 20; // Pixel pro Sekunde² + public maxSpeed = 500; public currentSpeed = 0; - public cargoSize = 50; + public cargoSize = 10; cargoSpace: TradeInstance[] = []; public route: TradeRoute | undefined = new TradeRoute([]) public name = "Pioneer-01-" + Math.round(Math.random() * 100); public loadingSpeed = 3.5; + public cost = 0.5 + + private updateInterval = interval(1000); + private gameService: GameService; + + constructor(gameService: GameService, config: ShipConfig) { + this.gameService = gameService; + this.acceleration = config.acceleration; + this.cargoSize = config.cargoSize; + this.maxSpeed = config.maxSpeed; + this.loadingSpeed = config.loadingSpeed; + this.cost = config.cost; + this.route = new TradeRoute(config.planetRoute) + + this.updateInterval.subscribe(() => { + this.update(); + }) + } + public status: 'loading' | 'unloading' | 'waiting' | 'idle' | 'traveling' = 'idle'; public flightMode: FlightMode = FlightMode.Normal; @@ -89,6 +121,7 @@ export class Ship { if (existing) { existing.amount -= (cargo.amount / steps); to.amount += (cargo.amount / steps); + this.gameService.money += 5; } await this.waitForLoading(1) } @@ -126,6 +159,10 @@ export class Ship { }, amount * 1000 / this.loadingSpeed) }) } + + update() { + this.gameService.money -= this.cost; + } } export enum FlightMode { diff --git a/src/app/scene/map.scene.ts b/src/app/scene/map.scene.ts index 1a0d9dc..780f739 100644 --- a/src/app/scene/map.scene.ts +++ b/src/app/scene/map.scene.ts @@ -21,14 +21,14 @@ export class MapScene extends Phaser.Scene { } preload() { - this.load.image('ship', 'sprites/ships/01-starter.png'); + this.load.image('ship', 'sprites/ships/swift-hauler.png'); this.load.image('harbour', 'sprites/buildings/harbour.png'); - this.load.image('planet', 'sprites/planets/sm/planet-1.png'); - this.load.image('terra-nova', 'sprites/planets/sm/terra-nova.png'); - this.load.image('mechanica-prime', 'sprites/planets/sm/mechanica-prime.png'); - this.load.image('novus-reach', 'sprites/planets/sm/novus-reach.png'); - this.load.image('aqualis', 'sprites/planets/sm/aqualis.png'); - this.load.image('ferron', 'sprites/planets/sm/ferron.png'); + this.load.image('planet', 'sprites/planets/planet-1.png'); + this.load.image('terra-nova', 'sprites/planets/terra-nova.png'); + this.load.image('mechanica-prime', 'sprites/planets/mechanica-prime.png'); + this.load.image('novus-reach', 'sprites/planets/novus-reach.png'); + this.load.image('aqualis', 'sprites/planets/aqualis.png'); + this.load.image('ferron', 'sprites/planets/ferron.png'); } create() { @@ -79,7 +79,7 @@ export class MapScene extends Phaser.Scene { const now = Date.now(); if (now - this.lastZoomTime < 50) return; // nur alle 100ms this.lastZoomTime = now; - const factor = 1.05; + const factor = 1.1; if (deltaY > 0) { this.camera.setZoom(this.camera.zoom / factor); } else { @@ -91,23 +91,20 @@ export class MapScene extends Phaser.Scene { this.camera.setZoom(Phaser.Math.Clamp(this.camera.zoom, minScale, 1)); }); - this.createShip(); - setTimeout(() => { - this.createShip(); - }, 100) + this.camera.setZoom(0.4) + + this.gameService.onShipCreate.subscribe(ship => { + const ui = new ShipUi(this, 100, 100, this.gameService, ship); + ui.activateRoute(); + this.physics.world.enable(ui); + this.ships.push(ui); + }) + // this.enableMouseLogging(); } - createShip() { - const s = new ShipUi(this, 100, 100, this.gameService); - s.model.route = new TradeRoute(this.planets.filter(planet => ['Terra Nova', 'Aqualis'].includes(planet.model.name)).map(planet => planet.model)) - this.ships.push(s) - this.physics.world.enable(s); - s.activateRoute(); - this.gameService.ships.push(s.model) - } override update(time: number, delta: number): void { if (this.ship) { @@ -132,6 +129,7 @@ export class MapScene extends Phaser.Scene { }); this.planets.push(planet); this.gameService.planets.push(planet.model); + } } @@ -146,4 +144,20 @@ export class MapScene extends Phaser.Scene { getPlanetUiByName(name: string) { return this.planets.find(p => p.model.name == name); } + + enableMouseLogging() { + let mouseText: Phaser.GameObjects.Text; + + this.input.on('pointermove', (pointer: Phaser.Input.Pointer) => { + if (!mouseText) { + mouseText = this.add.text(30, 30, '', { + fontSize: '160px', + color: '#00ff00', + backgroundColor: '#000000', + padding: { x: 5, y: 2 } + }).setScrollFactor(0).setDepth(9999); + } + mouseText.setText(`X: ${pointer.worldX.toFixed(0)}\nY: ${pointer.worldY.toFixed(0)}`); + }); + } } \ No newline at end of file diff --git a/src/app/service/game.service.ts b/src/app/service/game.service.ts index 2768cd2..76c5a3a 100644 --- a/src/app/service/game.service.ts +++ b/src/app/service/game.service.ts @@ -1,8 +1,6 @@ -import { inject, Injectable } from "@angular/core"; -import { MatDialog, MatDialogRef } from "@angular/material/dialog"; -import { PlanetDialogComponent } from "../components/dialog/planet-dialog/planet-dialog.component"; +import { EventEmitter, Injectable } from "@angular/core"; import { Planet } from "../model/planet.model"; -import { Ship } from "../model/ships/ship.model"; +import { Ship, ShipConfig } from "../model/ships/ship.model"; @Injectable({ providedIn: 'root', @@ -10,10 +8,17 @@ import { Ship } from "../model/ships/ship.model"; export class GameService { public showPlanetInfo: Planet | undefined; public showShipInfo: Ship | undefined; + public showBuyShip = false; public ships: Ship[] = []; public planets: Planet[] = []; + showTutorial = true; + + public money = 10000; + + onShipCreate: EventEmitter = new EventEmitter(); + constructor() {} showDialog(planet: Planet) { @@ -27,4 +32,15 @@ export class GameService { get canDrag(): boolean { return this.showShipInfo == undefined && this.showPlanetInfo == undefined; } + + + createShip(config: ShipConfig) { + if (this.money < config.buyCost) { + return; + } + this.money -= config.buyCost; + const ship = new Ship(this, config); + this.ships.push(ship); + this.onShipCreate.emit(ship); + } } \ No newline at end of file diff --git a/src/app/ui/planet-status.ui.ts b/src/app/ui/planet-status.ui.ts index 7e54b1a..6810bdd 100644 --- a/src/app/ui/planet-status.ui.ts +++ b/src/app/ui/planet-status.ui.ts @@ -25,6 +25,7 @@ export class PlanetStatus { } update() { + this.container.setScale(1 / this.scene.cameras.main.zoom) const population = Math.floor(this.getPopulation()); const growth = this.getGrowthState(); const criticalGoods = this.getCriticalGoods(); @@ -41,7 +42,13 @@ export class PlanetStatus { criticalText = ' 🛑 ' + criticalGoods.map(g => g.toString().substring(0, 2)).join(','); } - this.text.setText(`${this.planetSprite.model.name}, 👥 ${population} ${growthSymbol}${criticalText}`); + let text = `${this.planetSprite.model.name}`; + + if (this.planetSprite.model.hasHarbour) { + text += `, 👥 ${population} ${growthSymbol}${criticalText}` + } + + this.text.setText(text); // Position immer über Planet aktualisieren this.container.setPosition(this.planetSprite.x, this.planetSprite.y - (this.planetSprite.height / 2) - 5); diff --git a/src/app/ui/planet.ui.ts b/src/app/ui/planet.ui.ts index 057f142..c20af56 100644 --- a/src/app/ui/planet.ui.ts +++ b/src/app/ui/planet.ui.ts @@ -10,6 +10,7 @@ export class PlanetUi extends Phaser.Physics.Arcade.Sprite { public rightClick: EventEmitter = new EventEmitter(); public model: Planet; private status: PlanetStatus | undefined; + private harbourImage!: any; private updateInterval = interval(1000) @@ -41,8 +42,11 @@ export class PlanetUi extends Phaser.Physics.Arcade.Sprite { this.updateInterval.subscribe(() => this.update()) - const image = this.scene.add.image(this.getWorldPoint().x, this.getWorldPoint().y, 'harbour') - image.setDisplaySize(64, 96); + this.harbourImage = this.scene.add.image(this.getWorldPoint().x, this.getWorldPoint().y, 'harbour') + this.harbourImage.setDisplaySize(164, 256); + this.harbourImage.setVisible(false); + + // this.setScale(0.5) // this.setInteractive(new Phaser.Geom.Circle(x, y, 200), Phaser.Geom.Circle.Contains); } @@ -65,6 +69,8 @@ export class PlanetUi extends Phaser.Physics.Arcade.Sprite { } this.status?.update(); + this.harbourImage.setVisible(this.model.hasHarbour) + } } \ No newline at end of file diff --git a/src/styles/_ui.scss b/src/styles/_ui.scss index d5b7de2..a298489 100644 --- a/src/styles/_ui.scss +++ b/src/styles/_ui.scss @@ -5,9 +5,13 @@ $color-background: #0b1120; $color-panel: #1c243b; $color-text-primary: #e0f0ff; $color-text-secondary: #a0b8d8; -$color-water: #4fc1e9; -$color-food: #f7c06b; +$color-water: #137092; +$color-food: #a87f41; $color-ore: #c1543a; +$color-metal: #4d4d4d; +$color-fuel: #2e5c2d; +$color-electronics: #4d2d6b; +$color-workparts: #441631; $color-success: #4CAF50; $color-error: #f44336; $color-button: #1c243b; @@ -86,6 +90,10 @@ $font-size-base: 14px; &.wasser .progress-fill { background-color: $color-water; } &.nahrung .progress-fill { background-color: $color-food; } &.erz .progress-fill { background-color: $color-ore; } + &.metall .progress-fill { background-color: $color-metal; } + &.treibstoff .progress-fill { background-color: $color-fuel; } + &.elektronik .progress-fill { background-color: $color-electronics; } + &.bauteile .progress-fill { background-color: $color-workparts; } } .button { @@ -113,6 +121,7 @@ $font-size-base: 14px; .flex { display: flex; justify-content: space-between; + gap: 8px; } .ui-body > .ui-section {