mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-24 09:55:04 +00:00
Combine AllianceRequest & MutableAllianceRequest
This commit is contained in:
@@ -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) { }
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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`)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user