UNPKG

@drincs/nqtr

Version:

A complete system introducing the concepts of location, time and event, producing the framework of a not-quite-point-and-click adventure game.

1 lines 100 kB
{"version":3,"sources":["../../src/decorators/RoomDecorator.ts","../../src/managers/NavigatorManager.ts","../../src/decorators/CommitmentDecorator.ts","../../src/managers/RoutineManager.ts","../../src/constants.ts","../../src/managers/TimeManagerSettings.ts","../../src/managers/TimeManager.ts","../../src/managers/index.ts","../../src/classes/ActivityStoredClass.ts","../../src/classes/ActivityBaseModel.ts","../../src/classes/CommitmentStoredClass.ts","../../src/classes/CommitmentBaseModel.ts","../../src/decorators/ActivityDecorator.ts","../../src/classes/navigation/NavigationAbstractClass.ts","../../src/classes/navigation/LocationStoredClass.ts","../../src/classes/navigation/LocationBaseModel.ts","../../src/classes/navigation/MapStoredClass.ts","../../src/classes/navigation/MapBaseModel.ts","../../src/classes/navigation/RoomStoredClass.ts","../../src/classes/navigation/RoomBaseModel.ts","../../src/classes/quest/QuestStoredClass.ts","../../src/classes/quest/QuestBaseModel.ts","../../src/classes/quest/StageStoredClass.ts","../../src/classes/quest/StageBaseModel.ts"],"names":["registeredRooms","getRoomById","id","room","CURRENT_ROOM_MEMORY_KEY","NavigatorManager","result","roomId","storage","_","registeredCommitments","fixedCommitments","getCommitmentById","commitment","TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY","RoutineManager","commitments","c","commitmentsIds","currentCommitments","character_commitments","ch","navigator","character","TIME_DATA_KEY","TimeManagerSettings","TimeManager","settings","minDayHours","maxDayHours","defaultTimeSpent","timeSlots","weekLength","weekendStartDay","weekDaysNames","data","value","weekDayNumber","index","slot","timeSpent","newHour","newDayHour","days","newDay","fromHour","toHour","currentHour","timeTracker","routine","ACTIVITY_CATEGORY","ActivityStoredClass","StoredClassModel","_onRun","props","category","ActivityBaseModel","onRun","getFlag","COMMITMENT_CATEGORY","CommitmentStoredClass","_characters","_room","CommitmentBaseModel","registeredActivities","getActivityById","activity","NavigationAbstractClass","categoryId","defaultActivities","activityId","activeActivityScheduling","excludedActivitiesScheduling","scheduling","options","hours","fromDay","toDay","additionalActivitiesIds","excludedActivitiesIds","res","a","LOCATION_CATEGORY","LocationStoredClass","_map","activities","LocationBaseModel","map","MAP_CATEGORY","MapStoredClass","location","MapBaseModel","ROOM_CATEGORY","RoomStoredClass","_location","characters","RoomBaseModel","QUEST_CATEGORY","QuestStoredClass","_stages","currentStage","prevStage","currentStageIndex","nextCurrentStage","newCurrentStage","QuestBaseModel","stages","STAGE_CATEGORY","StageStoredClass","prevStageEndDay","daysRequired","q","StageBaseModel","flag"],"mappings":"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","file":"index.mjs","sourcesContent":["import { RoomInterface } from \"../interface\";\n\nexport const registeredRooms: { [id: string]: RoomInterface } = {};\n\n/**\n * Save a room in the registered rooms. If the room already exists, it will be overwritten.\n * @param room The room to save.\n * @returns\n * @example\n * ```ts\n * saveRoom([mcRoom, aliceRoom, annRoom, bathroom, lounge, terrace, gymRoom]);\n * ```\n */\nexport function saveRoom(room: RoomInterface | RoomInterface[]) {\n\tif (Array.isArray(room)) {\n\t\troom.forEach((c) => saveRoom(c));\n\t\treturn;\n\t}\n\tif (registeredRooms[room.id]) {\n\t\tconsole.warn(`[NQTR] Room id ${room.id} already exists, it will be overwritten`);\n\t}\n\tregisteredRooms[room.id] = room;\n}\n\n/**\n * Get a room by its id.\n * @param id The id of the room.\n * @returns The room or undefined if not found.\n */\nexport function getRoomById(id: string): RoomInterface | undefined {\n\ttry {\n\t\tlet room = registeredRooms[id];\n\t\tif (!room) {\n\t\t\tconsole.error(`[NQTR] Room ${id} not found`);\n\t\t\treturn;\n\t\t}\n\t\treturn room;\n\t} catch (e) {\n\t\tconsole.error(`[NQTR] Error while getting Room ${id}`, e);\n\t\treturn;\n\t}\n}\n","import { storage } from \"@drincs/pixi-vn\";\nimport { getRoomById, registeredRooms } from \"../decorators/RoomDecorator\";\nimport { LocationInterface, MapInterface, RoomInterface } from \"../interface\";\n\nconst CURRENT_ROOM_MEMORY_KEY = \"___nqtr-current_room_memory___\";\nexport default class NavigatorManager {\n get rooms() {\n return Object.values(registeredRooms);\n }\n get locations() {\n let result: { [id: string]: LocationInterface } = {};\n Object.values(registeredRooms).forEach((room) => {\n result[room.location.id] = room.location;\n });\n return Object.values(result);\n }\n get maps() {\n let result: { [id: string]: MapInterface } = {};\n Object.values(registeredRooms).forEach((room) => {\n result[room.location.map.id] = room.location.map;\n });\n return Object.values(result);\n }\n get currentRoom(): RoomInterface | undefined {\n let roomId = storage.getVariable<string>(CURRENT_ROOM_MEMORY_KEY);\n if (!roomId) {\n console.error(`[NQTR] The current room has not yet been set`);\n return;\n }\n let room = getRoomById(roomId);\n if (!room) {\n console.error(`[NQTR] Current room ${roomId} not found`);\n return;\n }\n return room;\n }\n set currentRoom(room: RoomInterface | string) {\n if (typeof room !== \"string\") {\n room = room.id;\n }\n let roomRegistrated = getRoomById(room);\n if (!roomRegistrated) {\n console.error(`[NQTR] The room ${room} is not registered, so it can't be set as current room`);\n return;\n }\n storage.setVariable(CURRENT_ROOM_MEMORY_KEY, room);\n }\n get currentLocation(): LocationInterface | undefined {\n return this.currentRoom?.location;\n }\n get currentMap(): MapInterface | undefined {\n return this.currentRoom?.location.map;\n }\n /**\n * Clear all the expired activities.\n */\n clearExpiredActivities() {\n Object.entries(registeredRooms).forEach(([_, room]) => {\n room.clearExpiredActivities();\n });\n }\n}\n","import { CommitmentInterface } from \"../interface\";\n\nexport const registeredCommitments: { [id: string]: CommitmentInterface } = {};\nexport const fixedCommitments: { [id: string]: CommitmentInterface } = {};\n\n/**\n * Save a commitment in the registered commitments. If the commitment already exists, it will be overwritten.\n * @param commitment The commitment or commitments to save.\n * @returns\n */\nexport function saveCommitment(commitment: CommitmentInterface | CommitmentInterface[]) {\n\tif (Array.isArray(commitment)) {\n\t\tcommitment.forEach((c) => saveCommitment(c));\n\t\treturn;\n\t}\n\tif (registeredCommitments[commitment.id]) {\n\t\tconsole.warn(`[NQTR] Commitment id ${commitment.id} already exists, it will be overwritten`);\n\t}\n\tregisteredCommitments[commitment.id] = commitment;\n}\n\n/**\n * Get a commitment by its id.\n * @param id The id of the commitment.\n * @returns The commitment or undefined if not found.\n */\nexport function getCommitmentById(id: string): CommitmentInterface | undefined {\n\ttry {\n\t\tlet commitment = registeredCommitments[id];\n\t\tif (!commitment) {\n\t\t\tconsole.error(`[NQTR] Commitment ${id} not found`);\n\t\t\treturn;\n\t\t}\n\t\treturn commitment;\n\t} catch (e) {\n\t\tconsole.error(`[NQTR] Error while getting Commitment ${id}`, e);\n\t\treturn;\n\t}\n}\n","import { CharacterInterface, storage } from \"@drincs/pixi-vn\";\nimport { navigator } from \".\";\nimport { fixedCommitments, getCommitmentById, registeredCommitments } from \"../decorators/CommitmentDecorator\";\nimport { CommitmentInterface } from \"../interface\";\n\nconst TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY = \"___nqtr-temporary_commitment___\";\nexport default class RoutineManager {\n\tget fixedRoutine(): CommitmentInterface[] {\n\t\treturn Object.values(fixedCommitments);\n\t}\n\t/**\n\t * Set a commitment as fixed, it will be always available. They cannot be deleted or edit during the game session.\n\t */\n\tset fixedRoutine(commitments: CommitmentInterface[]) {\n\t\tcommitments.forEach((c) => {\n\t\t\tif (fixedCommitments[c.id]) {\n\t\t\t\tconsole.warn(`[NQTR] Commitment id ${c.id} already exists, it will be overwritten`);\n\t\t\t}\n\t\t\tfixedCommitments[c.id] = c;\n\t\t});\n\t}\n\n\t/**\n\t * Get the temporary commitments by its id.\n\t * @returns The temporary commitments.\n\t */\n\tget temporaryRoutine(): CommitmentInterface[] {\n\t\tlet commitmentsIds = storage.getVariable<string[]>(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY);\n\t\tif (!commitmentsIds) {\n\t\t\treturn [];\n\t\t}\n\t\tlet commitments = commitmentsIds\n\t\t\t.map((id) => getCommitmentById(id))\n\t\t\t.filter((commitment) => commitment !== undefined);\n\t\treturn commitments;\n\t}\n\n\tget allRoutine(): CommitmentInterface[] {\n\t\treturn [...this.fixedRoutine, ...this.temporaryRoutine];\n\t}\n\n\t/**\n\t * This feature adds the commitments during the game session.\n\t * @param commitment The commitment or commitments to add.\n\t */\n\tadd(commitment: CommitmentInterface[] | CommitmentInterface) {\n\t\tif (!Array.isArray(commitment)) {\n\t\t\tcommitment = [commitment];\n\t\t}\n\t\tlet commitmentsIds = commitment\n\t\t\t.map((commitment) => {\n\t\t\t\tlet commitmentTest = getCommitmentById(commitment.id);\n\t\t\t\tif (!commitmentTest) {\n\t\t\t\t\tconsole.warn(`[NQTR] Commitment ${commitment.id} not found, it will be ignored`);\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\treturn commitment.id;\n\t\t\t})\n\t\t\t.filter((id) => id !== undefined);\n\n\t\tstorage.setVariable(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY, commitmentsIds);\n\t}\n\n\t/**\n\t * Get the commitments added during the game session.\n\t * @param id The id of the commitment.\n\t * @returns The commitment or undefined if not found.\n\t */\n\tfind(id: string): CommitmentInterface | undefined {\n\t\treturn getCommitmentById(id);\n\t}\n\n\t/**\n\t * Remove the commitments added during the game session.\n\t * @param commitment The commitment or commitments to remove.\n\t */\n\tremove(commitment: CommitmentInterface[] | CommitmentInterface) {\n\t\tif (!Array.isArray(commitment)) {\n\t\t\tcommitment = [commitment];\n\t\t}\n\t\tlet commitmentsIds = commitment.map((commitment) => {\n\t\t\treturn commitment.id;\n\t\t});\n\n\t\tlet currentCommitments = storage.getVariable<string[]>(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY);\n\t\tif (!currentCommitments) {\n\t\t\treturn;\n\t\t}\n\t\tcurrentCommitments = currentCommitments.filter((id) => !commitmentsIds.includes(id));\n\t\tstorage.setVariable(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY, currentCommitments);\n\t}\n\n\t/**\n\t * Clear all the expired commitments.\n\t */\n\tclearExpiredRoutine() {\n\t\tObject.values(registeredCommitments).forEach((commitment) => {\n\t\t\tif (commitment.expired) {\n\t\t\t\tdelete registeredCommitments[commitment.id];\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Get the current commitments. The hidden commitments are not included.\n\t * In case there is a character who has two or more commitments at the same time, will be selected the commitment with the highest priority.\n\t * Higher priority commitments are calculated using the following steps:\n\t * 1. The commitments that have Commitments BaseModel.priority set to a higher value will be selected first.\n\t * 2. If there are commitments with the same priority, the commitments that are not fixed will be selected first.\n\t * 3. If there are commitments with the same priority and the same fixed status, priority will be given to the commitment with a lower index.\n\t * @returns The current commitments.\n\t */\n\tget currentRoutine(): CommitmentInterface[] {\n\t\tlet character_commitments: { [character: string]: CommitmentInterface } = {};\n\t\t[...this.temporaryRoutine, ...this.fixedRoutine].reverse().forEach((c) => {\n\t\t\tif (c.isActive) {\n\t\t\t\tif (c.characters.length > 0) {\n\t\t\t\t\t// all the characters don't already have commitments or the commitment has a higher priority\n\t\t\t\t\tlet allAvailable = c.characters.every(\n\t\t\t\t\t\t(ch) => !character_commitments[ch.id] || c.priority > character_commitments[ch.id].priority\n\t\t\t\t\t);\n\t\t\t\t\tif (allAvailable) {\n\t\t\t\t\t\tc.characters.forEach((ch) => {\n\t\t\t\t\t\t\tcharacter_commitments[ch.id] = c;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(`[NQTR] The commitment ${c.id} has no characters assigned`);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn Object.values(character_commitments);\n\t}\n\n\tget currentRoomRoutine(): CommitmentInterface[] {\n\t\treturn navigator.currentRoom?.routine || [];\n\t}\n\n\t/**\n\t * Get the character commitment.\n\t * @param character The character.\n\t * @returns The commitment or undefined if not found.\n\t */\n\tgetCommitmentByCharacter(character: CharacterInterface): CommitmentInterface | undefined {\n\t\tthis.currentRoutine.forEach((c) => {\n\t\t\tif (c.characters.map((ch) => ch.id).includes(character.id)) {\n\t\t\t\treturn c;\n\t\t\t}\n\t\t});\n\t\treturn undefined;\n\t}\n}\n","export const TIME_SETTINGS_KEY = '___nqtr-time_manager_settings___';\nexport const TIME_DATA_KEY = '___nqtr-time_manager_data___';\n\n","import { ITimeStlot, TimeSettings } from \"../types/TimeSettings\";\n\nexport default class TimeManagerSettings implements TimeSettings {\n static minDayHours: number = 0\n static maxDayHours: number = 24\n static defaultTimeSpent: number = 1\n static timeSlots: ITimeStlot[] = []\n static weekLength: number = 7\n static weekendStartDay: number = this.weekLength - 1\n static weekDaysNames: string[] = []\n}\n","import { storage } from \"@drincs/pixi-vn\";\nimport { TIME_DATA_KEY } from \"../constants\";\nimport TimeDataType from \"../types/TimeDataType\";\nimport { ITimeStlot, TimeSettings } from \"../types/TimeSettings\";\nimport TimeManagerSettings from \"./TimeManagerSettings\";\n\nexport default class TimeManager {\n initialize(settings: TimeSettings) {\n const {\n minDayHours = 0,\n maxDayHours = 24,\n defaultTimeSpent = 1,\n timeSlots = [],\n weekLength = 7,\n weekendStartDay = weekLength - 1,\n weekDaysNames = [],\n } = settings;\n TimeManagerSettings.minDayHours = minDayHours;\n TimeManagerSettings.maxDayHours = maxDayHours;\n TimeManagerSettings.defaultTimeSpent = defaultTimeSpent;\n TimeManagerSettings.timeSlots = timeSlots;\n TimeManagerSettings.weekLength = weekLength;\n if (weekendStartDay >= TimeManagerSettings.weekLength) {\n console.warn(`[NQTR] Weekend start day should be less than week length ${weekLength}, so will be ignored`);\n } else {\n TimeManagerSettings.weekendStartDay = weekendStartDay;\n }\n if (weekDaysNames.length !== weekLength) {\n console.warn(`[NQTR] Week days names should be equal to week length ${weekLength}, so will be ignored`);\n } else {\n TimeManagerSettings.weekDaysNames = weekDaysNames;\n }\n }\n get minDayHours(): number {\n return TimeManagerSettings.minDayHours;\n }\n get maxDayHours(): number {\n return TimeManagerSettings.maxDayHours;\n }\n get defaultTimeSpent(): number {\n return TimeManagerSettings.defaultTimeSpent;\n }\n get timeSlots(): ITimeStlot[] {\n return TimeManagerSettings.timeSlots;\n }\n get weekLength(): number {\n return TimeManagerSettings.weekLength;\n }\n get weekendStartDay(): number {\n return TimeManagerSettings.weekendStartDay;\n }\n get weekDaysNames(): string[] {\n return TimeManagerSettings.weekDaysNames;\n }\n\n /**\n * Get the current hour\n */\n get currentHour(): number {\n let data = storage.getVariable<TimeDataType>(TIME_DATA_KEY) || {};\n if (data.hasOwnProperty(\"currentHour\") && typeof data.currentHour === \"number\") {\n return data.currentHour;\n }\n return this.minDayHours;\n }\n set currentHour(value: number | undefined) {\n let data = storage.getVariable<TimeDataType>(TIME_DATA_KEY) || {};\n if (typeof value === \"number\") {\n data.currentHour = value;\n } else {\n delete data.currentHour;\n }\n storage.setVariable(TIME_DATA_KEY, data);\n }\n /**\n * Get the current day\n */\n get currentDay(): number {\n let data = storage.getVariable<TimeDataType>(TIME_DATA_KEY) || {};\n if (data.hasOwnProperty(\"currentDay\") && typeof data.currentDay === \"number\") {\n return data.currentDay;\n }\n return 0;\n }\n set currentDay(value: number | undefined) {\n let data = storage.getVariable<TimeDataType>(TIME_DATA_KEY) || {};\n if (typeof value === \"number\") {\n data.currentDay = value;\n } else {\n delete data.currentDay;\n }\n storage.setVariable(TIME_DATA_KEY, data);\n }\n /**\n * If the current day is greater than or equal to the weekend start day, then it will return true.\n */\n get isWeekend(): boolean {\n return this.currentWeekDayNumber >= this.weekendStartDay;\n }\n /**\n * Get the current week day number (1 - {@link weekLength}).\n * For example, if the week length is 7 and the current day is 10, then the result will be 4.\n */\n get currentWeekDayNumber(): number {\n let result = this.currentDay % this.weekLength;\n return result + 1;\n }\n /**\n * Get the current week day name. If the week days names are not defined, then it will return undefined.\n * For example, if the week days names are ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] and the current day is 10, then the result will be 'Thursday'.\n * @default \"\"\n */\n get currentDayName(): string {\n let weekDayNumber = this.currentWeekDayNumber - 1;\n if (weekDayNumber >= this.weekDaysNames.length) {\n console.warn(`[NQTR] Week day name is not defined for day ${weekDayNumber}`, this.weekDaysNames);\n return \"\";\n }\n return this.weekDaysNames[weekDayNumber];\n }\n /**\n * Get the current {@lin