Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | import { buildEntityNavigatorItems } from "shared/lib/entities/buildEntityNavigatorItems"; import { actorName, triggerName } from "shared/lib/entities/entitiesHelpers"; import { ActorPrefabNormalized, TriggerPrefabNormalized, } from "shared/lib/entities/entitiesTypes"; import l10n from "shared/lib/lang/l10n"; export type PrefabNavigatorItem = { id: string; name: string; filename: string; nestLevel?: number; } & ( | { type: "actorPrefabFolder"; isRoot: boolean; } | { type: "actorPrefab"; entity: ActorPrefabNormalized; } | { type: "triggerPrefabFolder"; isRoot: boolean; } | { type: "triggerPrefab"; entity: TriggerPrefabNormalized; } ); export const buildPrefabNavigatorItems = ( allActorPrefabs: ActorPrefabNormalized[], allTriggerPrefabs: TriggerPrefabNormalized[], openFolders: string[], searchTerm: string, ): PrefabNavigatorItem[] => { const actorPrefabItems: PrefabNavigatorItem[] = buildEntityNavigatorItems<ActorPrefabNormalized>( allActorPrefabs.map((actorPrefab, index) => ({ ...actorPrefab, name: actorName(actorPrefab, index), })), openFolders, searchTerm, undefined, 1, ).map((item) => { if (item.type === "entity" && item.entity) { return { ...item, type: "actorPrefab", entity: item.entity, }; } else { return { ...item, type: "actorPrefabFolder", isRoot: false, }; } }); const triggerPrefabItems: PrefabNavigatorItem[] = buildEntityNavigatorItems( allTriggerPrefabs.map((triggerPrefab, index) => ({ ...triggerPrefab, name: triggerName(triggerPrefab, index), })), openFolders, searchTerm, undefined, 1, ).map((item) => { if (item.type === "entity" && item.entity) { return { ...item, type: "triggerPrefab", entity: item.entity, }; } else { return { ...item, type: "triggerPrefabFolder", isRoot: false, }; } }); return [ { id: "actors", type: "actorPrefabFolder", name: l10n("FIELD_ACTORS"), filename: l10n("FIELD_ACTORS"), isRoot: true, }, ...actorPrefabItems, { id: "triggers", type: "triggerPrefabFolder", name: l10n("FIELD_TRIGGERS"), filename: l10n("FIELD_TRIGGERS"), isRoot: true, }, ...triggerPrefabItems, ]; }; |