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 | 22x 22x 22x 167x 7x 6x 6x 1x 1x 1x 1x 1x 1x 1x 168x 116x 168x 116x 168x 168x 117x 117x | import { FieldConfigure, FieldConfigureImpl } from './fieldConfigure' import { FieldConfigSupplier } from '../value/fieldConfig' /** * マップ ({@link Field}) を簡便に作るためのクラス. * * Field は本クラスを用いて作成してください. */ export class FieldBuilder extends FieldConfigureImpl { private static lastUsedScene?: g.Scene private static defaultConfig?: FieldConfigSupplier private static defaultConfigure?: FieldConfigure constructor (scene: g.Scene) { super(false, new FieldConfigSupplier(FieldBuilder.getDefaultConfig(scene).get())) } /** * 作成する Field のライブラリ利用者が自由に使えるフィールドを取得します. */ override vars (): unknown /** * 作成する Field のライブラリ利用者が自由に使えるフィールドを設定します. * * @param vars ライブラリ利用者が自由に使えるフィールド */ override vars (vars: unknown): FieldBuilder override vars (args?: unknown): unknown | FieldBuilder { if (arguments.length > 0) { super.vars(args) return this } return super.vars() } /** * 各属性値に値を設定しなかった際に使用されるデフォルト値を設定します. * * @param scene 現在の scene を指定してください. */ static getDefault (scene: g.Scene): FieldConfigure { if (FieldBuilder.lastUsedScene !== scene) { FieldBuilder.resetDefault() } if (!FieldBuilder.defaultConfigure) { FieldBuilder.defaultConfigure = new FieldConfigureImpl(true, FieldBuilder.getDefaultConfig(scene)) } FieldBuilder.lastUsedScene = scene return FieldBuilder.defaultConfigure } private static getDefaultConfig (scene: g.Scene): FieldConfigSupplier { if (FieldBuilder.lastUsedScene !== scene) { FieldBuilder.resetDefault() } if (!FieldBuilder.defaultConfig) { FieldBuilder.defaultConfig = new FieldConfigSupplier({ vars: undefined }) } FieldBuilder.lastUsedScene = scene return FieldBuilder.defaultConfig } /** * {@link getDefault} で設定した変更を消去します. * @internal */ private static resetDefault () { delete FieldBuilder.defaultConfig delete FieldBuilder.defaultConfigure } } |