bitburner-src/src/Terminal/ITerminal.ts

81 lines
2.4 KiB
TypeScript
Raw Normal View History

2021-09-16 01:50:44 +02:00
import { TextFile } from "../TextFile";
import { Script } from "../Script/Script";
import { IPlayer } from "../PersonObjects/IPlayer";
import { IEngine } from "../IEngine";
2021-09-16 20:43:39 +02:00
export class Output {
2021-09-16 08:52:45 +02:00
text: string;
color: "inherit" | "initial" | "primary" | "secondary" | "error" | "textPrimary" | "textSecondary" | undefined;
2021-09-16 20:43:39 +02:00
constructor(
text: string,
color: "inherit" | "initial" | "primary" | "secondary" | "error" | "textPrimary" | "textSecondary" | undefined,
) {
this.text = text;
this.color = color;
}
}
export class Link {
hostname: string;
constructor(hostname: string) {
this.hostname = hostname;
}
}
export class TTimer {
time: number;
timeLeft: number;
action: "h" | "b" | "a";
constructor(time: number, action: "h" | "b" | "a") {
this.time = time;
this.timeLeft = time;
this.action = action;
}
2021-09-16 08:52:45 +02:00
}
2021-09-16 01:50:44 +02:00
export interface ITerminal {
2021-09-16 20:43:39 +02:00
action: TTimer | null;
2021-09-16 02:06:48 +02:00
commandHistory: string[];
commandHistoryIndex: number;
2021-09-16 20:43:39 +02:00
outputHistory: (Output | Link)[];
2021-09-16 08:52:45 +02:00
2021-09-16 02:06:48 +02:00
// True if a Coding Contract prompt is opened
contractOpen: boolean;
// Full Path of current directory
// Excludes the trailing forward slash
currDir: string;
2021-09-16 01:50:44 +02:00
print(s: string, config?: any): void;
error(s: string): void;
2021-09-16 08:52:45 +02:00
clear(): void;
2021-09-16 01:50:44 +02:00
startAnalyze(): void;
startBackdoor(player: IPlayer): void;
startHack(player: IPlayer): void;
finishHack(player: IPlayer, cancelled?: boolean): void;
finishBackdoor(player: IPlayer, cancelled?: boolean): void;
finishAnalyze(player: IPlayer, cancelled?: boolean): void;
finishAction(player: IPlayer, cancelled?: boolean): void;
getFilepath(filename: string): string;
getFile(player: IPlayer, filename: string): Script | TextFile | string | null;
getScript(player: IPlayer, filename: string): Script | null;
getTextFile(player: IPlayer, filename: string): TextFile | null;
getLitFile(player: IPlayer, filename: string): string | null;
cwd(): string;
setcwd(dir: string): void;
runContract(player: IPlayer, name: string): void;
executeScanAnalyzeCommand(player: IPlayer, depth?: number, all?: boolean): void;
connectToServer(player: IPlayer, server: string): void;
executeCommand(engine: IEngine, player: IPlayer, command: string): void;
executeCommands(engine: IEngine, player: IPlayer, commands: string): void;
2021-09-16 08:52:45 +02:00
// If there was any changes, will return true, once.
pollChanges(): boolean;
2021-09-16 20:43:39 +02:00
process(player: IPlayer, cycles: number): void;
prestige(): void;
getProgressText(): string;
2021-09-16 01:50:44 +02:00
}