Add places and characters as separate classes
This commit is contained in:
parent
860398a340
commit
e44a545377
70
src/view/gamemodel/CharactersES.ts
Normal file
70
src/view/gamemodel/CharactersES.ts
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
import { Characters } from "../model/Characters";
|
||||||
|
import { NameInfo } from "../model/NameInfo";
|
||||||
|
|
||||||
|
export class CharactersES extends Characters {
|
||||||
|
|
||||||
|
public override init(): void {
|
||||||
|
this.makeNamesUnknown();
|
||||||
|
this.makeNamesKnown();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override makeNamesUnknown(): void {
|
||||||
|
super.makeNamesUnknown();
|
||||||
|
// https://github.com/yakui-lover/eroge-dopil/blob/master/media.rpy#L365
|
||||||
|
this.names["me"] = new NameInfo("Семён", 0xFFE1DD7D);
|
||||||
|
this.names["un"] = new NameInfo("Пионерка", 0xFFB956FF);
|
||||||
|
this.names["dv"] = new NameInfo("Пионерка", 0xFFFFAA00);
|
||||||
|
this.names["sl"] = new NameInfo("Пионерка", 0xFFFFD200);
|
||||||
|
this.names["us"] = new NameInfo("Пионерка", 0xFFFF3200);
|
||||||
|
this.names["mt"] = new NameInfo("Вожатая", 0xFF00EA32);
|
||||||
|
this.names["cs"] = new NameInfo("Медсестра", 0xFFA5A5FF);
|
||||||
|
this.names["mz"] = new NameInfo("Пионерка", 0xFF4A86FF);
|
||||||
|
this.names["mi"] = new NameInfo("Пионерка", 0xFF00DEFF);
|
||||||
|
this.names["uv"] = new NameInfo("Странная девочка", 0xFF4EFF00);
|
||||||
|
this.names["lk"] = new NameInfo("Луркмор-кун", 0xFFFF8080);
|
||||||
|
this.names["sh"] = new NameInfo("Пионер", 0xFFFFF226);
|
||||||
|
this.names["el"] = new NameInfo("Пионер", 0xFFFFFF00);
|
||||||
|
this.names["pi"] = new NameInfo("Пионер", 0xFFE60101);
|
||||||
|
|
||||||
|
this.names["dy"] = new NameInfo("Голос из динамика", 0xFFC0C0C0);
|
||||||
|
this.names["voice"] = new NameInfo("Голос", 0xFFE1DD7D);
|
||||||
|
this.names["voices"] = new NameInfo("Голоса", 0xFFC0C0C0);
|
||||||
|
this.names["message"] = new NameInfo("Сообщение", 0xFFC0C0C0);
|
||||||
|
this.names["all"] = new NameInfo("Пионеры", 0xFFED4444);
|
||||||
|
this.names["kids"] = new NameInfo("Малышня", 0xFFEB7883);
|
||||||
|
this.names["dreamgirl"] = new NameInfo("...", 0xFFC0C0C0);
|
||||||
|
this.names["bush"] = new NameInfo("Голос", 0xFFC0C0C0);
|
||||||
|
this.names["FIXME_voice"] = new NameInfo("Голос", 0xFFC0C0C0);
|
||||||
|
this.names["odn"] = new NameInfo("Одногруппник", 0xFFC0C0C0);
|
||||||
|
this.names["mt_voice"] = new NameInfo("Голос", 0xFF00EA32);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override makeNamesKnown(): void {
|
||||||
|
super.makeNamesKnown();
|
||||||
|
this.setName("me", "Семён");
|
||||||
|
this.setName("un", "Лена");
|
||||||
|
this.setName("dv", "Алиса");
|
||||||
|
this.setName("sl", "Славя");
|
||||||
|
this.setName("us", "Ульяна");
|
||||||
|
this.setName("mt", "Ольга Дмитриевна");
|
||||||
|
this.setName("cs", "Виола");
|
||||||
|
this.setName("mz", "Женя");
|
||||||
|
this.setName("mi", "Мику");
|
||||||
|
this.setName("uv", "Юля");
|
||||||
|
this.setName("lk", "Луркмор-кун");
|
||||||
|
this.setName("sh", "Шурик");
|
||||||
|
this.setName("el", "Электроник");
|
||||||
|
this.setName("pi", "Пионер");
|
||||||
|
this.setName("dy", "Голос из динамика");
|
||||||
|
this.setName("voice", "Голос");
|
||||||
|
this.setName("voices", "Голоса");
|
||||||
|
this.setName("message", "Сообщение");
|
||||||
|
this.setName("all", "Пионеры");
|
||||||
|
this.setName("kids", "Малышня");
|
||||||
|
this.setName("dreamgirl", "...");
|
||||||
|
this.setName("bush", "Голос");
|
||||||
|
this.setName("FIXME_voice", "Голос");
|
||||||
|
this.setName("odn", "Одногруппник");
|
||||||
|
this.setName("mt_voice", "Голос");
|
||||||
|
}
|
||||||
|
}
|
34
src/view/gamemodel/MapPlacesES.ts
Normal file
34
src/view/gamemodel/MapPlacesES.ts
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import { MapPlaces } from "../model/MapPlaces";
|
||||||
|
|
||||||
|
export class MapPlacesES extends MapPlaces {
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.names["admin_house"] = "Админ. корпус";
|
||||||
|
this.names["badminton"] = "Бадминтон";
|
||||||
|
this.names["beach"] = "Пляж";
|
||||||
|
this.names["boat_station"] = "Лодочная станция";
|
||||||
|
this.names["camp_entrance"] = "Ворота в лагерь";
|
||||||
|
this.names["clubs"] = "Клубы";
|
||||||
|
this.names["dining_hall"] = "Столовая";
|
||||||
|
this.names["dv_us_house"] = "Домик Ульяны и Алисы";
|
||||||
|
this.names["estrade"] = "Сцена";
|
||||||
|
this.names["forest"] = "Лес";
|
||||||
|
this.names["island_nearest"] = 'Остров "Ближний"';
|
||||||
|
this.names["library"] = "Библиотека";
|
||||||
|
this.names["me_mt_house"] = "Домик вожатой";
|
||||||
|
this.names["medic_house"] = "Медпункт";
|
||||||
|
this.names["monument"] = "Памятник";
|
||||||
|
this.names["music_club"] = "Музыкальный клуб";
|
||||||
|
this.names["old_house"] = "Старый корпус";
|
||||||
|
this.names["old_road"] = "Дорога к старому лагерю";
|
||||||
|
this.names["sl_mz_house"] = "Домик Слави и Жени";
|
||||||
|
this.names["sport_area"] = "Спортплощадка";
|
||||||
|
this.names["square"] = "Площадь";
|
||||||
|
this.names["store_house"] = "Склад";
|
||||||
|
this.names["sy_sh_house"] = "Домик Электроника и Шурика";
|
||||||
|
this.names["un_mi_house"] = "Домик Лены и Мику";
|
||||||
|
this.names["valleyball"] = "Волейбол";
|
||||||
|
this.names["wash_house"] = "Душевая";
|
||||||
|
}
|
||||||
|
}
|
@ -7,12 +7,14 @@ type NameInfoMap = {
|
|||||||
export class Characters {
|
export class Characters {
|
||||||
private static readonly DEFAULT_COLOR: number = 0xFFC0C0C0;
|
private static readonly DEFAULT_COLOR: number = 0xFFC0C0C0;
|
||||||
|
|
||||||
private names: NameInfoMap;
|
protected names: NameInfoMap;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.names = {};
|
this.names = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public init(): void { }
|
||||||
|
|
||||||
public contains(shortName: string): boolean {
|
public contains(shortName: string): boolean {
|
||||||
return shortName in this.names;
|
return shortName in this.names;
|
||||||
}
|
}
|
||||||
@ -32,61 +34,7 @@ export class Characters {
|
|||||||
return shortName in this.names;
|
return shortName in this.names;
|
||||||
}
|
}
|
||||||
|
|
||||||
public makeNamesUnknown(): void {
|
public makeNamesUnknown(): void { }
|
||||||
// https://github.com/yakui-lover/eroge-dopil/blob/master/media.rpy#L365
|
|
||||||
this.names["me"] = new NameInfo("Семён", 0xFFE1DD7D);
|
|
||||||
this.names["un"] = new NameInfo("Пионерка", 0xFFB956FF);
|
|
||||||
this.names["dv"] = new NameInfo("Пионерка", 0xFFFFAA00);
|
|
||||||
this.names["sl"] = new NameInfo("Пионерка", 0xFFFFD200);
|
|
||||||
this.names["us"] = new NameInfo("Пионерка", 0xFFFF3200);
|
|
||||||
this.names["mt"] = new NameInfo("Вожатая", 0xFF00EA32);
|
|
||||||
this.names["cs"] = new NameInfo("Медсестра", 0xFFA5A5FF);
|
|
||||||
this.names["mz"] = new NameInfo("Пионерка", 0xFF4A86FF);
|
|
||||||
this.names["mi"] = new NameInfo("Пионерка", 0xFF00DEFF);
|
|
||||||
this.names["uv"] = new NameInfo("Странная девочка", 0xFF4EFF00);
|
|
||||||
this.names["lk"] = new NameInfo("Луркмор-кун", 0xFFFF8080);
|
|
||||||
this.names["sh"] = new NameInfo("Пионер", 0xFFFFF226);
|
|
||||||
this.names["el"] = new NameInfo("Пионер", 0xFFFFFF00);
|
|
||||||
this.names["pi"] = new NameInfo("Пионер", 0xFFE60101);
|
|
||||||
|
|
||||||
this.names["dy"] = new NameInfo("Голос из динамика", 0xFFC0C0C0);
|
public makeNamesKnown(): void { }
|
||||||
this.names["voice"] = new NameInfo("Голос", 0xFFE1DD7D);
|
|
||||||
this.names["voices"] = new NameInfo("Голоса", 0xFFC0C0C0);
|
|
||||||
this.names["message"] = new NameInfo("Сообщение", 0xFFC0C0C0);
|
|
||||||
this.names["all"] = new NameInfo("Пионеры", 0xFFED4444);
|
|
||||||
this.names["kids"] = new NameInfo("Малышня", 0xFFEB7883);
|
|
||||||
this.names["dreamgirl"] = new NameInfo("...", 0xFFC0C0C0);
|
|
||||||
this.names["bush"] = new NameInfo("Голос", 0xFFC0C0C0);
|
|
||||||
this.names["FIXME_voice"] = new NameInfo("Голос", 0xFFC0C0C0);
|
|
||||||
this.names["odn"] = new NameInfo("Одногруппник", 0xFFC0C0C0);
|
|
||||||
this.names["mt_voice"] = new NameInfo("Голос", 0xFF00EA32);
|
|
||||||
}
|
|
||||||
|
|
||||||
public makeNamesKnown(): void {
|
|
||||||
this.setName("me", "Семён");
|
|
||||||
this.setName("un", "Лена");
|
|
||||||
this.setName("dv", "Алиса");
|
|
||||||
this.setName("sl", "Славя");
|
|
||||||
this.setName("us", "Ульяна");
|
|
||||||
this.setName("mt", "Ольга Дмитриевна");
|
|
||||||
this.setName("cs", "Виола");
|
|
||||||
this.setName("mz", "Женя");
|
|
||||||
this.setName("mi", "Мику");
|
|
||||||
this.setName("uv", "Юля");
|
|
||||||
this.setName("lk", "Луркмор-кун");
|
|
||||||
this.setName("sh", "Шурик");
|
|
||||||
this.setName("el", "Электроник");
|
|
||||||
this.setName("pi", "Пионер");
|
|
||||||
this.setName("dy", "Голос из динамика");
|
|
||||||
this.setName("voice", "Голос");
|
|
||||||
this.setName("voices", "Голоса");
|
|
||||||
this.setName("message", "Сообщение");
|
|
||||||
this.setName("all", "Пионеры");
|
|
||||||
this.setName("kids", "Малышня");
|
|
||||||
this.setName("dreamgirl", "...");
|
|
||||||
this.setName("bush", "Голос");
|
|
||||||
this.setName("FIXME_voice", "Голос");
|
|
||||||
this.setName("odn", "Одногруппник");
|
|
||||||
this.setName("mt_voice", "Голос");
|
|
||||||
}
|
|
||||||
}
|
}
|
36
src/view/model/MapPlaces.ts
Normal file
36
src/view/model/MapPlaces.ts
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
export class MapPlaces {
|
||||||
|
protected names: {[key: string]: string};
|
||||||
|
private zones: {[key: string]: string};
|
||||||
|
private currentZone: string;
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.names = {};
|
||||||
|
this.zones = {};
|
||||||
|
this.currentZone = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public getZones(): {[key: string]: string} {
|
||||||
|
return this.zones;
|
||||||
|
}
|
||||||
|
|
||||||
|
public getName(key: string): string {
|
||||||
|
return this.names[key] ?? key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public disableAllZones(): void {
|
||||||
|
this.zones = {};
|
||||||
|
this.currentZone = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public disableCurrentZone(): void {
|
||||||
|
delete this.zones[this.currentZone];
|
||||||
|
}
|
||||||
|
|
||||||
|
public resetZone(zone: string): void {
|
||||||
|
delete this.zones[zone];
|
||||||
|
}
|
||||||
|
|
||||||
|
public setZone(name: string, label: string): void {
|
||||||
|
this.zones[name] = label;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user