Combine AllianceRequest & MutableAllianceRequest

This commit is contained in:
evanpelle
2025-01-23 11:15:51 -08:00
committed by Evan
parent 75fe718f16
commit 8f8bf5c3d7
4 changed files with 12 additions and 17 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
import { AllianceRequestUpdate, GameUpdateType, MutableAllianceRequest, Player, Tick } from "./Game";
import { AllianceRequestUpdate, GameUpdateType, AllianceRequest, Player, Tick } from "./Game";
import { GameImpl } from "./GameImpl";
export class AllianceRequestImpl implements MutableAllianceRequest {
export class AllianceRequestImpl implements AllianceRequest {
constructor(private requestor_: Player, private recipient_: Player, private tickCreated: number, private game: GameImpl) { }
+4 -9
View File
@@ -134,16 +134,11 @@ export interface Execution extends ExecutionView {
}
export interface AllianceRequest {
requestor(): Player
recipient(): Player
createdAt(): Tick
}
export interface MutableAllianceRequest extends AllianceRequest {
accept(): void
reject(): void
requestor(): Player
recipient(): Player
createdAt(): Tick
}
export interface Alliance {
@@ -264,15 +259,15 @@ export interface Player {
decayRelations(): void
// Alliances
incomingAllianceRequests(): MutableAllianceRequest[]
outgoingAllianceRequests(): MutableAllianceRequest[]
incomingAllianceRequests(): AllianceRequest[]
outgoingAllianceRequests(): AllianceRequest[]
alliances(): MutableAlliance[]
allies(): Player[]
isAlliedWith(other: Player): boolean
allianceWith(other: Player): MutableAlliance | null
recentOrPendingAllianceRequestWith(other: Player): boolean
breakAlliance(alliance: Alliance): void
createAllianceRequest(recipient: Player): MutableAllianceRequest
createAllianceRequest(recipient: Player): AllianceRequest
// Targeting
canTarget(other: Player): boolean
+2 -2
View File
@@ -1,5 +1,5 @@
import { Config } from "../configuration/Config";
import { Cell, Execution, Game, PlayerID, PlayerInfo, Player, TerraNullius, Unit, MutableAllianceRequest, Alliance, Nation, UnitType, UnitInfo, DefenseBonus, GameUpdate, GameUpdateType, AllPlayers, GameUpdates, TerrainType, EmojiMessage } from "./Game";
import { Cell, Execution, Game, PlayerID, PlayerInfo, Player, TerraNullius, Unit, AllianceRequest, Alliance, Nation, UnitType, UnitInfo, DefenseBonus, GameUpdate, GameUpdateType, AllPlayers, GameUpdates, TerrainType, EmojiMessage } from "./Game";
import { NationMap } from "./TerrainMapLoader";
import { PlayerImpl } from "./PlayerImpl";
import { TerraNulliusImpl } from "./TerraNulliusImpl";
@@ -120,7 +120,7 @@ export class GameImpl implements Game {
return this.nations_
}
createAllianceRequest(requestor: Player, recipient: Player): MutableAllianceRequest {
createAllianceRequest(requestor: Player, recipient: Player): AllianceRequest {
if (requestor.isAlliedWith(recipient)) {
consolex.log('cannot request alliance, already allied')
return
+4 -4
View File
@@ -1,4 +1,4 @@
import { Player, PlayerInfo, PlayerID, PlayerType, TerraNullius, Cell, Execution, AllianceRequest, MutableAllianceRequest, MutableAlliance, Alliance, Tick, AllPlayers, Gold, UnitType, Unit, Relation, PlayerUpdate, GameUpdateType, EmojiMessage } from "./Game";
import { Player, PlayerInfo, PlayerID, PlayerType, TerraNullius, Cell, Execution, AllianceRequest, MutableAlliance, Alliance, Tick, AllPlayers, Gold, UnitType, Unit, Relation, PlayerUpdate, GameUpdateType, EmojiMessage } from "./Game";
import { ClientID } from "../Schemas";
import { assertNever, closestOceanShoreFromPlayer, distSortUnit, simpleHash, sourceDstOceanShore, within } from "../Util";
import { CellString, GameImpl } from "./GameImpl";
@@ -168,11 +168,11 @@ export class PlayerImpl implements Player {
return this.mg.executions().filter(exec => exec.owner().id() == this.id());
}
incomingAllianceRequests(): MutableAllianceRequest[] {
incomingAllianceRequests(): AllianceRequest[] {
return this.mg.allianceRequests.filter(ar => ar.recipient() == this)
}
outgoingAllianceRequests(): MutableAllianceRequest[] {
outgoingAllianceRequests(): AllianceRequest[] {
return this.mg.allianceRequests.filter(ar => ar.requestor() == this)
}
@@ -227,7 +227,7 @@ export class PlayerImpl implements Player {
return this.isTraitor_
}
createAllianceRequest(recipient: Player): MutableAllianceRequest {
createAllianceRequest(recipient: Player): AllianceRequest {
if (this.isAlliedWith(recipient)) {
throw new Error(`cannot create alliance request, already allies`)
}