Compare commits
36
Commits
9e5c3277bf
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a0618fd31 | ||
|
|
ec4619d9dc | ||
|
|
2a20bd68fe | ||
|
|
4f48d258b5 | ||
|
|
46160d86dc | ||
|
|
ad598143f8 | ||
|
|
bb0f2b760c | ||
|
|
40b4547c71 | ||
|
|
1c1e50809a | ||
|
|
f5b302b3e3 | ||
|
|
2b35d3f754 | ||
|
|
382f6c7f63 | ||
|
|
ed28763017 | ||
|
|
f1fadf7909 | ||
|
|
b915ad78c7 | ||
|
|
6bf22f2d6e | ||
|
|
5da782d21b | ||
|
|
4f97fc704c | ||
|
|
5b0827072b | ||
|
|
ccabd3e7ac | ||
|
|
cba87dcb31 | ||
|
|
932cd0582f | ||
|
|
1ef1720bae | ||
|
|
bea880a999 | ||
|
|
6f2225f911 | ||
|
|
fea0a29d10 | ||
|
|
f89781d78b | ||
|
|
be63c21e15 | ||
|
|
86614f3104 | ||
|
|
38ba2b0eff | ||
|
|
a42f25d5fa | ||
|
|
14f542c8a1 | ||
|
|
af6bc82c67 | ||
|
|
e5f41bde07 | ||
|
|
57bc10ba79 | ||
|
|
22b8c7a438 |
+102
@@ -0,0 +1,102 @@
|
||||
# Nightclub Arcadia — git attributes
|
||||
#
|
||||
# Two jobs: make Unity's YAML files mergeable, and keep line endings from
|
||||
# becoming a source of phantom diffs.
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Unity YAML — text, LF, and merged with UnityYAMLMerge
|
||||
# ---------------------------------------------------------------------------
|
||||
# The merge driver needs a one-time setup per machine; see §"Merge driver" in
|
||||
# CLAUDE.md. Without it git falls back to a normal text merge, which for scenes
|
||||
# and prefabs means conflicts that are painful but not silently wrong.
|
||||
*.unity text eol=lf merge=unityyamlmerge
|
||||
*.prefab text eol=lf merge=unityyamlmerge
|
||||
*.asset text eol=lf merge=unityyamlmerge
|
||||
*.mat text eol=lf merge=unityyamlmerge
|
||||
*.anim text eol=lf merge=unityyamlmerge
|
||||
*.controller text eol=lf merge=unityyamlmerge
|
||||
*.overrideController text eol=lf merge=unityyamlmerge
|
||||
*.physicMaterial text eol=lf merge=unityyamlmerge
|
||||
*.physicsMaterial2D text eol=lf merge=unityyamlmerge
|
||||
*.playable text eol=lf merge=unityyamlmerge
|
||||
*.mask text eol=lf merge=unityyamlmerge
|
||||
*.brush text eol=lf merge=unityyamlmerge
|
||||
*.flare text eol=lf merge=unityyamlmerge
|
||||
*.lighting text eol=lf merge=unityyamlmerge
|
||||
*.terrainlayer text eol=lf merge=unityyamlmerge
|
||||
*.signal text eol=lf merge=unityyamlmerge
|
||||
*.guiskin text eol=lf merge=unityyamlmerge
|
||||
*.fontsettings text eol=lf merge=unityyamlmerge
|
||||
*.meta text eol=lf
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Source, config and prose
|
||||
# ---------------------------------------------------------------------------
|
||||
*.cs text eol=lf diff=csharp
|
||||
*.yarn text eol=lf
|
||||
*.yarnproject text eol=lf
|
||||
*.asmdef text eol=lf
|
||||
*.asmref text eol=lf
|
||||
*.inputactions text eol=lf
|
||||
*.shader text eol=lf
|
||||
*.compute text eol=lf
|
||||
*.cginc text eol=lf
|
||||
*.hlsl text eol=lf
|
||||
*.shadergraph text eol=lf
|
||||
*.json text eol=lf
|
||||
*.md text eol=lf
|
||||
*.txt text eol=lf
|
||||
*.py text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.csproj text eol=lf
|
||||
*.xml text eol=lf
|
||||
*.gitattributes text eol=lf
|
||||
*.gitignore text eol=lf
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Binary — never diffed, never line-ending converted
|
||||
# ---------------------------------------------------------------------------
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.gif binary
|
||||
*.tga binary
|
||||
*.tif binary
|
||||
*.tiff binary
|
||||
*.psd binary
|
||||
*.exr binary
|
||||
*.hdr binary
|
||||
*.fbx binary
|
||||
*.obj binary
|
||||
*.blend binary
|
||||
*.wav binary
|
||||
*.mp3 binary
|
||||
*.ogg binary
|
||||
*.aif binary
|
||||
*.ttf binary
|
||||
*.otf binary
|
||||
*.pdf binary
|
||||
*.dll binary
|
||||
*.pdb binary
|
||||
*.so binary
|
||||
*.dylib binary
|
||||
*.bundle binary
|
||||
*.a binary
|
||||
*.unitypackage binary
|
||||
*.cubemap binary
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Git LFS — deliberately NOT enabled yet
|
||||
# ---------------------------------------------------------------------------
|
||||
# git-lfs is installed locally, but this repo pushes to a self-hosted server
|
||||
# whose LFS support has not been verified, and enabling LFS against a server
|
||||
# that lacks it breaks pushing. There is also almost nothing to store yet: one
|
||||
# placeholder PNG plus the StarterAssets meshes.
|
||||
#
|
||||
# When real art lands, verify the server first, then add:
|
||||
# *.png filter=lfs diff=lfs merge=lfs -text
|
||||
# *.fbx filter=lfs diff=lfs merge=lfs -text
|
||||
# *.wav filter=lfs diff=lfs merge=lfs -text
|
||||
# and migrate existing blobs with `git lfs migrate import --include=...`.
|
||||
# Adding the filter without migrating leaves old blobs outside LFS, which is
|
||||
# confusing rather than broken.
|
||||
+13
@@ -108,6 +108,13 @@ yarn-error.log*
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# .NET tooling under tools/ (Unity's own Library/ ignores live in the Unity
|
||||
# project's .gitignore and don't reach this far up)
|
||||
# ---------------------------------------------------------------------------
|
||||
tools/**/bin/
|
||||
tools/**/obj/
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# AI / agent tooling
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -120,3 +127,9 @@ __pycache__/
|
||||
*.tar.gz
|
||||
*.7z
|
||||
*.rar
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Local build and test output (Makefile targets)
|
||||
# ---------------------------------------------------------------------------
|
||||
/.test-results/
|
||||
/build/
|
||||
|
||||
Vendored
+64
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"cSpell.enableFiletypes": [
|
||||
"yarnspinner"
|
||||
],
|
||||
"cSpell.languageSettings": [
|
||||
{
|
||||
"languageId": "yarnspinner",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "yarn-commands",
|
||||
"pattern": "/<<[^>]*>>/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-expressions",
|
||||
"pattern": "/\\{[^}]*\\}/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-variables",
|
||||
"pattern": "/\\$[a-zA-Z_][a-zA-Z0-9_]*/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-markup",
|
||||
"pattern": "/\\[[^\\]]*\\]/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-hashtags",
|
||||
"pattern": "/#[a-zA-Z_][a-zA-Z0-9_:-]*/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-node-markers",
|
||||
"pattern": "/^(---|===)$/gm"
|
||||
},
|
||||
{
|
||||
"name": "yarn-headers",
|
||||
"pattern": "/^(title|tags|position|color|colorID|tracking|custom|style):.*/gm"
|
||||
},
|
||||
{
|
||||
"name": "yarn-character-names",
|
||||
"pattern": "/^\\s*[A-Za-z_][A-Za-z0-9_]*(?=:)/gm"
|
||||
},
|
||||
{
|
||||
"name": "yarn-comments",
|
||||
"pattern": "/\\/\\/.*$/gm"
|
||||
}
|
||||
],
|
||||
"ignoreRegExpList": [
|
||||
"yarn-commands",
|
||||
"yarn-expressions",
|
||||
"yarn-variables",
|
||||
"yarn-markup",
|
||||
"yarn-hashtags",
|
||||
"yarn-node-markers",
|
||||
"yarn-headers",
|
||||
"yarn-character-names",
|
||||
"yarn-comments"
|
||||
]
|
||||
}
|
||||
],
|
||||
"cSpell.words": [
|
||||
"Cassian",
|
||||
"Thal",
|
||||
"Vaselian"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
# AGENTS.md
|
||||
|
||||
This repository's agent instructions live in [`CLAUDE.md`](./CLAUDE.md). It is
|
||||
tool-agnostic — repository layout, the Unity command line, the dialogue content
|
||||
pipeline, validation, conventions, and known traps.
|
||||
|
||||
Read `CLAUDE.md` before making changes, regardless of which agent you are.
|
||||
|
||||
Design and migration plans are in [`docs/`](./docs/), most relevantly
|
||||
[`docs/restructure-plan.md`](./docs/restructure-plan.md).
|
||||
@@ -0,0 +1,544 @@
|
||||
# Nightclub Arcadia — agent reference
|
||||
|
||||
Reference for coding agents (Claude Code and others) working in this repository.
|
||||
Human-facing design docs live in `docs/`. This file is the operational one: where
|
||||
things are, what is generated, and how to build/test/validate from the terminal.
|
||||
|
||||
Companion: `AGENTS.md` (pointer file, same content applies).
|
||||
|
||||
---
|
||||
|
||||
## 1. Repository layout
|
||||
|
||||
Repo root is `nightlcub-arcadia` (the typo is in the directory name, not a mistake
|
||||
to fix — it is the checkout path). The Unity project is a **subdirectory**:
|
||||
|
||||
```
|
||||
/Users/lennart/Dev/nightlcub-arcadia/ # git root
|
||||
├── CLAUDE.md, AGENTS.md # this reference
|
||||
├── docs/ # design + plan docs (markdown)
|
||||
├── writing/ # writer-facing context — see §4
|
||||
├── tools/YarnCheck/ # .NET 9 Yarn compiler/player, no Unity needed
|
||||
├── tools/writing/ # voice-sheet sync (md <-> skill_bible.json)
|
||||
├── .gitignore # macOS / IDE / toolchain rules
|
||||
└── NightclubArcadia/ # ← the Unity project (-projectPath)
|
||||
├── .gitignore # Unity rules (anchored, must stay here)
|
||||
├── Assets/
|
||||
├── Packages/ # incl. embedded dev.yarnspinner.unity
|
||||
└── ProjectSettings/
|
||||
```
|
||||
|
||||
**Two `.gitignore` files, deliberately.** The Unity one anchors every rule with a
|
||||
leading `/`, so it only works at the root of the Unity project folder. Do not merge them.
|
||||
|
||||
Unity **6000.5.8f1**, URP 17.5.0, Cinemachine 3.1.7, Input System 1.20.0,
|
||||
AI Navigation 2.0.14, ProBuilder 6.1.2, Test Framework 1.7.0. Yarn Spinner is an
|
||||
**embedded package** at `NightclubArcadia/Packages/dev.yarnspinner.unity` (plus the
|
||||
`textanimator` addon) — it is committed, not resolved from a registry.
|
||||
|
||||
---
|
||||
|
||||
## 2. Ground rules
|
||||
|
||||
1. **Never hand-edit generated `.asset` files.** `Assets/Skills/Definitions/*.asset`,
|
||||
`Assets/Skills/SkillDatabase.asset`, `Assets/Candidates/Definitions/*.asset` and
|
||||
`Assets/Candidates/CandidateDatabase.asset` are *build output*. Their sources are
|
||||
`Assets/Skills/skill_bible.json` and `Assets/Candidates/candidates.json`. Edits are
|
||||
overwritten by the Editor setup scripts. Edit the JSON.
|
||||
2. **Never hand-edit scene or prefab YAML unless you have read the surrounding block.**
|
||||
GUID/fileID surgery in `.unity` / `.prefab` files silently detaches components.
|
||||
5. **One Unity instance per project path.** Unity refuses to open a project in batch
|
||||
mode while the Editor has it open — a single instance at a time. Always check before
|
||||
any `-batchmode` invocation (§3.1).
|
||||
6. **Prefer YarnCheck over Unity for dialogue validation.** It is seconds, not minutes,
|
||||
and needs no Editor lock (§5.5).
|
||||
7. **Do not commit on the user's behalf** unless asked. Unity writes to tracked files
|
||||
(`ProjectSettings/*`, `.meta`, scenes) as a side effect of simply being open, so
|
||||
`git status` noise is expected and is not always yours.
|
||||
|
||||
---
|
||||
|
||||
## 2b. Everyday commands
|
||||
|
||||
A `Makefile` at the repo root wraps everything in this document. Prefer it — the exact
|
||||
invocations live there instead of being retyped.
|
||||
|
||||
```bash
|
||||
make # list targets
|
||||
make check # yarn + voice sheets + EditMode — run this before committing
|
||||
make test # EditMode suite, with a readable summary
|
||||
make yarn # compile every Yarn script (seconds, no Unity)
|
||||
make build # macOS player into build/
|
||||
make lock # fail if the Editor has the project open
|
||||
```
|
||||
|
||||
`make test` and `make build` refuse to run while the Editor is open, which removes the most
|
||||
common way these commands fail confusingly.
|
||||
|
||||
### Merge driver — one-time per machine
|
||||
|
||||
`.gitattributes` marks Unity YAML for `unityyamlmerge`. Git needs to be told what that is, or
|
||||
it falls back to a line-oriented text merge that can produce a scene Unity still loads and that
|
||||
is quietly wrong:
|
||||
|
||||
```bash
|
||||
make merge-driver
|
||||
```
|
||||
|
||||
That points git at `UnityYAMLMerge` inside the Editor bundle (`Contents/Helpers/`, not
|
||||
`Contents/Tools/` — the path in most online guides is wrong for Unity 6 on macOS).
|
||||
|
||||
## 3. Unity from the command line
|
||||
|
||||
### 3.0 Two different tools, both present
|
||||
|
||||
| | What it is | Status |
|
||||
|---|---|---|
|
||||
| `/Users/lennart/.unity/bin/unity` | The **Unity CLI** (v1.0.0-beta.6). Wraps the Editor for CI-shaped work: `build`, `test`, `run`, `open`, plus editor/license/cloud management. | Installed. **Prefer this.** |
|
||||
| `/Applications/Unity/Hub/Editor/6000.5.8f1/Unity.app/Contents/MacOS/Unity` | The **Editor executable**. Raw `-batchmode` flags. | Installed. Fallback, for flags the CLI does not expose. |
|
||||
|
||||
The CLI is **not on `PATH` for non-interactive shells** — `which unity` fails even though the
|
||||
binary exists, and `unity doctor` reports `check.binary-on-path warn`. Always invoke it by
|
||||
absolute path, or export it:
|
||||
|
||||
```bash
|
||||
export UNITY_CLI="/Users/lennart/.unity/bin/unity"
|
||||
export UNITY="/Applications/Unity/Hub/Editor/6000.5.8f1/Unity.app/Contents/MacOS/Unity"
|
||||
export UNITY_PROJECT="/Users/lennart/Dev/nightlcub-arcadia/NightclubArcadia"
|
||||
```
|
||||
|
||||
`unity doctor --no-banner` confirms the environment: signed in via OAuth keyring, editor
|
||||
`6000.5.8f1` arm64 resolved from `ProjectVersion.txt`. Add `--json` to any command for
|
||||
machine-readable output and `--no-banner` to keep logs clean.
|
||||
|
||||
### 3.1 Always check the lock first
|
||||
|
||||
Only one Unity instance per project path. Check before any headless run:
|
||||
|
||||
```bash
|
||||
pgrep -fl "Unity.app/Contents/MacOS/Unity" | grep -v AssetImportWorker
|
||||
```
|
||||
|
||||
`AssetImportWorker*` processes are children of the main Editor — filter them out or you will
|
||||
misread the check. `Temp/UnityLockfile` and `unity status` are the other two signals.
|
||||
|
||||
### 3.2 Run tests
|
||||
|
||||
```bash
|
||||
"$UNITY_CLI" test "$UNITY_PROJECT" --no-banner --mode EditMode \
|
||||
--output /tmp/editmode-results.xml \
|
||||
--report-format both --junit-output /tmp/editmode-junit.xml
|
||||
```
|
||||
|
||||
Useful flags: `--filter <pattern>`, `--retries <0-10>` (reports tests that pass on retry as
|
||||
flaky), `--rerun-failed`, `--shard N/M` for parallel CI, `--coverage`, `--timeout <seconds>`.
|
||||
|
||||
`--mode PlayMode` runs `Assets/Tests/PlayMode` — currently `BootstrapTests`, which loads
|
||||
`Bootstrap.unity` and asserts the whole game comes up: both scenes loaded, the player present
|
||||
and tagged, the dialogue runner found, both NPCs having resolved their runner across the scene
|
||||
boundary, and the reveal camera bound to the player. **If that suite fails, the game does not
|
||||
start.**
|
||||
|
||||
Raw-Editor equivalent, if you need a flag the CLI does not expose:
|
||||
|
||||
```bash
|
||||
"$UNITY" -batchmode -nographics -projectPath "$UNITY_PROJECT" \
|
||||
-runTests -testPlatform EditMode \
|
||||
-testResults /tmp/editmode-results.xml -logFile /tmp/unity-editmode.log
|
||||
```
|
||||
|
||||
**Do not add `-quit` to a `-runTests` run** — the runner terminates the Editor itself, and
|
||||
`-quit` on top of async work can hang it.
|
||||
|
||||
**Parse the results XML; do not trust the exit code.** Unity's own docs state there is no common
|
||||
exit-code definition across the components under test. Read `total`/`passed`/`failed` off the
|
||||
root element and list any `test-case` whose `result` is not `Passed`.
|
||||
|
||||
### 3.3 Build a player
|
||||
|
||||
```bash
|
||||
"$UNITY_CLI" build "$UNITY_PROJECT" --no-banner \
|
||||
--target StandaloneOSX -o /tmp/NightclubArcadia.app
|
||||
```
|
||||
|
||||
Without `--execute-method` the CLI uses Unity's built-in build — a Build Profile on Unity 6+, or
|
||||
the legacy desktop player flags — and builds whatever scenes `EditorBuildSettings` enables.
|
||||
`--profile <name>` selects a profile from `Assets/Settings/Build Profiles` (the profile defines
|
||||
the target). `-l/--log-file` overrides the log path; the log streams to console unless `--no-tail`.
|
||||
|
||||
`make build` uses the entry point below, which is the form to prefer:
|
||||
|
||||
```bash
|
||||
"$UNITY_CLI" build "$UNITY_PROJECT" --no-banner --target StandaloneOSX \
|
||||
--execute-method NightclubArcadia.EditorTools.PlayerBuild.BuildMacOS \
|
||||
-o "$PWD/build/NightclubArcadia.app"
|
||||
```
|
||||
|
||||
`Assets/Editor/PlayerBuild.cs` reads the enabled scenes from the build settings, asserts
|
||||
`Bootstrap.unity` is scene 0 (the player opens scene 0 on launch), honours the `-buildOutput`
|
||||
the CLI forwards from `-o`, inspects the `BuildReport`, and calls `EditorApplication.Exit(1)` on
|
||||
anything short of `Succeeded`. Without that last part Unity exits 0 on a build that produced
|
||||
nothing and CI reports green. `BuildWindows` and `BuildLinux` are there too.
|
||||
|
||||
Verified: a full macOS build takes about two minutes and produces a ~172MB `.app`.
|
||||
|
||||
### 3.4 Run an arbitrary Editor method
|
||||
|
||||
```bash
|
||||
"$UNITY_CLI" run "$UNITY_PROJECT" --no-banner --timeout 900 -- \
|
||||
-executeMethod SomeClass.SomeStaticMethod
|
||||
```
|
||||
|
||||
**`unity run` owns `-batchmode`, `-nographics`, `-quit` and `-logFile`.** Passing any of them
|
||||
after `--` fails with a reserved-flag error. Pass only your own arguments.
|
||||
|
||||
Output does **not** stream to stdout. The log lands at `$UNITY_PROJECT/Logs/Editor.log` (the
|
||||
previous run rotates to `Editor-prev.log`), so tag your `Debug.Log` calls and grep for them:
|
||||
|
||||
```bash
|
||||
grep -n "\[YourTag\]" "$UNITY_PROJECT/Logs/Editor.log" | tail -20
|
||||
```
|
||||
|
||||
This is the mechanism for the JSON → ScriptableObject regeneration in
|
||||
`Assets/Editor/SkillSystemSetup.cs` and `CandidateSystemSetup.cs`. Read the actual class and
|
||||
method names out of those files before invoking — do not guess them.
|
||||
|
||||
## 4. The dialogue content pipeline
|
||||
|
||||
### 4.1 Where content lives
|
||||
|
||||
```
|
||||
NightclubArcadia/Assets/Dialogue/
|
||||
├── NightclubArcadia.yarnproject # globs **/*.yarn — new files need no registration
|
||||
├── Common.yarn # every <<declare>>, project-wide. Never played.
|
||||
├── Commentary.yarn # passive skill barks, one node per (context, skill)
|
||||
├── Scenes/ SC101, SC102, Debug
|
||||
├── Characters/ Bartender, Bradford Kane, Chevalier Cassian Thal
|
||||
└── Objects/ Chair
|
||||
```
|
||||
|
||||
The writer-facing context sits at the repo root, outside `Assets/` so it gets no `.meta` files:
|
||||
|
||||
The scenes are split three ways, loaded additively from `Bootstrap`:
|
||||
|
||||
```
|
||||
Assets/Scenes/
|
||||
├── Bootstrap.unity entry point; GameBootstrap loads the rest
|
||||
├── Systems/Systems.unity dialogue, skills, UI, camera rig, and the PLAYER
|
||||
└── Levels/
|
||||
├── SC101_ConferenceHall.unity geometry, light, navmesh, reveal cameras
|
||||
└── SC101_ConferenceHall/ baked data for that scene (NavMesh asset)
|
||||
```
|
||||
|
||||
`Bootstrap` must stay index 0 in the build settings. The level is made the active scene after
|
||||
load, so new objects and lighting land there rather than in Bootstrap.
|
||||
|
||||
**Working in the Editor.** `Tools ▸ Nightclub Arcadia ▸ Open Game Scenes` opens all three at
|
||||
once, with the level active. Do that before pressing Play.
|
||||
|
||||
If you press Play with only `Bootstrap` open, `GameBootstrap` loads the other two *at runtime*,
|
||||
and Unity discards runtime-loaded scenes when Play ends — the Hierarchy comes back with Bootstrap
|
||||
alone and it looks as though the scenes were destroyed. **Nothing is written to disk**; it is the
|
||||
Hierarchy, not the files. With all three already open, `GameBootstrap` skips loading them
|
||||
(`LoadIfNeeded`) and they are still there afterwards. `GameSceneWorkflow` also captures and
|
||||
restores the scene setup around Play as a safety net; toggle it under the same menu.
|
||||
|
||||
```
|
||||
writing/
|
||||
├── README.md session entry point
|
||||
├── STYLE.md register, tone moves, ban list, branching rules ← read first
|
||||
├── YARN-PRIMER.md the one page of syntax a writer needs
|
||||
├── GLOSSARY.md in-world and project vocabulary
|
||||
├── voices/ the eleven skill voices, one sheet each (generated — see §4.7)
|
||||
├── characters/ named NPCs, dialogue-facing
|
||||
├── scenes/ per-scene briefs: intent, beats, checks, constraints
|
||||
└── lore/ candidates.md — the three identity readings and their hard rules
|
||||
```
|
||||
|
||||
Design material deeper than this lives in Obsidian, not the repo:
|
||||
`~/Obsidian-Vaults/obsidian-vault/Projects/Active/NightclubArcadia/`. **`Ground Truth.md` there
|
||||
is the solution document — never copy, quote, or summarise it into this repo**, including into
|
||||
commit messages. The game's premise is that the protagonist's identity never resolves.
|
||||
|
||||
**Dialogue is already plain text in the repo.** It is authored in `.yarn` files, not inside
|
||||
the Unity Editor, and any new `.yarn` file dropped anywhere under `Assets/Dialogue/` is picked
|
||||
up automatically by the `**/*.yarn` glob in the `.yarnproject`. Adding a scene or a character
|
||||
requires **no C#, no Unity, and no `.yarnproject` edit**.
|
||||
|
||||
The one caveat: the `.yarnproject` also stores `editorOptions.yarnScriptEditor.projectGraphPositions`
|
||||
— per-file x/y coordinates for the Yarn graph editor. These churn whenever anyone opens the
|
||||
graph view. Treat that block as editor state; do not fight over it in review.
|
||||
|
||||
### 4.2 The variable contract
|
||||
|
||||
Every variable used anywhere must be `<<declare>>`d in `Common.yarn`. This is the whole point
|
||||
of that file: the compiler then catches `$reputaton` instead of silently creating a second
|
||||
variable at runtime. Adding a scene flag means adding a `<<declare>>` line — that is a writer
|
||||
action, not a code action.
|
||||
|
||||
Naming families that are load-bearing (enforced or lint-checked):
|
||||
|
||||
| Family | Meaning | Checked by |
|
||||
|---|---|---|
|
||||
| `$self_lean_<candidate_id>` | identity-lean counter | `CandidateYarnLintTests` — id must exist in `candidates.json` |
|
||||
| `$found_<clue_id>` | clue coverage | `CandidateYarnLintTests` — id must exist in `candidates.json` |
|
||||
| `$visited_<location_id>` | first arrival | convention; `unlockFlag` in `candidates.json` may only name these |
|
||||
| `$errand_<errand_id>` | errand state | same |
|
||||
| `$seen_<scene_id>` | scene witnessed | convention |
|
||||
| `$check_*` | written by `<<check>>` | **never `<<set>>` by hand** |
|
||||
|
||||
### 4.3 Writer-facing Yarn vocabulary
|
||||
|
||||
Commands and functions registered by game code, i.e. the full set a writer may use:
|
||||
|
||||
| Syntax | Defined in | Notes |
|
||||
|---|---|---|
|
||||
| `<<check <skill> <Band>>>` | `Skills/Yarn/YarnSkillCommands.cs` | writes `$check_result`, `$check_roll`, `$check_total`, `$check_dc`, `$check_modifier`, `$check_degree`, `$check_skill` |
|
||||
| `<<skill_mod <source> <skill> <n>>>` | same | `source` = bucket key, e.g. `scene`, `drunk` |
|
||||
| `<<clear_skill_mods <source>>>` | same | |
|
||||
| `skill_rank(<skill>)` | same | function |
|
||||
| `top_skill(a, b, …)` | `Dialogue/DialougueSkillComparison.cs` | **returns its FIRST argument on a tie** — argument order is a design decision, not incidental |
|
||||
| `alias_name(<name>)` | `Dialogue/AliasNameGenerator.cs` | deterministic; `$player_alias` is a smart variable derived from it |
|
||||
| `<<enter_environment>>` | `Dialogue/DialogueTransitionController.cs` | hands control back to the world |
|
||||
|
||||
(The filename `DialougueSkillComparison.cs` is misspelled in the repo. Left alone deliberately —
|
||||
renaming it changes a `.meta` GUID. Fold it into a rename batch, not a drive-by fix.)
|
||||
|
||||
### 4.4 Flow control discipline
|
||||
|
||||
`<<detour>>` returns to the caller; `<<jump>>` does not and clears the return stack.
|
||||
The rule the existing files follow, and which new content must follow:
|
||||
|
||||
- A node started directly by `DialogueInteractable` has nothing waiting on it → its branches
|
||||
`<<jump>>`, and each destination calls `<<enter_environment>>` itself.
|
||||
- A sub-conversation that must resume its caller → `<<detour>>`, and **never** `<<jump>>` inside it.
|
||||
|
||||
Nodes sharing a `title:` form a **node group**; Yarn runs the most specific variation whose
|
||||
`when:` conditions pass. Prefer adding a variation over growing an `<<if>>` chain.
|
||||
|
||||
### 4.5 How content reaches Unity
|
||||
|
||||
There is **no manual sync step** for dialogue. The chain is:
|
||||
|
||||
```
|
||||
.yarn file saved → Unity's YarnProjectImporter recompiles the .yarnproject on focus
|
||||
→ DialogueRunner plays the new nodes on next Play
|
||||
```
|
||||
|
||||
The only things that need a human/Editor step are the *data* files, not the dialogue:
|
||||
|
||||
```
|
||||
skill_bible.json → Tools ▸ Nightclub Arcadia ▸ Set Up Skill System → Skills/Definitions/*.asset + SkillDatabase.asset
|
||||
candidates.json → Tools ▸ Nightclub Arcadia ▸ Set Up Candidate System → Candidates/Definitions/*.asset + CandidateDatabase.asset
|
||||
characters.json → Tools ▸ Nightclub Arcadia ▸ Set Up Characters → Characters/Definitions/*.asset
|
||||
```
|
||||
|
||||
`characters.json` is where an NPC or a talkable object gets its display name, its Yarn node and
|
||||
its interaction range. Adding one is a JSON entry plus a prefab; it needs no code.
|
||||
|
||||
Those setup scripts also register a `[DidReloadScripts]` callback, so in practice the assets
|
||||
regenerate on script reload too. The JSON is the source of truth either way.
|
||||
|
||||
### 4.6 The voice-sheet pipeline
|
||||
|
||||
The Skill Bible prose used to live as a `\n`-escaped string inside `skill_bible.json`, which no
|
||||
writer could comfortably read or revise. It now lives in `writing/voices/*.md`, and truth flows
|
||||
in opposite directions for the two halves of each sheet:
|
||||
|
||||
```
|
||||
PROSE writing/voices/<id>.md -> skill_bible.json -> Skills/Definitions/*.asset
|
||||
MACHINE skill_bible.json -> the "Machine fields" table in the .md
|
||||
```
|
||||
|
||||
```bash
|
||||
python3 tools/writing/sync_voices.py --check # verify; exit 1 on drift
|
||||
python3 tools/writing/sync_voices.py --to-json # fold edited prose into the bible
|
||||
python3 tools/writing/sync_voices.py --to-md # refresh the machine table from the bible
|
||||
```
|
||||
|
||||
`tools/writing/voicelib.py` does the parsing and guarantees `notes -> dict -> notes` is identity
|
||||
for all eleven skills. `--to-json` on unchanged sheets is byte-identical, so it is safe to run
|
||||
at any time.
|
||||
|
||||
`VoiceSheetSyncTests` (EditMode) enforces the same invariant, so drift fails the build instead
|
||||
of silently shipping a voice that no longer matches the sheet the next scene is written against.
|
||||
It deliberately does not reimplement the markdown parser in C# — it asserts the shipped prose
|
||||
appears verbatim in the sheet, which catches drift in either direction with no second parser to
|
||||
keep in step.
|
||||
|
||||
### 4.7 Code-owned vs writer-owned
|
||||
|
||||
| Writer-owned (edit freely, no Unity) | Code-owned (needs an engineer) |
|
||||
|---|---|
|
||||
| `writing/**` | `Assets/Scripts/**/*.cs` |
|
||||
| `Assets/Dialogue/**/*.yarn` | `Assets/Editor/**/*.cs` |
|
||||
| `<<declare>>` lines in `Common.yarn` | Yarn command/function *implementations* |
|
||||
| `writing/voices/*.md` (prose → the bible, §4.6) | `Assets/Skills/skill_bible.json` (machine fields) |
|
||||
| `Assets/Candidates/candidates.json` (`status`, `sceneId`, `notes`, `unlockFlag`) | `.asset`, `.prefab`, `.unity`, `.meta` |
|
||||
| `docs/` writing docs | `ProjectSettings/**` |
|
||||
|
||||
**A writer must never need to open Unity or touch C# to write or revise a scene, a character,
|
||||
or a branch.** If a writing task requires either, that is a pipeline bug — file it.
|
||||
|
||||
---
|
||||
|
||||
## 5. Validation
|
||||
|
||||
### 5.1 EditMode test suite
|
||||
|
||||
`NightclubArcadia/Assets/Tests/EditMode/` — 7 files, ~870 LOC, two assemblies:
|
||||
|
||||
- `NightclubArcadia.Skills.Tests` — `SkillRosterTests`, `SkillCheckSystemTests`, `DcBandTests`,
|
||||
`CommentaryPickerTests`, `CandidateRegistryTests`, `CandidateYarnLintTests`
|
||||
- `NightclubArcadia.Locomotion.Math.Tests` — `MotionInputMathTests`
|
||||
|
||||
`CandidateYarnLintTests` is a **regex lint over Yarn source**: it asserts every
|
||||
`$self_lean_*` / `$found_*` in any `.yarn` file resolves to a real id in `CandidateDatabase`.
|
||||
It is a tripwire, not a proof.
|
||||
|
||||
### 5.2 PlayMode suite
|
||||
|
||||
`Assets/Tests/PlayMode/BootstrapTests.cs`. Verifies the scene split at runtime — the thing no
|
||||
EditMode test can see, because none of the runtime resolution has happened yet.
|
||||
|
||||
### 5.3 Voice-sheet sync
|
||||
|
||||
```bash
|
||||
python3 tools/writing/sync_voices.py --check
|
||||
```
|
||||
|
||||
Seconds, no Unity. Run it after touching `writing/voices/*.md` or `skill_bible.json` (§4.6).
|
||||
|
||||
### 5.4 One-click in-Editor run
|
||||
|
||||
`Tools ▸ Nightclub Arcadia ▸ Run Skill EditMode Tests` (`Assets/Editor/SkillSystemTestRunner.cs`).
|
||||
|
||||
### 5.5 YarnCheck — validate dialogue without Unity ⭐
|
||||
|
||||
`tools/YarnCheck` is a .NET 9 console app that compiles **and plays** the Yarn scripts using
|
||||
the exact Yarn Spinner DLLs shipped in `Packages/dev.yarnspinner.unity/Runtime/DLLs`, so it
|
||||
can never drift from the compiler the game uses. This is the fastest correctness signal in the
|
||||
repo and it needs no Editor lock. Use it on every dialogue change.
|
||||
|
||||
```bash
|
||||
cd /Users/lennart/Dev/nightlcub-arcadia/tools/YarnCheck
|
||||
|
||||
# compile everything — exit 1 + diagnostics on failure
|
||||
dotnet run -- ../../NightclubArcadia/Assets/Dialogue
|
||||
|
||||
# compile, then play a node, choosing option 2, 2, 0, 0
|
||||
dotnet run -- ../../NightclubArcadia/Assets/Dialogue Bartender_Talk 2 2 0 0
|
||||
```
|
||||
|
||||
Leftover picks restart the node — that deliberately models the player walking away and coming
|
||||
back, which is how these scenes are actually played.
|
||||
|
||||
**What it does not model** (read traces with this in mind): Unity commands are printed, not
|
||||
executed, so `<<check>>` / `<<enter_environment>>` / `<<skill_mod>>` are stepped over and
|
||||
`$check_result` stays `false` — every check-gated branch shows its *failure* side. Yarn
|
||||
functions are stubbed: `top_skill` mirrors the real first-argument-wins tie behaviour,
|
||||
`alias_name` returns a placeholder, `skill_rank` returns 0. Variables reset to their
|
||||
`<<declare>>` defaults each run; there is no save state.
|
||||
|
||||
Requires the .NET 9 SDK. `tools/YarnCheck/bin/` and `obj/` are currently **committed** and
|
||||
should not be — see `docs/restructure-plan.md`.
|
||||
|
||||
---
|
||||
|
||||
## 6. Code conventions
|
||||
|
||||
- Namespaces: `NightclubArcadia.<Area>` — `Skills`, `Dialogue`, `UI`, `UI.Dialogue`,
|
||||
`UI.HUD`, `UI.Menu`, `Cinematics`, `Interaction`, `Player`, `Player.Math`.
|
||||
There are no global-namespace runtime types left; the last one, `NPCStandIn`, went with the
|
||||
scaffold, and `InputDeviceTracker` moved into `NightclubArcadia.Core`.
|
||||
- **Assemblies.** No project code is in `Assembly-CSharp` any more:
|
||||
|
||||
| Assembly | Covers | Depends on |
|
||||
|---|---|---|
|
||||
| `NightclubArcadia.Core` | `Scripts/Core` | nothing |
|
||||
| `NightclubArcadia.Locomotion.Math` | `Scripts/Player/Math` | nothing |
|
||||
| `NightclubArcadia.Skills` | `Scripts/Skills` | Yarn, TMP, uGUI |
|
||||
| `NightclubArcadia.Game` | the rest of `Scripts` | Core, Skills, Math, StarterAssets, packages |
|
||||
| `StarterAssets` | vendored template code | Input System |
|
||||
|
||||
`Scripts/Interaction` holds the interaction layer: `InteractableDefinition` (the asset that
|
||||
says what a thing is called and which node it starts), `DialogueInteractor` (the component
|
||||
that places one in the world), plus `WorldSpaceLabel` and `InteractionPrompt`.
|
||||
|
||||
`Game` is one assembly rather than one per area because the areas are genuinely cyclic:
|
||||
UI ↔ Dialogue, UI ↔ Player and UI ↔ Camera, via `UILayerBootstrap`, `PlayerControlLock` and
|
||||
`CharacterPanelView`. Splitting further means moving those three, not just adding asmdefs.
|
||||
The `.asmdef` at `Scripts/` covers everything beneath it except folders with their own.
|
||||
- Comments in this codebase carry *decision history* — why a flag is written at the bottom of a
|
||||
node rather than the top, why four voices in SC-101 breaks the three-voice cap on purpose.
|
||||
Match that density. Do not strip such comments as "noise"; they are the design record.
|
||||
- Editor-only code lives under `Assets/Editor/`. Anything there is stripped from builds and may
|
||||
reference `UnityEditor`.
|
||||
|
||||
---
|
||||
|
||||
## 7. Traps
|
||||
|
||||
1. **A scene silently turns binary if it holds an object that prefers binary serialization.**
|
||||
This one cost real time. `DialogueTest.unity` was binary for weeks despite the project being
|
||||
set to Force Text, because the `NavMeshSurface` held its baked `NavMeshData` *embedded in the
|
||||
scene* rather than as an asset. One such object forces the whole file to binary, and no amount
|
||||
of re-saving or toggling the setting fixes it — Force Text only converts at the moment the
|
||||
setting changes. The fix is to extract the data to its own asset, which is what baking from
|
||||
the NavMeshSurface inspector produces anyway. If a scene goes binary again, bisect: move the
|
||||
roots one at a time into a fresh scene and see which one yields a binary file.
|
||||
|
||||
2. **Serialized references cannot cross a scene boundary.** Unity nulls them. The split cost
|
||||
exactly seven: both NPCs' `dialogueRunner`, `dialogueUI` and `player`, plus the reveal
|
||||
camera's tracking target. All are resolved at runtime now — `SceneServices` for the first,
|
||||
`CinemachineFollowsPlayer` for the last.
|
||||
|
||||
**Resolve at the point of use, never in `Awake`.** A level object can wake up before the
|
||||
scene holding its dependency exists — open the level on its own, or in the wrong order, and
|
||||
`Awake` runs with no Systems scene in sight. That produced
|
||||
`[SceneServices] Bartender: could not resolve dialogueRunner`, and because the result was
|
||||
cached once, it stayed broken for the whole session. `SceneServices.TryResolve` is the silent
|
||||
lookup for speculative calls; `SceneServices.Resolve` logs and belongs only where the
|
||||
dependency is genuinely needed. `NPCStandIn.ResolvedDialogueRunner` is the pattern to copy.
|
||||
`SceneOrderTests` holds the property, and asserts it is actually reproducing the race rather
|
||||
than passing for free.
|
||||
|
||||
3. **The player's NavMeshAgent outlives the NavMesh.** The player is in Systems, the NavMesh is
|
||||
baked into the level, so there is a window during load where the agent exists and is not on a
|
||||
mesh. `ResetPath`, `isStopped` and `SetDestination` all log errors in that state. Guard on
|
||||
`agent.isOnNavMesh`, not just a null check.
|
||||
|
||||
4. **An asmdef assembly cannot reference `Assembly-CSharp`.** Only the reverse. This is why
|
||||
giving the runtime code assemblies had to include `StarterAssets`, which had none and which
|
||||
four runtime files use — without that, everything referencing it would have stopped compiling.
|
||||
Keep it in mind before adding loose scripts outside an asmdef folder.
|
||||
|
||||
5. **The one-shot scene builders are gone.** `UILayerSetup`, `PlayerControlSetup`,
|
||||
`UILayerSetupAutoRun` and `YarnDemoSetup` built scenes from scratch and assumed the
|
||||
single-scene layout; after the split they produced duplicates, and one of them destroyed a
|
||||
level. The prefabs they used to generate are authored and committed now, so they were deleted
|
||||
rather than fixed. They are in git history if the wiring ever needs consulting.
|
||||
`Set Up Skill System`, `Set Up Candidate System` and `Set Up Characters` remain — they
|
||||
regenerate assets from JSON and touch no scene. **To run the game, open `Bootstrap.unity`.**
|
||||
|
||||
6. **`unity run` reserves `-batchmode`, `-nographics`, `-quit`, `-logFile`.** Passing any of them
|
||||
after `--` is a hard error, and its output does not reach stdout — read `Logs/Editor.log` (§3.4).
|
||||
|
||||
7. **`-quit` with `-runTests`** hangs or truncates. Omit it (§3.2).
|
||||
|
||||
8. **Exit code alone is not a test verdict.** Parse the results XML (§3.2), which is what
|
||||
`make test` does.
|
||||
|
||||
9. **`which unity` fails** in non-interactive shells even though the CLI is installed. Use the
|
||||
absolute path `/Users/lennart/.unity/bin/unity` (§3.0).
|
||||
|
||||
10. **Editor lock** — check before every headless run, filtering out `AssetImportWorker` children.
|
||||
`make test` and `make build` do this for you (§2b).
|
||||
|
||||
11. **Regenerated assets** — hand edits to `Skills/Definitions/*`, `Candidates/Definitions/*`
|
||||
and the two `*Database.asset` files are silently discarded (§2.1).
|
||||
|
||||
12. **`top_skill` ties** resolve to the first argument. Reordering arguments changes the game.
|
||||
|
||||
13. **`Bootstrap` must stay index 0** in the build settings, and all three scenes must be listed,
|
||||
or `LoadSceneAsync` by name fails at runtime with nothing but a console error.
|
||||
@@ -0,0 +1,73 @@
|
||||
# Nightclub Arcadia — common commands.
|
||||
#
|
||||
# Everything here is documented in CLAUDE.md; this file exists so the exact
|
||||
# invocations live in one place instead of being retyped from memory.
|
||||
|
||||
UNITY_CLI ?= /Users/lennart/.unity/bin/unity
|
||||
UNITY ?= /Applications/Unity/Hub/Editor/6000.5.8f1/Unity.app/Contents/MacOS/Unity
|
||||
PROJECT ?= $(CURDIR)/NightclubArcadia
|
||||
RESULTS ?= $(CURDIR)/.test-results
|
||||
SMARTMERGE ?= /Applications/Unity/Hub/Editor/6000.5.8f1/Unity.app/Contents/Helpers/UnityYAMLMerge
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
.PHONY: help check yarn yarn-play voices voices-sync test test-play build lock clean-results merge-driver
|
||||
|
||||
help: ## Show this help
|
||||
@grep -hE '^[a-z-]+:.*?## ' $(MAKEFILE_LIST) \
|
||||
| awk 'BEGIN {FS = ":.*?## "} {printf " \033[36m%-14s\033[0m %s\n", $$1, $$2}'
|
||||
@echo ""
|
||||
@echo " Unity must be CLOSED for test/build — run 'make lock' to check."
|
||||
|
||||
check: yarn voices test test-play ## Everything a change should pass before commit
|
||||
|
||||
yarn: ## Compile every Yarn script (seconds, no Unity)
|
||||
@cd tools/YarnCheck && DOTNET_CLI_TELEMETRY_OPTOUT=1 dotnet run -- ../../NightclubArcadia/Assets/Dialogue
|
||||
|
||||
yarn-play: ## Play a node: make yarn-play NODE=Bartender_Talk PICKS="2 2 0 0"
|
||||
@cd tools/YarnCheck && DOTNET_CLI_TELEMETRY_OPTOUT=1 \
|
||||
dotnet run -- ../../NightclubArcadia/Assets/Dialogue $(NODE) $(PICKS)
|
||||
|
||||
voices: ## Check writing/voices/*.md against skill_bible.json
|
||||
@python3 tools/writing/sync_voices.py --check
|
||||
|
||||
voices-sync: ## Fold edited voice prose into skill_bible.json
|
||||
@python3 tools/writing/sync_voices.py --to-json
|
||||
|
||||
test: lock ## Run the EditMode suite
|
||||
@mkdir -p $(RESULTS)
|
||||
@$(UNITY_CLI) test $(PROJECT) --no-banner --mode EditMode \
|
||||
--output $(RESULTS)/editmode.xml --timeout 900 || true
|
||||
@python3 tools/ci/report_tests.py $(RESULTS)/editmode.xml
|
||||
|
||||
test-play: lock ## Run the PlayMode suite (bootstrap + scene split)
|
||||
@mkdir -p $(RESULTS)
|
||||
@$(UNITY_CLI) test $(PROJECT) --no-banner --mode PlayMode \
|
||||
--output $(RESULTS)/playmode.xml --timeout 900 || true
|
||||
@python3 tools/ci/report_tests.py $(RESULTS)/playmode.xml
|
||||
|
||||
build: lock ## Build a macOS player into build/
|
||||
@$(UNITY_CLI) build $(PROJECT) --no-banner --target StandaloneOSX \
|
||||
--execute-method NightclubArcadia.EditorTools.PlayerBuild.BuildMacOS \
|
||||
-o $(CURDIR)/build/NightclubArcadia.app
|
||||
|
||||
lock: ## Fail if the Unity Editor has the project open
|
||||
# pgrep -x matches the process NAME only. The previous `pgrep -f` on the full
|
||||
# binary path matched this very shell, because the pattern appears in its own
|
||||
# command line — the check reported the Editor running when nothing was.
|
||||
# AssetImportWorkers share the name but only exist alongside an Editor, so
|
||||
# matching them is correct rather than a false positive.
|
||||
@if pgrep -x Unity > /dev/null 2>&1; then \
|
||||
echo "The Unity Editor is running — close it first (only one instance per project)."; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
merge-driver: ## One-time: teach git to merge Unity YAML with UnityYAMLMerge
|
||||
@test -x "$(SMARTMERGE)" || { echo "UnityYAMLMerge not found at $(SMARTMERGE)"; exit 1; }
|
||||
@git config merge.unityyamlmerge.name "Unity SmartMerge"
|
||||
@git config merge.unityyamlmerge.driver "'$(SMARTMERGE)' merge -p --force --fallback none %O %B %A %A"
|
||||
@git config merge.unityyamlmerge.recursive binary
|
||||
@echo "configured: $$(git config merge.unityyamlmerge.name)"
|
||||
|
||||
clean-results: ## Remove local test results
|
||||
@rm -rf $(RESULTS)
|
||||
@@ -180,3 +180,40 @@ InitTestScene*.unity*
|
||||
# Source-generator output for attributed commands/functions (regenerated).
|
||||
YarnActionRegistration.cs
|
||||
YarnActionRegistration.cs.meta
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ProBuilder (com.unity.probuilder, embedded as source under /Packages instead
|
||||
# of resolving through the registry into Library/PackageCache)
|
||||
# ---------------------------------------------------------------------------
|
||||
# Folders ending in "~" are already invisible to the Unity Editor/AssetDatabase
|
||||
# (no .meta files are ever generated for them), so committing them only bloats
|
||||
# the repo for content nobody can reference from the project:
|
||||
# Documentation~/ ~16 MB of package docs
|
||||
# Samples~/ ~1 MB of optional sample scenes/scripts
|
||||
/[Pp]ackages/com.unity.probuilder/Documentation~/
|
||||
/[Pp]ackages/com.unity.probuilder/Samples~/
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# StarterAssets (Unity's ThirdPerson Starter Assets package, imported under
|
||||
# /Assets/StarterAssets)
|
||||
# ---------------------------------------------------------------------------
|
||||
# Vendor onboarding readme + its screenshot, shown once in the Editor's
|
||||
# "Readme" inspector window. Not referenced by any scene or script.
|
||||
/[Aa]ssets/StarterAssets/Readme.asset
|
||||
/[Aa]ssets/StarterAssets/Readme.asset.meta
|
||||
/[Aa]ssets/StarterAssets/TutorialInfo/
|
||||
|
||||
# Vendor PDF manual, not used at runtime.
|
||||
/[Aa]ssets/StarterAssets/StarterAssets_Documentation_v1.1.pdf
|
||||
/[Aa]ssets/StarterAssets/StarterAssets_Documentation_v1.1.pdf.meta
|
||||
|
||||
# "Playground" demo scene the package ships to showcase the controller.
|
||||
# Not in EditorBuildSettings and not referenced by any of the project's own
|
||||
# scenes — includes baked LightingData + reflection probe .exr captures that
|
||||
# only apply to that demo scene's lighting setup.
|
||||
/[Aa]ssets/StarterAssets/ThirdPersonController/Scenes/Playground.unity
|
||||
/[Aa]ssets/StarterAssets/ThirdPersonController/Scenes/Playground.unity.meta
|
||||
/[Aa]ssets/StarterAssets/ThirdPersonController/Scenes/Playground/
|
||||
/[Aa]ssets/StarterAssets/ThirdPersonController/Scenes/Playground.meta
|
||||
/[Aa]ssets/StarterAssets/ThirdPersonController/Scenes/PlaygroundSettings.lighting
|
||||
/[Aa]ssets/StarterAssets/ThirdPersonController/Scenes/PlaygroundSettings.lighting.meta
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98c69c750f094ae79e2f9362c4422647
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6270e22570864d7c862434241018328f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bffd4617fb74418f9eb0d0d6378cf79a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ff84645ddce3641b0a7e9c68db56c8db
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,84 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a1b2c3d4e5f60718293a4b5c6d7e8f90
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings: []
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db0c69a0766e477bb76a94393518cf60
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c4dc6e246e9a462dbae29cd42b16317e, type: 3}
|
||||
m_Name: CandidateDatabase
|
||||
m_EditorClassIdentifier:
|
||||
candidates:
|
||||
- {fileID: 11400000, guid: af55e04701494a71a0b292d910db3d13, type: 2}
|
||||
- {fileID: 11400000, guid: 7282093aca2e4d408d4972354ebcd634, type: 2}
|
||||
- {fileID: 11400000, guid: b6184c723bab4bef8f8fbaaf462a324d, type: 2}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e2fa27d75ae14f498235dd461791765d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 75c54c58c29b4b738e7c0f55e960540b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,49 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1f0a63ccd8da4e5ab64dea83c64eeb6a, type: 3}
|
||||
m_Name: inheritor
|
||||
m_EditorClassIdentifier:
|
||||
id: inheritor
|
||||
displayName: The Inheritor
|
||||
reading: This was never the PC's own story; a parent or elder relative had standing
|
||||
or a debt with a faction, which passed without full consent.
|
||||
intuitionAxis: 3
|
||||
clues:
|
||||
- id: inheritor_object
|
||||
type: 0
|
||||
sceneId:
|
||||
unlockFlag: $visited_private_box
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Object clue \u2014 Planned. Not yet authored."
|
||||
- id: inheritor_testimony
|
||||
type: 1
|
||||
sceneId:
|
||||
unlockFlag: $errand_ask_about_name
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Testimony clue \u2014 Planned. Not yet authored."
|
||||
- id: inheritor_document
|
||||
type: 2
|
||||
sceneId:
|
||||
unlockFlag: $visited_membership_ledger
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Document clue \u2014 Planned. Not yet authored."
|
||||
- id: inheritor_intuition
|
||||
type: 3
|
||||
sceneId: SC101
|
||||
unlockFlag: $visited_desk
|
||||
status: 1
|
||||
skillId: standing_order
|
||||
notes: 'SC-101 Self intuition: correcting an etiquette rule never consciously
|
||||
learned.'
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b6184c723bab4bef8f8fbaaf462a324d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,49 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1f0a63ccd8da4e5ab64dea83c64eeb6a, type: 3}
|
||||
m_Name: journalist
|
||||
m_EditorClassIdentifier:
|
||||
id: journalist
|
||||
displayName: The Journalist
|
||||
reading: The PC came for a specific person, not a story; 'journalist' is a cover
|
||||
identity.
|
||||
intuitionAxis: 2
|
||||
clues:
|
||||
- id: journalist_object
|
||||
type: 0
|
||||
sceneId:
|
||||
unlockFlag: $visited_coat_check
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Object clue \u2014 Planned. Not yet authored."
|
||||
- id: journalist_testimony
|
||||
type: 1
|
||||
sceneId:
|
||||
unlockFlag: $errand_find_contact
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Testimony clue \u2014 Planned. Not yet authored."
|
||||
- id: journalist_document
|
||||
type: 2
|
||||
sceneId:
|
||||
unlockFlag: $visited_press_room
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Document clue \u2014 Planned. Not yet authored."
|
||||
- id: journalist_intuition
|
||||
type: 3
|
||||
sceneId: SC101
|
||||
unlockFlag: $visited_desk
|
||||
status: 1
|
||||
skillId: facework
|
||||
notes: 'SC-101 Social intuition: a reaction that lands wrong and can''t yet be
|
||||
explained.'
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7282093aca2e4d408d4972354ebcd634
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,49 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1f0a63ccd8da4e5ab64dea83c64eeb6a, type: 3}
|
||||
m_Name: made_asset
|
||||
m_EditorClassIdentifier:
|
||||
id: made_asset
|
||||
displayName: The Made Asset
|
||||
reading: The PC was trained, conditioned, or activated by one of the factions for
|
||||
a role near the central conference.
|
||||
intuitionAxis: 0
|
||||
clues:
|
||||
- id: made_asset_object
|
||||
type: 0
|
||||
sceneId:
|
||||
unlockFlag: $visited_back_office
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Object clue \u2014 Planned. Not yet authored."
|
||||
- id: made_asset_testimony
|
||||
type: 1
|
||||
sceneId:
|
||||
unlockFlag: $errand_door_list
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Testimony clue \u2014 Planned. Not yet authored."
|
||||
- id: made_asset_document
|
||||
type: 2
|
||||
sceneId:
|
||||
unlockFlag: $visited_archives
|
||||
status: 0
|
||||
skillId:
|
||||
notes: "Document clue \u2014 Planned. Not yet authored."
|
||||
- id: made_asset_intuition
|
||||
type: 3
|
||||
sceneId: SC101
|
||||
unlockFlag: $visited_desk
|
||||
status: 1
|
||||
skillId: confluence
|
||||
notes: 'SC-101 Reason intuition: parsing something too fluently, before consciously
|
||||
trying to.'
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af55e04701494a71a0b292d910db3d13
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"candidates": [
|
||||
{
|
||||
"id": "made_asset",
|
||||
"displayName": "The Made Asset",
|
||||
"reading": "The PC was trained, conditioned, or activated by one of the factions for a role near the central conference.",
|
||||
"intuitionAxis": "Reason",
|
||||
"clues": [
|
||||
{
|
||||
"id": "made_asset_object",
|
||||
"type": "Object",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$visited_back_office",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Object clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "made_asset_testimony",
|
||||
"type": "Testimony",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$errand_door_list",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Testimony clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "made_asset_document",
|
||||
"type": "Document",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$visited_archives",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Document clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "made_asset_intuition",
|
||||
"type": "Intuition",
|
||||
"sceneId": "SC101",
|
||||
"unlockFlag": "$visited_desk",
|
||||
"status": "Authored",
|
||||
"skillId": "confluence",
|
||||
"notes": "SC-101 Reason intuition: parsing something too fluently, before consciously trying to."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "journalist",
|
||||
"displayName": "The Journalist",
|
||||
"reading": "The PC came for a specific person, not a story; 'journalist' is a cover identity.",
|
||||
"intuitionAxis": "Social",
|
||||
"clues": [
|
||||
{
|
||||
"id": "journalist_object",
|
||||
"type": "Object",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$visited_coat_check",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Object clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "journalist_testimony",
|
||||
"type": "Testimony",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$errand_find_contact",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Testimony clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "journalist_document",
|
||||
"type": "Document",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$visited_press_room",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Document clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "journalist_intuition",
|
||||
"type": "Intuition",
|
||||
"sceneId": "SC101",
|
||||
"unlockFlag": "$visited_desk",
|
||||
"status": "Authored",
|
||||
"skillId": "facework",
|
||||
"notes": "SC-101 Social intuition: a reaction that lands wrong and can't yet be explained."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "inheritor",
|
||||
"displayName": "The Inheritor",
|
||||
"reading": "This was never the PC's own story; a parent or elder relative had standing or a debt with a faction, which passed without full consent.",
|
||||
"intuitionAxis": "Self",
|
||||
"clues": [
|
||||
{
|
||||
"id": "inheritor_object",
|
||||
"type": "Object",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$visited_private_box",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Object clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "inheritor_testimony",
|
||||
"type": "Testimony",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$errand_ask_about_name",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Testimony clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "inheritor_document",
|
||||
"type": "Document",
|
||||
"sceneId": "",
|
||||
"unlockFlag": "$visited_membership_ledger",
|
||||
"status": "Planned",
|
||||
"skillId": "",
|
||||
"notes": "Document clue — Planned. Not yet authored."
|
||||
},
|
||||
{
|
||||
"id": "inheritor_intuition",
|
||||
"type": "Intuition",
|
||||
"sceneId": "SC101",
|
||||
"unlockFlag": "$visited_desk",
|
||||
"status": "Authored",
|
||||
"skillId": "standing_order",
|
||||
"notes": "SC-101 Self intuition: correcting an etiquette rule never consciously learned."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8255e20527a84dbabb918a5f5ad590d7
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fd96ed0121314a93aff9d3ef7845fd1d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 642dac0a511114afa9f701fb8a59378c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,19 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8f4df63859ea4e39910d900aa7a5510a, type: 3}
|
||||
m_Name: bartender
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Interaction.InteractableDefinition
|
||||
id: bartender
|
||||
displayName: Bartender
|
||||
yarnNode: Bartender_Talk
|
||||
interactionRange: 3
|
||||
showLabel: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8ccb543c858f74a969cb025cb3e1f0ea
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,19 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8f4df63859ea4e39910d900aa7a5510a, type: 3}
|
||||
m_Name: chair
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Interaction.InteractableDefinition
|
||||
id: chair
|
||||
displayName: Chair
|
||||
yarnNode: Chair_Interaction
|
||||
interactionRange: 3
|
||||
showLabel: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 403e142c457b0412a8c8604a2a9807ed
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"interactables": [
|
||||
{
|
||||
"id": "bartender",
|
||||
"displayName": "Bartender",
|
||||
"yarnNode": "Bartender_Talk",
|
||||
"interactionRange": 3.0,
|
||||
"showLabel": true
|
||||
},
|
||||
{
|
||||
"id": "chair",
|
||||
"displayName": "Chair",
|
||||
"yarnNode": "Chair_Interaction",
|
||||
"interactionRange": 3.0,
|
||||
"showLabel": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b4673507aac641739818bc04a57a8930
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,107 @@
|
||||
// Everything the bartender ever says.
|
||||
//
|
||||
// Stack discipline (the player comes back to the bar, so it matters):
|
||||
// `Bartender_Talk` is the node DialogueInteractable starts, so nothing is
|
||||
// waiting for it to return. Its branches therefore <<jump>> — they are the last
|
||||
// thing the node does — and each destination hands control back with
|
||||
// <<enter_environment>> itself. <<detour>> is only for sub-conversations that
|
||||
// have to resume the caller; a <<jump>> inside one would clear the return stack.
|
||||
|
||||
title: Bartender_Talk
|
||||
position: -121,-60
|
||||
---
|
||||
<<if $spoke_to_bartender>>
|
||||
<<if $revealed_fugue_to_bartender>>
|
||||
Bartender: Ah, still hazy? A drink?
|
||||
<<else>>
|
||||
Bartender: Ah, {$player_alias}. A drink?
|
||||
<<endif>>
|
||||
-> Yes, please.
|
||||
<<jump SC101_Hook_Drink_Bartender_Talk>>
|
||||
-> No, I have questions.
|
||||
<<jump SC101_Hook_Questions_Bartender_Talk>>
|
||||
<<else>>
|
||||
<<set $spoke_to_bartender = true>>
|
||||
Bartender: Ah, {$player_alias}, back again?
|
||||
Narrator: What does he mean? "Back again?"
|
||||
-> Back? I have never been here.
|
||||
<<set $revealed_fugue_to_bartender = true>>
|
||||
Narrator: The bartender squints with a critical look.
|
||||
FACEWORK: He will tell on you. This is the face of a man who is not only here to tend the bar, but to watch, to observe. And to report back to his masters.
|
||||
Bartender: I could have sworn you are {$player_alias}, weren't you with Mr. Doss a few days ago?
|
||||
<<if $looking_for_doss eq false>>
|
||||
<<set $looking_for_doss = true>>
|
||||
Narrator: Mr. Doss?
|
||||
PROVENANCE: Mr. Doss. We need to find him, appraise him, document our findings, file them, cross-reference them ...
|
||||
<<else>>
|
||||
CONFLUENCE: There he is again: Mr. Doss.
|
||||
<<endif>>
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
Bartender: What can I get ya?
|
||||
-> What can you recommend?
|
||||
Bartender: Last time you tooke the Estate.
|
||||
Narrator: You ignore the jab.
|
||||
<<jump SC101_Hook_Drink_Bartender_Talk>>
|
||||
-> Whatever.
|
||||
<<jump SC101_Hook_Drink_Bartender_Talk>>
|
||||
-> Yes. I'll take the usual.
|
||||
Narrator: The bartender doesn't even flinch, while taking ingredients from the bar.
|
||||
PROVENANCE: We cannot remember these substances.
|
||||
AMNESTY: Is this really our favorite drink?
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
<<jump SC101_Hook_Drink_Bartender_Talk>>
|
||||
-> I am, and I have a few questions.
|
||||
<<jump SC101_Hook_Questions_Bartender_Talk>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Drink_Bartender_Talk
|
||||
position: 116,222
|
||||
---
|
||||
// $had_the_estate_drink is written at the BOTTOM of this node, not here. The whole
|
||||
// node reads first-glass state — the pour, the taste, and the lean write under the
|
||||
// answer — and the glass is only recorded once all of it has run. Setting the flag
|
||||
// up here (as this node used to) leaves the tests below reading a flag this same
|
||||
// run already flipped, and the lean write can never fire.
|
||||
Bartender: One Estate coming right up.
|
||||
<<if $had_the_estate_drink>>
|
||||
Narrator: He puts another amber drink before you.
|
||||
<<else>>
|
||||
Narrator: He puts a deep amber drink before you.
|
||||
HOUSE POUR: It smells like old wood, oak, which went sour with age, like a library shelf that's been rained on once and dried wrong.
|
||||
Narrator: You take a sip.
|
||||
HOUSE POUR: Deceptively soft. Brown sugar, a little burnt. Vanilla that's actually oak-tannin doing an impression of vanilla.
|
||||
<<endif>>
|
||||
AMNESTY: Is that the taste of our favorite drink? I cannot remember ...
|
||||
-> Yes, it is!
|
||||
<<if $had_the_estate_drink eq false>>
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
HOUSE POUR: Long, dry, faintly bitter - gentian root or scorched citrus pith - and it doesn't fade so much as recede, like it's waiting to be poured again.
|
||||
<<else>>
|
||||
HOUSE POUR: Long and dry, it recedes again.
|
||||
<<endif>>
|
||||
-> I don't think so.
|
||||
<<if $had_the_estate_drink eq false>>
|
||||
<<set $self_lean_inheritor -= 1>>
|
||||
HOUSE POUR: Bitter, at the end. Like it's waiting to be poured again.
|
||||
<<else>>
|
||||
HOUSE POUR: Still bitter.
|
||||
<<endif>>
|
||||
<<set $had_the_estate_drink = true>>
|
||||
<<enter_environment>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Questions_Bartender_Talk
|
||||
position: -139,224
|
||||
---
|
||||
Bartender: Sure, what do you want to know?
|
||||
-> Question 1
|
||||
Bartender: Answer 1
|
||||
-> Question 2
|
||||
Bartender: Answer 2
|
||||
-> Nothing.
|
||||
Bartender: Alright.
|
||||
<<enter_environment>>
|
||||
<<stop>>
|
||||
<<jump SC101_Hook_Questions_Bartender_Talk>>
|
||||
===
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 582cd3b2ab9274b8ca0737660a0d6b1a
|
||||
guid: 6b8ac538a619b45b8a197ad048a94505
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
@@ -1,65 +0,0 @@
|
||||
// Everything the bouncer ever says.
|
||||
//
|
||||
// These nodes share a title, which makes them a node group. Callers just
|
||||
// `<<detour Bouncer_Talk>>` and Yarn runs the most specific variation whose
|
||||
// `when:` conditions pass. Adding a new variation later means adding a node,
|
||||
// not editing a growing <<if>> chain.
|
||||
//
|
||||
// Each variation sets $went_inside so the calling scene knows the verdict.
|
||||
|
||||
title: Bouncer_Talk
|
||||
when: once
|
||||
---
|
||||
Bouncer: Evening. Name on the list?
|
||||
You: Depends who's asking.
|
||||
-> I'm on the list.
|
||||
<<set $claimed_to_be_on_list = true>>
|
||||
<<check placement routine>>
|
||||
<<if $check_result>>
|
||||
Bouncer: ...you're not on the list.
|
||||
Bouncer: But it's slow tonight. Go on.
|
||||
<<set $went_inside = true>>
|
||||
<<else>>
|
||||
Bouncer: Nobody's on the list tonight. Especially not you.
|
||||
<<set $went_inside = false>>
|
||||
<<endif>>
|
||||
-> Let me through. <<if skill_rank("undisclosed") >= 2>>
|
||||
<<check undisclosed hard -1>>
|
||||
<<if $check_degree == "critical_success">>
|
||||
Bouncer: ...yeah. Yeah, okay.
|
||||
<<set $reputation += 2>>
|
||||
<<set $went_inside = true>>
|
||||
<<elseif $check_result>>
|
||||
Bouncer: Fine. Don't make it a thing.
|
||||
<<set $went_inside = true>>
|
||||
<<else>>
|
||||
Bouncer: Try that again and you're talking to the pavement.
|
||||
<<set $reputation -= 1>>
|
||||
<<set $went_inside = false>>
|
||||
<<endif>>
|
||||
-> Actually, I'll head home.
|
||||
Bouncer: Smart choice.
|
||||
<<set $went_inside = false>>
|
||||
===
|
||||
|
||||
title: Bouncer_Talk
|
||||
when: $is_vip
|
||||
---
|
||||
Bouncer: Didn't even see you there. Go on in.
|
||||
<<set $went_inside = true>>
|
||||
===
|
||||
|
||||
title: Bouncer_Talk
|
||||
when: $claimed_to_be_on_list
|
||||
---
|
||||
Bouncer: Still not on the list, I assume.
|
||||
Bouncer: Go on, before I change my mind.
|
||||
<<set $went_inside = true>>
|
||||
===
|
||||
|
||||
title: Bouncer_Talk
|
||||
when: always
|
||||
---
|
||||
Bouncer: Back again.
|
||||
<<set $went_inside = true>>
|
||||
===
|
||||
@@ -0,0 +1,13 @@
|
||||
// Everything Bradford Kane ever says.
|
||||
//
|
||||
// These nodes share a title, which makes them a node group. Callers just
|
||||
// `<<detour Bradford_Kane_Talk>>` and Yarn runs the most specific variation whose
|
||||
// `when:` conditions pass. Adding a new variation later means adding a node,
|
||||
// not editing a growing <<if>> chain.
|
||||
//
|
||||
// Each variation sets $went_inside so the calling scene knows the verdict.
|
||||
|
||||
title: Bradford_Kane_Talk
|
||||
---
|
||||
<<set $spoke_to_bradford_kane = true>>
|
||||
===
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cb0faaa47fe2440d78e49de30f921218
|
||||
guid: a1ee2125b1dbf4068868b09cbb685aa8
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
@@ -0,0 +1,150 @@
|
||||
// Everything Ser Cassian Thal ever says.
|
||||
//
|
||||
// These nodes share a title, which makes them a node group. Callers just
|
||||
// `<<detour Chevalier_Cassian_Thal_Talk>>` and Yarn runs the most specific variation whose
|
||||
// `when:` conditions pass. Adding a new variation later means adding a node,
|
||||
// not editing a growing <<if>> chain.
|
||||
//
|
||||
// Each variation sets $went_inside so the calling scene knows the verdict.
|
||||
|
||||
title: Chevalier_Cassian_Thal_Talk
|
||||
position: 44,-117
|
||||
---
|
||||
<<if $spoke_to_chevalier_cassian_thal>>
|
||||
Chevalier Cassian Thal: Well met good sir.
|
||||
<<else>>
|
||||
<<set $spoke_to_chevalier_cassian_thal = true>>
|
||||
Narrator: You introduce yourself to the man. He takes measure before bowing his head and tipping his forehead with a half-open fist.
|
||||
Chevalier Cassian Thal: {$player_name_full}, nice to meet you. I'm Chevalier Cassian Thal of Basel and Cyprus.
|
||||
THE FLOAT: His name reeks of money. Old money.
|
||||
<<check provenance Hard>>
|
||||
<<if $check_result>>
|
||||
PROVENANCE: Basel? Makes total sense. But which connections does this old codger have to Cyprus?
|
||||
-> Inquire further about Cyprus.
|
||||
<<detour SC101_Inquire_Cypurs_Chevalier_Cassian_Thal_Talk>>
|
||||
-> Leave it be.
|
||||
<<endif>>
|
||||
<<endif>>
|
||||
<<if $saw_knights_atlantean_cross_on_place_card eq true and $had_the_estate_drink eq true>>
|
||||
<<detour SC101_Hook_Asks_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Inquire_Cypurs_Chevalier_Cassian_Thal_Talk
|
||||
position: -175,95
|
||||
---
|
||||
<<set $inquired_about_cyprus = true>>
|
||||
Chevalier Cassian Thal: Oh, a sharp question, {$player_name_full}.
|
||||
Narrator: The knight laughs.
|
||||
Chevalier Cassian Thal: I assume you should ask your friend Mr. Doss, I am of no right to reveal this connection.
|
||||
<<if $looking_for_doss eq false>>
|
||||
<<set $looking_for_doss = true>>
|
||||
Narrator: Mr. Doss?
|
||||
PROVENANCE: Mr. Doss. We need to find him, appraise him, document our findings, file them, cross-reference them ...
|
||||
<<else>>
|
||||
CONFLUENCE: There he is again: Mr. Doss.
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Asks_Candidate_Chevalier_Cassian_Thal_Talk
|
||||
position: 146,85
|
||||
---
|
||||
<<if $inquired_about_cyprus>>
|
||||
Chevalier Cassian Thal: This were a lot of questions. Now tell me something about yourself, old chap.
|
||||
<<endif>>
|
||||
<<detour SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<if $declared_candidate_to_chevalier_cassian_thal>>
|
||||
Narrator: Chevalier Cassian Thal turns towards the head of the table again, just, when another man stands up.
|
||||
<<jump SC102_Table>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk
|
||||
position: 157,261
|
||||
---
|
||||
<<set $winner = top_skill($self_lean_made_asset, "asset", $self_lean_journalist, "journalist", $self_lean_inheritor, "inheritor")>>
|
||||
<<set $previous_winner = $winner>>
|
||||
<<if $winner eq "asset">>
|
||||
Narrator: He leans in and whispers:
|
||||
Chevalier Cassian Thal: I assume you are here to observe the gathering in the interest of ... our friends of the Vaselian Concordat?
|
||||
-> Yes, I am.
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
<<detour SC101_Declares_Asset_Chevalier_Cassian_Thal_Talk>>
|
||||
-> You must be mistaken.
|
||||
<<set $self_lean_journalist += 1>>
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
<<detour SC101_Deny_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<elseif $winner eq "journalist">>
|
||||
Chevalier Cassian Thal: I got the feeling I may read my answers in tomorrow's newspaper.
|
||||
Narrator: He says it with a boyish grin, as if he is sure he hasn't disclosed anything contentious.
|
||||
-> You actually may.
|
||||
<<set $self_lean_journalist += 1>>
|
||||
<<detour SC101_Declares_Journalist_Chevalier_Cassian_Thal_Talk>>
|
||||
-> No, I got nothing to do with newspapers and such!
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
<<detour SC101_Deny_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<else>>
|
||||
Chevalier Cassian Thal: You probably look to settle your parent's debts?
|
||||
FACEWORK: He doesn't seem emotional about it, he is just interested.
|
||||
-> I actually am.
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
<<detour SC101_Declares_Inheritor_Chevalier_Cassian_Thal_Talk>>
|
||||
-> Oh, I don't know about any debt, I hope they didn't borrow money from you?
|
||||
<<set $self_lean_journalist += 1>>
|
||||
<<set $self_lean_made_asset +=1>>
|
||||
Chevalier Cassian Thal: Oh god, no, they didn't borrow anything from us.
|
||||
CONFLUENCE: Us?
|
||||
<<detour SC101_Deny_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Declares_Asset_Chevalier_Cassian_Thal_Talk
|
||||
position: -9,670
|
||||
---
|
||||
<<set $declared_candidate_to_chevalier_cassian_thal = true>>
|
||||
Narrator: Chevalier Cassian Thal looks knowingly and cannot hide a little smirk.
|
||||
Chevalier Cassian Thal: Well, then let us hope the ... others follow the Knight's compromise.
|
||||
Narrator: He winks at you.
|
||||
FACEWORK: He seems to know more about us, than we know about ourselves. Though if we back out now he will become suspicious.
|
||||
===
|
||||
|
||||
title: SC101_Declares_Journalist_Chevalier_Cassian_Thal_Talk
|
||||
position: -222,667
|
||||
---
|
||||
<<set $declared_candidate_to_chevalier_cassian_thal = true>>
|
||||
Narrator: Chevalier Cassian Thal laughs.
|
||||
Chevalier Cassian Thal: Well, then let me give you something to write about: You and your readers will be surprised to hear, what you will witness in a second.
|
||||
CONFLUENCE: He can hardly hide his smirk.
|
||||
===
|
||||
|
||||
title: SC101_Declares_Inheritor_Chevalier_Cassian_Thal_Talk
|
||||
position: 207,664
|
||||
---
|
||||
<<set $declared_candidate_to_chevalier_cassian_thal = true>>
|
||||
Chevalier Cassian Thal: You may very well get your chance this week, my boy.
|
||||
FACEWORK: His look is benevolent, nearly fatherly.
|
||||
CONFLUENCE: What should our parents have done, that requires repayment?
|
||||
===
|
||||
|
||||
title: SC101_Deny_Candidate_Chevalier_Cassian_Thal_Talk
|
||||
position: 436,260
|
||||
---
|
||||
Chevalier Cassian Thal: Oh, I am rarely wrong in matters like these. Though enlighten me: What else could have been your wish coming here?
|
||||
FACEWORK: He looks genuinely interested.
|
||||
<<set $winner = top_skill($self_lean_made_asset, "asset", $self_lean_journalist, "journalist", $self_lean_inheritor, "inheritor")>>
|
||||
<<if $previous_winner == $winner>>
|
||||
-> No, you are totally right, indeed.
|
||||
<<if $winner == "asset">>
|
||||
<<detour SC101_Declares_Asset_Chevalier_Cassian_Thal_Talk>>
|
||||
<<elseif $winner == "journalist">>
|
||||
<<detour SC101_Declares_Journalist_Chevalier_Cassian_Thal_Talk>>
|
||||
<<else>>
|
||||
<<detour SC101_Declares_Inheritor_Chevalier_Cassian_Thal_Talk>>
|
||||
<<endif>>
|
||||
-> Actually ...
|
||||
<<detour SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<else>>
|
||||
<<detour SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<endif>>
|
||||
===
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a9f603a6134614e0fa576727d10d487a
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3}
|
||||
@@ -5,6 +5,14 @@
|
||||
// Writing rules (code does not enforce these):
|
||||
// - Wrong Truth failures: no failure signal in the prose; the UI banner is the only tell.
|
||||
// - Documentary routes are gated on Act and errand state, never on a voice.
|
||||
//
|
||||
// TODO: ambient fallback. Every voice in the Skill Bible has one context-free
|
||||
// PASSIVE VOICE line, and right now those lines have nowhere to live — a voice
|
||||
// with no Commentary_{context}_{id} node simply stays silent in that context.
|
||||
// Proposal: when no context node matches an eligible skill, CommentarySystem
|
||||
// falls back to Commentary_Ambient_{id}. Deferred from the refactor as optional;
|
||||
// only worth doing if it doesn't complicate the candidate loop.
|
||||
// See docs/skill-system-refactor-plan.md §5.6.
|
||||
|
||||
title: Commentary_Entrance_Queue_facework
|
||||
---
|
||||
|
||||
@@ -18,16 +18,6 @@ title: Declarations
|
||||
// How much the door staff likes you.
|
||||
<<declare $reputation = 0 as number>>
|
||||
|
||||
// Set when the player has tried the "I'm on the list" line at least once.
|
||||
<<declare $claimed_to_be_on_list = false as bool>>
|
||||
|
||||
// The bouncer's verdict, read by the scene that called him.
|
||||
<<declare $went_inside = false as bool>>
|
||||
|
||||
// Smart variable: derived, not stored. Can never drift out of sync with
|
||||
// $reputation, so there's nothing to remember to update.
|
||||
<<declare $is_vip = $reputation > 10>>
|
||||
|
||||
// Written by <<check>> (YarnSkillCommands). Never <<set>> these by hand.
|
||||
<<declare $check_result = false as bool>>
|
||||
<<declare $check_roll = 0 as number>>
|
||||
@@ -36,4 +26,92 @@ title: Declarations
|
||||
<<declare $check_modifier = 0 as number>>
|
||||
<<declare $check_degree = "" as string>>
|
||||
<<declare $check_skill = "" as string>>
|
||||
|
||||
// Used by top_skill
|
||||
<<declare $winner = "" as string>>
|
||||
<<declare $previous_winner = "" as string>>
|
||||
|
||||
// Candidate lean. Three permanently-live readings of who the PC is; they are
|
||||
// not mutually exclusive and never resolve into a canonical identity.
|
||||
//
|
||||
// DESIGN DECISION 2026-08-16 — amends the "no code ever reads lean" guardrail in
|
||||
// docs/candidate-system-implementation-plan.md §6.1: scenes are meant to tilt
|
||||
// toward one reading and NPCs are meant to act on the current tilt, so that a
|
||||
// player who thinks they have settled on a path gets challenged on it in the
|
||||
// next scene. Reading lean through top_skill(...) is therefore sanctioned, as in
|
||||
// SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk. top_skill returns its FIRST
|
||||
// argument on a tie, which is why made_asset is passed first — the Made Asset
|
||||
// bias on an even score is deliberate, not an accident of argument order.
|
||||
//
|
||||
// What the amendment does NOT license: a stored winner. There is still no
|
||||
// $dominant_candidate, no ground-truth identity field, and nothing in save data
|
||||
// beyond these three integers. $winner above is scratch, recomputed per use.
|
||||
<<declare $self_lean_made_asset = 0 as number>>
|
||||
<<declare $self_lean_journalist = 0 as number>>
|
||||
<<declare $self_lean_inheritor = 0 as number>>
|
||||
|
||||
// Scene witnessed. Convention: $seen_<scene_id>.
|
||||
<<declare $seen_sc_101 = false as bool>>
|
||||
|
||||
// Clue coverage flags. One per registry clue id ($found_<clue_id>). Writers
|
||||
// <<set>> these at the discovery beat alongside the lean write. Lean tracks
|
||||
// belief (and can move on a Wrong Truth failure); $found_* tracks coverage.
|
||||
// No code reads these.
|
||||
<<declare $found_made_asset_object = false as bool>>
|
||||
<<declare $found_made_asset_testimony = false as bool>>
|
||||
<<declare $found_made_asset_document = false as bool>>
|
||||
<<declare $found_made_asset_intuition = false as bool>>
|
||||
|
||||
<<declare $found_journalist_object = false as bool>>
|
||||
<<declare $found_journalist_testimony = false as bool>>
|
||||
<<declare $found_journalist_document = false as bool>>
|
||||
<<declare $found_journalist_intuition = false as bool>>
|
||||
|
||||
<<declare $found_inheritor_object = false as bool>>
|
||||
<<declare $found_inheritor_testimony = false as bool>>
|
||||
<<declare $looking_for_doss = false as bool>>
|
||||
<<declare $had_the_estate_drink = false as bool>>
|
||||
<<declare $found_inheritor_document = false as bool>>
|
||||
<<declare $found_inheritor_intuition = false as bool>>
|
||||
|
||||
// Exploration gating. Clue availability is exploration-gated, never skill-gated.
|
||||
// Convention: $visited_<location_id> on first arrival; $errand_<errand_id> when
|
||||
// an errand reaches the state that matters. Writers <<set>> these from scene
|
||||
// content. unlockFlag fields in candidates.json may only name these families.
|
||||
<<declare $visited_desk = false as bool>>
|
||||
<<declare $visited_back_office = false as bool>>
|
||||
<<declare $visited_archives = false as bool>>
|
||||
<<declare $visited_coat_check = false as bool>>
|
||||
<<declare $visited_press_room = false as bool>>
|
||||
<<declare $visited_private_box = false as bool>>
|
||||
<<declare $visited_membership_ledger = false as bool>>
|
||||
<<declare $errand_door_list = false as bool>>
|
||||
<<declare $errand_find_contact = false as bool>>
|
||||
<<declare $errand_ask_about_name = false as bool>>
|
||||
<<declare $spoke_to_bartender = false as bool>>
|
||||
<<declare $revealed_fugue_to_bartender = false as bool>>
|
||||
|
||||
// Player name substitution. Uppercase [PC] in the Skill Bible means the full,
|
||||
// formal form (STANDING ORDER, PROVENANCE); lowercase [pc] means the familiar
|
||||
// short form (CONFLUENCE, FACEWORK). Two variables, not one — collapsing them
|
||||
// loses a characterisation rule the bible states for four separate voices.
|
||||
// Defaults are placeholders; naming the PC is design's call.
|
||||
<<declare $player_name = "Vesper" as string>>
|
||||
<<declare $player_name_full = "Vesper Adaire" as string>>
|
||||
|
||||
// Club alias. Smart variable: deterministically derived from $player_name via
|
||||
// AliasNameGenerator.alias_name (hash-seeded pick from two word pools), so it
|
||||
// is never in sync-drift and never <<set>> by hand. Same real name always
|
||||
// yields the same alias; the alias itself bears no resemblance to the input.
|
||||
<<declare $player_alias = alias_name($player_name) as string>>
|
||||
|
||||
// Information about history and symbols
|
||||
<<declare $sat_down_at_table = false as bool>>
|
||||
<<declare $saw_knights_atlantean_cross_on_place_card = false as bool>>
|
||||
|
||||
// Character dialogue gates
|
||||
<<declare $spoke_to_chevalier_cassian_thal = false as bool>>
|
||||
<<declare $spoke_to_bradford_kane = false as bool>>
|
||||
<<declare $inquired_about_cyprus = false as bool>>
|
||||
<<declare $declared_candidate_to_chevalier_cassian_thal = false as bool>>
|
||||
===
|
||||
|
||||
@@ -1,15 +1,61 @@
|
||||
{
|
||||
"projectFileVersion": 4,
|
||||
"sourceFiles": [
|
||||
"**/*.yarn"
|
||||
],
|
||||
"excludeFiles": [
|
||||
"**/*~/*",
|
||||
"./Samples/Yarn Spinner*/*"
|
||||
],
|
||||
"localisation": {},
|
||||
"baseLanguage": "en",
|
||||
"compilerOptions": {
|
||||
"diagnosticsSeverity": {}
|
||||
}
|
||||
"projectFileVersion": 4,
|
||||
"sourceFiles": [
|
||||
"**/*.yarn"
|
||||
],
|
||||
"excludeFiles": [
|
||||
"**/*~/*",
|
||||
"./Samples/Yarn Spinner*/*"
|
||||
],
|
||||
"localisation": {},
|
||||
"baseLanguage": "en",
|
||||
"compilerOptions": {
|
||||
"diagnosticsSeverity": {}
|
||||
},
|
||||
"projectName": "NightclubArcade",
|
||||
"authorName": [
|
||||
"LennartGrabowski"
|
||||
],
|
||||
"editorOptions": {
|
||||
"yarnScriptEditor": {
|
||||
"projectGraphPositions": {
|
||||
"Bartender.yarn": {
|
||||
"x": 282,
|
||||
"y": 12
|
||||
},
|
||||
"BradfordKane.yarn": {
|
||||
"x": 1320,
|
||||
"y": 2287
|
||||
},
|
||||
"ChevalierCassianThal.yarn": {
|
||||
"x": 1621,
|
||||
"y": 2260
|
||||
},
|
||||
"Commentary.yarn": {
|
||||
"x": 12,
|
||||
"y": 231
|
||||
},
|
||||
"Common.yarn": {
|
||||
"x": 12,
|
||||
"y": 12
|
||||
},
|
||||
"Chair.yarn": {
|
||||
"x": 866,
|
||||
"y": 1104
|
||||
},
|
||||
"Debug.yarn": {
|
||||
"x": 14,
|
||||
"y": 448
|
||||
},
|
||||
"SC101.yarn": {
|
||||
"x": 820,
|
||||
"y": -3
|
||||
},
|
||||
"SC102.yarn": {
|
||||
"x": 2595,
|
||||
"y": 2682
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: beedfd387b0d049ffb7534a81d2df45f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,121 @@
|
||||
// Everything that can be interacted with the chair.
|
||||
//
|
||||
// Stack discipline (the player re-enters all of this, so it matters):
|
||||
// `Chair_Interaction` is the node DialogueInteractable starts, so nothing above
|
||||
// it is waiting for a return. The menu therefore LOOPS with <<jump>>, which
|
||||
// replaces the current node and pushes nothing, and only sub-conversations that
|
||||
// have to come back use <<detour>>. Never <<jump>> out of a detoured node —
|
||||
// that clears the return stack and the caller never resumes.
|
||||
//
|
||||
// The sit-down line lives in its own node so the menu loop can't replay it,
|
||||
// while a player who stands up and sits down again still gets it.
|
||||
|
||||
title: Chair_Interaction
|
||||
position: -334,-601
|
||||
---
|
||||
Narrator: An empty chair with a place card: {$player_name}.
|
||||
-> Sit down.
|
||||
<<set $sat_down_at_table = true>>
|
||||
<<jump SC101_Hook_Sitting_Chair_Interaction>>
|
||||
-> Not yet.
|
||||
<<enter_environment>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Sitting_Chair_Interaction
|
||||
position: -328,-360
|
||||
---
|
||||
Narrator: You sit down between two very distinguished gentlemen.
|
||||
<<jump SC101_Hook_Menu_Chair_Interaction>>
|
||||
===
|
||||
|
||||
// The loop target. Every menu variation jumps back here when its sub-conversation
|
||||
// returns, so which variation shows is re-evaluated after every interaction.
|
||||
title: SC101_Hook_Menu_Chair_Interaction
|
||||
position: -328,-205
|
||||
---
|
||||
<<if $spoke_to_chevalier_cassian_thal eq true and $spoke_to_bradford_kane eq true>>
|
||||
<<jump SC101_Hook_Both_Chair_Interaction>>
|
||||
<<elseif $spoke_to_chevalier_cassian_thal eq true and $spoke_to_bradford_kane eq false>>
|
||||
<<jump SC101_Hook_Left_Not_Right_Chair_Interaction>>
|
||||
<<elseif $spoke_to_chevalier_cassian_thal eq false and $spoke_to_bradford_kane eq true>>
|
||||
<<jump SC101_Hook_Right_Not_Left_Chair_Interaction>>
|
||||
<<else>>
|
||||
<<jump SC101_Hook_First_Sitting_Chair_Interaction>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_First_Sitting_Chair_Interaction
|
||||
position: -320,-51
|
||||
---
|
||||
-> Look at the details of the place card.
|
||||
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
|
||||
-> Introduce yourself to the gentleman on your left, sitting closer to the head of the table.
|
||||
<<detour Chevalier_Cassian_Thal_Talk>>
|
||||
-> Introduce yourself to the gentleman on your right.
|
||||
<<detour Bradford_Kane_Talk>>
|
||||
-> Stand up.
|
||||
<<enter_environment>>
|
||||
<<stop>>
|
||||
<<jump SC101_Hook_Menu_Chair_Interaction>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Left_Not_Right_Chair_Interaction
|
||||
position: -95,-48
|
||||
---
|
||||
-> Look at the details of the place card.
|
||||
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
|
||||
-> Talk to Chevalier Cassian Thal.
|
||||
<<detour Chevalier_Cassian_Thal_Talk>>
|
||||
-> Introduce yourself to the gentleman on your right.
|
||||
<<detour Bradford_Kane_Talk>>
|
||||
-> Stand up.
|
||||
<<enter_environment>>
|
||||
<<stop>>
|
||||
<<jump SC101_Hook_Menu_Chair_Interaction>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Right_Not_Left_Chair_Interaction
|
||||
position: 134,-32
|
||||
---
|
||||
-> Look at the details of the place card.
|
||||
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
|
||||
-> Introduce yourself to the gentleman on your left, sitting closer to the head of the table.
|
||||
<<detour Chevalier_Cassian_Thal_Talk>>
|
||||
-> Talk to Bradford Kane.
|
||||
<<detour Bradford_Kane_Talk>>
|
||||
-> Stand up.
|
||||
<<enter_environment>>
|
||||
<<stop>>
|
||||
<<jump SC101_Hook_Menu_Chair_Interaction>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Both_Chair_Interaction
|
||||
position: 363,-36
|
||||
---
|
||||
-> Look at the details of the place card.
|
||||
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
|
||||
-> Talk to Chevalier Cassian Thal.
|
||||
<<detour Chevalier_Cassian_Thal_Talk>>
|
||||
-> Talk to Bradford Kane.
|
||||
<<detour Bradford_Kane_Talk>>
|
||||
-> Stand up.
|
||||
<<enter_environment>>
|
||||
<<stop>>
|
||||
<<jump SC101_Hook_Menu_Chair_Interaction>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Place_Card_Chair_Interaction
|
||||
position: -296,331
|
||||
---
|
||||
Narrator: You take the place card and take a look.
|
||||
<<check provenance Hard>>
|
||||
<<if $check_result>>
|
||||
<<set $saw_knights_atlantean_cross_on_place_card = true>>
|
||||
PROVENANCE: What is this?
|
||||
Narrator: You see a plain equal-armed cross inside a circle embossed in the upper right corner.
|
||||
PROVENANCE: We are in Switzerland, after all. Though this symbol is not known to be associated with Switzerland. Most peculiar.
|
||||
<<else>>
|
||||
Narrator: You see a cross inside a circle embossed in the upper right corner.
|
||||
PROVENANCE: This is probably related to Switzerland.
|
||||
<<endif>>
|
||||
===
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f6437b77328240e590f205a6605cfcb
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3}
|
||||
@@ -1,6 +1,12 @@
|
||||
// Scratch node for verifying the skill-check plumbing. Not part of the story.
|
||||
// Point DialogueRunner.startNode at "Debug_SkillCheck" to run it, then set it
|
||||
// Scratch nodes for verifying mechanics in isolation. Not part of the story.
|
||||
// Point DialogueRunner.startNode at the node you want to run, then set it
|
||||
// back to "Start" when you're done.
|
||||
//
|
||||
// Candidate active-check pattern (docs/candidate-system-implementation-plan.md §5 Phase 3):
|
||||
// <<check skillId band>>
|
||||
// <<if $check_result>> success branch writes $found_* + $self_lean_*
|
||||
// <<else>> failure is a Wrong Truth — equally confident, unmarked in prose,
|
||||
// and still writes lean (belief, not truth). Banner is the only tell.
|
||||
|
||||
title: Debug_SkillCheck
|
||||
---
|
||||
@@ -20,3 +26,34 @@ Narrator: Confluence came out {$check_degree}.
|
||||
<<check nosuchskill routine>>
|
||||
Narrator: Survived the bad skill id.
|
||||
===
|
||||
|
||||
// Candidate lean accumulator round-trip. Expect made_asset 2 / journalist 1 /
|
||||
// inheritor 0, and the threshold branch to fire.
|
||||
title: Debug_CandidateLean
|
||||
---
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
<<set $self_lean_journalist += 1>>
|
||||
Narrator: made_asset {$self_lean_made_asset} / journalist {$self_lean_journalist} / inheritor {$self_lean_inheritor}
|
||||
<<if $self_lean_made_asset >= 2>>
|
||||
Narrator: threshold branch reached.
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
// Candidate active-check pattern. Set SkillRuntime.rollSeed non-zero for a
|
||||
// SeededRollSource so both branches are reachable deterministically across runs.
|
||||
// Success feeds made_asset; failure feeds inheritor (Wrong Truth lean — §4.4).
|
||||
title: Debug_CandidateCheck
|
||||
---
|
||||
Narrator: Candidate check harness. Banner is the only pass/fail tell.
|
||||
<<check confluence hard>>
|
||||
<<if $check_result>>
|
||||
CONFLUENCE: One: the card's stock matches the Concordat watermark. Two: the date is a week before the invitation went out. Three — and three is the one — somebody left this for you to find. Which means you were expected.
|
||||
<<set $found_made_asset_document = true>>
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
<<else>>
|
||||
CONFLUENCE: One: the card's stock matches a wedding invitation from the thirties. Two: the date is your mother's. Three — and three is the one — you already knew the seating. Which means this was never yours to choose.
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
<<endif>>
|
||||
Narrator: lean made_asset {$self_lean_made_asset} / inheritor {$self_lean_inheritor}. Degree {$check_degree}.
|
||||
===
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
// The door. Scene files stay thin: they set the stage, detour into character
|
||||
// nodes for the actual talking, then branch on the outcome.
|
||||
//
|
||||
// `Start` is the DialogueRunner's entry node (set on the Dialogue System
|
||||
// prefab), so this is where the game begins.
|
||||
|
||||
title: Start
|
||||
---
|
||||
Narrator: Neon bleeds across wet asphalt. The queue hasn't moved in ten minutes.
|
||||
<<detour Bouncer_Talk>>
|
||||
<<if $went_inside>>
|
||||
<<jump Entrance_Inside>>
|
||||
<<else>>
|
||||
<<jump Entrance_Outside>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: Entrance_Inside
|
||||
---
|
||||
Narrator: The bass hits you like a wall.
|
||||
===
|
||||
|
||||
title: Entrance_Outside
|
||||
---
|
||||
Narrator: The night swallows you back up.
|
||||
===
|
||||
@@ -0,0 +1,72 @@
|
||||
// SC-101 — The Card at the Desk. Opening candidate hooks.
|
||||
//
|
||||
// Brief, beats, checks and the reasoning behind every rule below:
|
||||
// writing/scenes/sc101-the-card-at-the-desk.md
|
||||
//
|
||||
// Rules that bind while editing THIS file — all six are deliberate, none is a
|
||||
// leftover. The brief says why; this is the short form so you do not have to
|
||||
// leave the file to avoid breaking it.
|
||||
//
|
||||
// 1. Scene files stay thin: set the stage, <<detour>> into hook nodes, return.
|
||||
// 2. Evidence balance — one object / testimony / document / intuition per
|
||||
// candidate. Never stack types. See Assets/Candidates/candidates.json.
|
||||
// 3. Beat order is fixed: STANDING ORDER -> HOUSE POUR -> FACEWORK ->
|
||||
// CONFLUENCE. Never <<if>>-guard a hook on another hook having fired, on any
|
||||
// $self_lean_*, or on skill_rank(...).
|
||||
// 4. Passive pattern for a clue-bearing hook: one voice, from the candidate's
|
||||
// attached pair; the line is that voice's argument, never a report; exactly
|
||||
// one $self_lean_* write, with $found_<clue_id> set alongside it.
|
||||
// 5. Four voice introductions, against the handbook cap of three. Deliberate,
|
||||
// SC-101 only — one voice per pair. Do not correct it down, do not copy it.
|
||||
// 6. The body stays neutral: no lean, no candidate attachment outside the hooks.
|
||||
|
||||
title: Start
|
||||
position: -17,-276
|
||||
---
|
||||
<<jump SC101_Desk>>
|
||||
===
|
||||
|
||||
title: SC101_Desk
|
||||
position: -19,-36
|
||||
---
|
||||
<<set $seen_sc_101 = true>>
|
||||
<<set $visited_desk = true>>
|
||||
Narrator: The mahogany doors are too heavy for the hinges someone recently, badly, tightened — you feel the extra half-second of resistance before either side gives. Beyond them: a hall built for four hundred people politely disagreeing about tariffs, hosting perhaps sixty, none of whom look like they've read the programme.
|
||||
Narrator: Someone left a card with your name on it at the registration desk three hours before you decided to come. You don't remember deciding.
|
||||
<<detour SC101_Hook_Inheritor>>
|
||||
<<detour SC101_Hook_Neutral>>
|
||||
<<detour SC101_Hook_Journalist>>
|
||||
<<detour SC101_Hook_MadeAsset>>
|
||||
Narrator: You're drawn toward a seat — toward a waiting conversation you didn't agree to have yet.
|
||||
<<enter_environment>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_MadeAsset
|
||||
position: -40,567
|
||||
---
|
||||
CONFLUENCE: One: the seating chart's alphabetical. Two: one gap in it, held open past the start time. Three, and three is the one, {$player_name}: whoever printed this knew you'd be late to your own arrival. Which means somebody in this room has already met you, {$player_name}, and you're the only one who doesn't know it.
|
||||
<<set $found_made_asset_intuition = true>>
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Journalist
|
||||
position: -299,452
|
||||
---
|
||||
FACEWORK: His hands gave it away before his face did — a flinch toward you, checked, turned into reaching for a drink that wasn't there. That's not a stranger's hands. What did you do to earn that flinch?
|
||||
<<set $found_journalist_intuition = true>>
|
||||
<<set $self_lean_journalist += 1>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Inheritor
|
||||
position: 335,366
|
||||
---
|
||||
STANDING ORDER: You are standing in a doorway, {$player_name_full}. That's the whole of what's certain. Build outward from there — a person who starts anywhere else is a person coming apart in public.
|
||||
<<set $found_inheritor_intuition = true>>
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Neutral
|
||||
position: 87,310
|
||||
---
|
||||
HOUSE POUR: Cigar smoke, spilled aperitif, and under it — cold, sharp — the ammonia bite of a floor mopped in a hurry, love. Someone's trying to make this room smell like money. It smells like panic with good cologne on top.
|
||||
===
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ef4adc1687e744cd0afd7041ab38c377
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3}
|
||||
@@ -0,0 +1,6 @@
|
||||
// SC-102 — The figure at the head of the table just stood up.
|
||||
|
||||
title: SC102_Table
|
||||
---
|
||||
Figure at the head of the table: "Welcome."
|
||||
===
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 717dc562b961f41c49f5615fb8415f67
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3}
|
||||
@@ -0,0 +1,218 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using NightclubArcadia.Skills;
|
||||
using UnityEditor;
|
||||
using UnityEditor.Callbacks;
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// Regenerates CandidateDefinition assets + CandidateDatabase from candidates.json.
|
||||
///
|
||||
/// The JSON is the source of truth; .asset files are build output and hand-edits are lost
|
||||
/// on script reload by EnsureCandidateAssetsOnly.
|
||||
/// </summary>
|
||||
public static class CandidateSystemSetup
|
||||
{
|
||||
const string CandidatesFolder = "Assets/Candidates";
|
||||
const string DefinitionsFolder = "Assets/Candidates/Definitions";
|
||||
const string JsonPath = "Assets/Candidates/candidates.json";
|
||||
const string DatabasePath = "Assets/Candidates/CandidateDatabase.asset";
|
||||
const string AutoSetupSessionKey = "NightclubArcadia.CandidateSystem.AutoSetupDone";
|
||||
|
||||
[DidReloadScripts]
|
||||
static void AutoSetupAfterReload()
|
||||
{
|
||||
if (EditorApplication.isPlayingOrWillChangePlaymode)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (SessionState.GetBool(AutoSetupSessionKey, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EditorApplication.delayCall += () =>
|
||||
{
|
||||
if (SessionState.GetBool(AutoSetupSessionKey, false))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SessionState.SetBool(AutoSetupSessionKey, true);
|
||||
EnsureCandidateAssetsOnly();
|
||||
};
|
||||
}
|
||||
|
||||
[MenuItem("Tools/Nightclub Arcadia/Set Up Candidate System")]
|
||||
public static void SetUpCandidateSystem()
|
||||
{
|
||||
EnsureCandidateAssetsOnly();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates/updates ScriptableObject assets without opening a scene.
|
||||
/// Safe to run on domain reload.
|
||||
/// </summary>
|
||||
public static void EnsureCandidateAssetsOnly()
|
||||
{
|
||||
if (!TryLoadRoster(out var roster))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EnsureFolder("Assets", "Candidates");
|
||||
EnsureFolder("Assets/Candidates", "Definitions");
|
||||
|
||||
var definitions = new List<CandidateDefinition>();
|
||||
var rosterIds = new HashSet<string>(StringComparer.Ordinal);
|
||||
foreach (var entry in roster)
|
||||
{
|
||||
rosterIds.Add(entry.id);
|
||||
definitions.Add(CreateOrUpdateDefinition(entry));
|
||||
}
|
||||
|
||||
DeleteOrphanDefinitions(rosterIds);
|
||||
|
||||
var database = AssetDatabase.LoadAssetAtPath<CandidateDatabase>(DatabasePath);
|
||||
if (database == null)
|
||||
{
|
||||
database = ScriptableObject.CreateInstance<CandidateDatabase>();
|
||||
AssetDatabase.CreateAsset(database, DatabasePath);
|
||||
}
|
||||
|
||||
database.EditorSetCandidates(definitions);
|
||||
EditorUtility.SetDirty(database);
|
||||
AssetDatabase.SaveAssets();
|
||||
Debug.Log($"[CandidateSystemSetup] Candidate assets ready at {DatabasePath}.");
|
||||
}
|
||||
|
||||
static bool TryLoadRoster(out CandidateEntry[] roster)
|
||||
{
|
||||
roster = null;
|
||||
var text = AssetDatabase.LoadAssetAtPath<TextAsset>(JsonPath);
|
||||
if (text == null)
|
||||
{
|
||||
// JSON may exist on disk before Unity has imported it as a TextAsset.
|
||||
if (!File.Exists(JsonPath))
|
||||
{
|
||||
Debug.LogError($"[CandidateSystemSetup] Missing registry at {JsonPath}.");
|
||||
return false;
|
||||
}
|
||||
|
||||
text = new TextAsset(File.ReadAllText(JsonPath));
|
||||
}
|
||||
|
||||
CandidateRoot root;
|
||||
try
|
||||
{
|
||||
root = JsonUtility.FromJson<CandidateRoot>(text.text);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogError($"[CandidateSystemSetup] Failed to parse {JsonPath}: {ex.Message}");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (root?.candidates == null || root.candidates.Length == 0)
|
||||
{
|
||||
Debug.LogError($"[CandidateSystemSetup] {JsonPath} has no candidates.");
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach (var entry in root.candidates)
|
||||
{
|
||||
if (entry == null || string.IsNullOrEmpty(entry.id))
|
||||
{
|
||||
Debug.LogError($"[CandidateSystemSetup] {JsonPath} contains a candidate with empty id.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!Enum.TryParse<SkillAxis>(entry.intuitionAxis, ignoreCase: true, out _))
|
||||
{
|
||||
Debug.LogError(
|
||||
$"[CandidateSystemSetup] Candidate '{entry.id}': invalid intuitionAxis '{entry.intuitionAxis}'.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (entry.clues == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach (var clue in entry.clues)
|
||||
{
|
||||
if (clue == null || string.IsNullOrEmpty(clue.id))
|
||||
{
|
||||
Debug.LogError($"[CandidateSystemSetup] Candidate '{entry.id}' has a clue with empty id.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!Enum.TryParse<CandidateEvidenceType>(clue.type, ignoreCase: true, out _))
|
||||
{
|
||||
Debug.LogError(
|
||||
$"[CandidateSystemSetup] Clue '{clue.id}': invalid type '{clue.type}'.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var status = string.IsNullOrEmpty(clue.status) ? "Planned" : clue.status;
|
||||
if (!Enum.TryParse<CandidateClueStatus>(status, ignoreCase: true, out _))
|
||||
{
|
||||
Debug.LogError(
|
||||
$"[CandidateSystemSetup] Clue '{clue.id}': invalid status '{clue.status}'.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
roster = root.candidates;
|
||||
return true;
|
||||
}
|
||||
|
||||
static CandidateDefinition CreateOrUpdateDefinition(CandidateEntry entry)
|
||||
{
|
||||
var path = $"{DefinitionsFolder}/{entry.id}.asset";
|
||||
var asset = AssetDatabase.LoadAssetAtPath<CandidateDefinition>(path);
|
||||
if (asset == null)
|
||||
{
|
||||
asset = ScriptableObject.CreateInstance<CandidateDefinition>();
|
||||
AssetDatabase.CreateAsset(asset, path);
|
||||
}
|
||||
|
||||
asset.EditorSet(entry);
|
||||
EditorUtility.SetDirty(asset);
|
||||
return asset;
|
||||
}
|
||||
|
||||
static void DeleteOrphanDefinitions(HashSet<string> rosterIds)
|
||||
{
|
||||
if (!AssetDatabase.IsValidFolder(DefinitionsFolder))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var guids = AssetDatabase.FindAssets("t:CandidateDefinition", new[] { DefinitionsFolder });
|
||||
foreach (var guid in guids)
|
||||
{
|
||||
var path = AssetDatabase.GUIDToAssetPath(guid);
|
||||
var fileName = Path.GetFileNameWithoutExtension(path);
|
||||
if (rosterIds.Contains(fileName))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Debug.Log($"[CandidateSystemSetup] Deleting orphan definition {path}");
|
||||
AssetDatabase.DeleteAsset(path);
|
||||
}
|
||||
}
|
||||
|
||||
static void EnsureFolder(string parent, string child)
|
||||
{
|
||||
var path = $"{parent}/{child}";
|
||||
if (!AssetDatabase.IsValidFolder(path))
|
||||
{
|
||||
AssetDatabase.CreateFolder(parent, child);
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-3
@@ -1,8 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 476cc7d7cd9874016adc216baab94a0a
|
||||
timeCreated: 1484146680
|
||||
licenseType: Store
|
||||
guid: 871be622b3a34b8fb46ce81bb87272d0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
@@ -0,0 +1,144 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using NightclubArcadia.Interaction;
|
||||
using UnityEditor;
|
||||
using UnityEditor.Callbacks;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NightclubArcadia.EditorTools
|
||||
{
|
||||
/// <summary>
|
||||
/// Regenerates InteractableDefinition assets from Assets/Characters/characters.json.
|
||||
///
|
||||
/// The JSON is the source of truth and the .asset files are build output; hand edits
|
||||
/// to them are overwritten. Same contract as Skills and Candidates, deliberately —
|
||||
/// a writer adding a character edits one JSON file and never opens Unity.
|
||||
///
|
||||
/// This exists because the identity of an NPC used to live in public fields on a
|
||||
/// scene object, where nothing outside that scene could see it and two copies could
|
||||
/// disagree. They did: the scene's second "Bartender" was the chair.
|
||||
/// </summary>
|
||||
public static class CharacterSetup
|
||||
{
|
||||
const string JsonPath = "Assets/Characters/characters.json";
|
||||
const string DefinitionsFolder = "Assets/Characters/Definitions";
|
||||
|
||||
[Serializable]
|
||||
class Dto
|
||||
{
|
||||
public string id;
|
||||
public string displayName;
|
||||
public string yarnNode;
|
||||
public float interactionRange = 3f;
|
||||
public bool showLabel = true;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
class DtoList
|
||||
{
|
||||
public Dto[] interactables;
|
||||
}
|
||||
|
||||
[MenuItem("Tools/Nightclub Arcadia/Set Up Characters")]
|
||||
public static void SetUpCharacters() => Regenerate(verbose: true);
|
||||
|
||||
[DidReloadScripts]
|
||||
static void OnScriptsReloaded() => Regenerate(verbose: false);
|
||||
|
||||
static void Regenerate(bool verbose)
|
||||
{
|
||||
if (!File.Exists(JsonPath))
|
||||
{
|
||||
if (verbose)
|
||||
{
|
||||
Debug.LogError($"[Characters] Missing {JsonPath}");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
DtoList parsed;
|
||||
try
|
||||
{
|
||||
parsed = JsonUtility.FromJson<DtoList>(File.ReadAllText(JsonPath));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogError($"[Characters] {JsonPath} is not valid JSON: {e.Message}");
|
||||
return;
|
||||
}
|
||||
|
||||
if (parsed?.interactables == null || parsed.interactables.Length == 0)
|
||||
{
|
||||
Debug.LogError($"[Characters] {JsonPath} defines no interactables.");
|
||||
return;
|
||||
}
|
||||
|
||||
var duplicates = parsed.interactables.GroupBy(i => i.id).Where(g => g.Count() > 1).ToList();
|
||||
if (duplicates.Count > 0)
|
||||
{
|
||||
Debug.LogError("[Characters] Duplicate ids: " +
|
||||
string.Join(", ", duplicates.Select(g => g.Key)));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!AssetDatabase.IsValidFolder(DefinitionsFolder))
|
||||
{
|
||||
AssetDatabase.CreateFolder("Assets/Characters", "Definitions");
|
||||
}
|
||||
|
||||
var live = new HashSet<string>(StringComparer.Ordinal);
|
||||
var changed = new List<string>();
|
||||
|
||||
foreach (var dto in parsed.interactables)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(dto.id))
|
||||
{
|
||||
Debug.LogError("[Characters] An entry has no id; skipped.");
|
||||
continue;
|
||||
}
|
||||
live.Add(dto.id);
|
||||
|
||||
var path = $"{DefinitionsFolder}/{dto.id}.asset";
|
||||
var asset = AssetDatabase.LoadAssetAtPath<InteractableDefinition>(path);
|
||||
if (asset == null)
|
||||
{
|
||||
asset = ScriptableObject.CreateInstance<InteractableDefinition>();
|
||||
AssetDatabase.CreateAsset(asset, path);
|
||||
changed.Add(dto.id);
|
||||
}
|
||||
else if (asset.DisplayName != dto.displayName || asset.YarnNode != dto.yarnNode ||
|
||||
!Mathf.Approximately(asset.InteractionRange, dto.interactionRange) ||
|
||||
asset.ShowLabel != dto.showLabel)
|
||||
{
|
||||
changed.Add(dto.id);
|
||||
}
|
||||
|
||||
asset.EditorSet(dto.id, dto.displayName, dto.yarnNode, dto.interactionRange, dto.showLabel);
|
||||
EditorUtility.SetDirty(asset);
|
||||
}
|
||||
|
||||
// An id removed from the JSON should not leave an orphan asset behind that a
|
||||
// prefab could still be pointing at.
|
||||
foreach (var guid in AssetDatabase.FindAssets("t:InteractableDefinition", new[] { DefinitionsFolder }))
|
||||
{
|
||||
var path = AssetDatabase.GUIDToAssetPath(guid);
|
||||
var name = Path.GetFileNameWithoutExtension(path);
|
||||
if (!live.Contains(name))
|
||||
{
|
||||
Debug.LogWarning($"[Characters] Removing orphan definition '{name}' — no longer in the JSON.");
|
||||
AssetDatabase.DeleteAsset(path);
|
||||
}
|
||||
}
|
||||
|
||||
AssetDatabase.SaveAssets();
|
||||
|
||||
if (verbose || changed.Count > 0)
|
||||
{
|
||||
Debug.Log($"[Characters] {parsed.interactables.Length} definition(s) in {DefinitionsFolder}" +
|
||||
(changed.Count > 0 ? $"; updated: {string.Join(", ", changed)}" : "; no changes"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9cbb2b742dcc4031a4e0cfc0c0544faf
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,129 @@
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEditor.SceneManagement;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NightclubArcadia.EditorTools
|
||||
{
|
||||
/// <summary>
|
||||
/// Makes the split-scene layout usable in the Editor.
|
||||
///
|
||||
/// The game runs from Bootstrap, which loads Systems and a level additively AT
|
||||
/// RUNTIME. Unity discards runtime-loaded scenes when Play ends and restores
|
||||
/// whatever the Editor had open, which for someone who pressed Play in Bootstrap is
|
||||
/// Bootstrap alone. The Hierarchy comes back nearly empty and it looks as though the
|
||||
/// scenes were destroyed. They are not — nothing is written to disk — but it is an
|
||||
/// unpleasant way to work.
|
||||
///
|
||||
/// Two fixes, both opt-outable:
|
||||
/// - Open Game Scenes puts all three in the Hierarchy for authoring.
|
||||
/// - The Editor's scene setup is captured before Play and restored after, so what
|
||||
/// you had open is what you get back.
|
||||
///
|
||||
/// GameBootstrap skips any scene that is already loaded, so having all three open
|
||||
/// and pressing Play does the right thing rather than loading anything twice.
|
||||
/// </summary>
|
||||
[InitializeOnLoad]
|
||||
public static class GameSceneWorkflow
|
||||
{
|
||||
const string RestorePrefKey = "NightclubArcadia.RestoreSceneSetup";
|
||||
const string RestoreMenu = "Tools/Nightclub Arcadia/Restore Scene Setup After Play";
|
||||
|
||||
static SceneSetup[] setupBeforePlay;
|
||||
|
||||
static GameSceneWorkflow()
|
||||
{
|
||||
EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
|
||||
}
|
||||
|
||||
[MenuItem("Tools/Nightclub Arcadia/Open Game Scenes")]
|
||||
public static void OpenGameScenes()
|
||||
{
|
||||
// The prompt cannot be shown in batch mode, where it returns false and would
|
||||
// make this menu a silent no-op.
|
||||
if (!Application.isBatchMode && !EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var path in new[] { ScenePaths.Bootstrap, ScenePaths.Systems, ScenePaths.WorkingLevel })
|
||||
{
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
Debug.LogError($"[Scenes] Missing: {path}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
EditorSceneManager.OpenScene(ScenePaths.Bootstrap, OpenSceneMode.Single);
|
||||
EditorSceneManager.OpenScene(ScenePaths.Systems, OpenSceneMode.Additive);
|
||||
var level = EditorSceneManager.OpenScene(ScenePaths.WorkingLevel, OpenSceneMode.Additive);
|
||||
|
||||
// The level owns the lighting and is where new objects should land.
|
||||
EditorSceneManager.SetActiveScene(level);
|
||||
Debug.Log("[Scenes] Bootstrap + Systems + SC101_ConferenceHall open. Level is active.");
|
||||
}
|
||||
|
||||
[MenuItem(RestoreMenu)]
|
||||
static void ToggleRestore()
|
||||
{
|
||||
var on = !EditorPrefs.GetBool(RestorePrefKey, true);
|
||||
EditorPrefs.SetBool(RestorePrefKey, on);
|
||||
Debug.Log($"[Scenes] Restore scene setup after Play: {(on ? "on" : "off")}");
|
||||
}
|
||||
|
||||
[MenuItem(RestoreMenu, true)]
|
||||
static bool ToggleRestoreValidate()
|
||||
{
|
||||
Menu.SetChecked(RestoreMenu, EditorPrefs.GetBool(RestorePrefKey, true));
|
||||
return true;
|
||||
}
|
||||
|
||||
static void OnPlayModeStateChanged(PlayModeStateChange state)
|
||||
{
|
||||
if (!EditorPrefs.GetBool(RestorePrefKey, true))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (state == PlayModeStateChange.ExitingEditMode)
|
||||
{
|
||||
setupBeforePlay = EditorSceneManager.GetSceneManagerSetup();
|
||||
return;
|
||||
}
|
||||
|
||||
if (state != PlayModeStateChange.EnteredEditMode || setupBeforePlay == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var setup = setupBeforePlay;
|
||||
setupBeforePlay = null;
|
||||
|
||||
// A scene deleted or renamed while Play was running would throw here, and
|
||||
// an exception in this callback leaves the Editor in a confusing state.
|
||||
var usable = setup.Where(s => File.Exists(s.path)).ToArray();
|
||||
if (usable.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var current = EditorSceneManager.GetSceneManagerSetup();
|
||||
if (current.Length == usable.Length &&
|
||||
current.Select(s => s.path).SequenceEqual(usable.Select(s => s.path)))
|
||||
{
|
||||
return; // already what we wanted; do not disturb it
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
EditorSceneManager.RestoreSceneManagerSetup(usable);
|
||||
}
|
||||
catch (System.Exception e)
|
||||
{
|
||||
Debug.LogWarning($"[Scenes] Could not restore the pre-Play scene setup: {e.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0e05a1f05ef74ff7a53f6e24ab37e51e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,123 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEditor.Build.Reporting;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NightclubArcadia.EditorTools
|
||||
{
|
||||
/// <summary>
|
||||
/// Headless player builds.
|
||||
///
|
||||
/// Not called "BuildPipeline" on purpose — that name collides with
|
||||
/// UnityEditor.BuildPipeline, which this has to call.
|
||||
///
|
||||
/// The reason to have this at all rather than let the CLI drive Unity's built-in
|
||||
/// build: a flag-only build reports success even when it produced nothing useful,
|
||||
/// because Unity exits 0 unless the process itself failed. CI then goes green on a
|
||||
/// build that does not exist. Every entry point here inspects the BuildReport and
|
||||
/// calls EditorApplication.Exit(1) on anything short of success.
|
||||
///
|
||||
/// unity build NightclubArcadia --target StandaloneOSX \
|
||||
/// --execute-method NightclubArcadia.EditorTools.PlayerBuild.BuildMacOS \
|
||||
/// -o build/NightclubArcadia.app
|
||||
///
|
||||
/// The CLI forwards -o as -buildOutput, and honouring it is this method's job.
|
||||
/// </summary>
|
||||
public static class PlayerBuild
|
||||
{
|
||||
public static void BuildMacOS() => Build(BuildTarget.StandaloneOSX, "build/NightclubArcadia.app");
|
||||
|
||||
public static void BuildWindows() => Build(BuildTarget.StandaloneWindows64, "build/NightclubArcadia.exe");
|
||||
|
||||
public static void BuildLinux() => Build(BuildTarget.StandaloneLinux64, "build/NightclubArcadia");
|
||||
|
||||
static void Build(BuildTarget target, string defaultOutput)
|
||||
{
|
||||
var output = ArgValue("-buildOutput") ?? defaultOutput;
|
||||
|
||||
var scenes = EditorBuildSettings.scenes
|
||||
.Where(s => s.enabled)
|
||||
.Select(s => s.path)
|
||||
.ToArray();
|
||||
|
||||
if (scenes.Length == 0)
|
||||
{
|
||||
Fail("No enabled scenes in the build settings — the player would have nothing to load.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Bootstrap loads the others by name at runtime, so it has to be index 0.
|
||||
if (!scenes[0].EndsWith("/Bootstrap.unity", StringComparison.Ordinal))
|
||||
{
|
||||
Fail($"Scene 0 is '{scenes[0]}', expected Assets/Scenes/Bootstrap.unity. " +
|
||||
"The player opens scene 0 on launch.");
|
||||
return;
|
||||
}
|
||||
|
||||
Debug.Log($"[PlayerBuild] {target} -> {output}");
|
||||
foreach (var scene in scenes)
|
||||
{
|
||||
Debug.Log($"[PlayerBuild] scene: {scene}");
|
||||
}
|
||||
|
||||
var options = new BuildPlayerOptions
|
||||
{
|
||||
scenes = scenes,
|
||||
locationPathName = output,
|
||||
target = target,
|
||||
options = BuildOptions.None,
|
||||
};
|
||||
|
||||
BuildReport report;
|
||||
try
|
||||
{
|
||||
report = UnityEditor.BuildPipeline.BuildPlayer(options);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Fail($"BuildPlayer threw: {e}");
|
||||
return;
|
||||
}
|
||||
|
||||
var summary = report.summary;
|
||||
Debug.Log($"[PlayerBuild] {summary.result} — {summary.totalSize} bytes in {summary.totalTime}, " +
|
||||
$"{summary.totalErrors} error(s), {summary.totalWarnings} warning(s)");
|
||||
|
||||
if (summary.result != BuildResult.Succeeded)
|
||||
{
|
||||
foreach (var step in report.steps)
|
||||
{
|
||||
foreach (var msg in step.messages.Where(m => m.type == LogType.Error || m.type == LogType.Exception))
|
||||
{
|
||||
Debug.LogError($"[PlayerBuild] {step.name}: {msg.content}");
|
||||
}
|
||||
}
|
||||
Fail($"Build did not succeed: {summary.result}");
|
||||
return;
|
||||
}
|
||||
|
||||
Debug.Log("[PlayerBuild] ok");
|
||||
}
|
||||
|
||||
static void Fail(string message)
|
||||
{
|
||||
Debug.LogError($"[PlayerBuild] {message}");
|
||||
EditorApplication.Exit(1);
|
||||
}
|
||||
|
||||
/// <summary>Reads "-name value" out of the command line Unity was launched with.</summary>
|
||||
static string ArgValue(string name)
|
||||
{
|
||||
var args = Environment.GetCommandLineArgs();
|
||||
for (var i = 0; i < args.Length - 1; i++)
|
||||
{
|
||||
if (string.Equals(args[i], name, StringComparison.Ordinal))
|
||||
{
|
||||
return args[i + 1];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ec643a873224cc89e1f94dfb735037d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace NightclubArcadia.EditorTools
|
||||
{
|
||||
/// <summary>
|
||||
/// The scene paths the one-shot setup menus operate on.
|
||||
///
|
||||
/// These used to be a literal "Assets/Scenes/DialogueTest.unity" repeated in four
|
||||
/// Editor scripts, which is why renaming the scene meant finding all four. One
|
||||
/// place now.
|
||||
/// </summary>
|
||||
public static class ScenePaths
|
||||
{
|
||||
/// <summary>Entry point. Loads Systems, then a level.</summary>
|
||||
public const string Bootstrap = "Assets/Scenes/Bootstrap.unity";
|
||||
|
||||
/// <summary>Persistent systems: dialogue, skills, UI, camera rig, player.</summary>
|
||||
public const string Systems = "Assets/Scenes/Systems/Systems.unity";
|
||||
|
||||
/// <summary>The level scene. SC-101's conference hall.</summary>
|
||||
public const string WorkingLevel = "Assets/Scenes/Levels/SC101_ConferenceHall.unity";
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a3f10ec1f9042358ed09c1cdcc345d8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -23,7 +23,7 @@ public static class SkillSystemSetup
|
||||
const string SkillsFolder = "Assets/Skills";
|
||||
const string BiblePath = "Assets/Skills/skill_bible.json";
|
||||
const string DatabasePath = "Assets/Skills/SkillDatabase.asset";
|
||||
const string ScenePath = "Assets/Scenes/DialogueTest.unity";
|
||||
const string ScenePath = NightclubArcadia.EditorTools.ScenePaths.Systems;
|
||||
const string AutoSetupSessionKey = "NightclubArcadia.SkillSystem.AutoSetupDone";
|
||||
|
||||
[DidReloadScripts]
|
||||
@@ -55,7 +55,7 @@ public static class SkillSystemSetup
|
||||
/// <summary>
|
||||
/// Creates/updates ScriptableObject assets without opening a scene.
|
||||
/// Safe to run on domain reload. Scene wiring stays on the menu item /
|
||||
/// the checked-in DialogueTest.unity Skill System objects.
|
||||
/// the checked-in Systems.unity Skill System objects.
|
||||
/// </summary>
|
||||
static void EnsureSkillAssetsOnly()
|
||||
{
|
||||
@@ -122,9 +122,12 @@ public static class SkillSystemSetup
|
||||
EditorUtility.SetDirty(database);
|
||||
AssetDatabase.SaveAssets();
|
||||
|
||||
WireDialogueTestScene(database);
|
||||
// Scene wiring deliberately skipped: the Skill System objects live in
|
||||
// Systems.unity and are already wired there. Regenerating the assets is
|
||||
// still useful and touches no scene. See LegacySceneSetup.
|
||||
AssetDatabase.SaveAssets();
|
||||
Debug.Log($"Skill system setup complete. Database at {DatabasePath}; scene wired at {ScenePath}.");
|
||||
Debug.Log($"Skill assets regenerated. Database at {DatabasePath}. Scene wiring skipped — "
|
||||
+ "the Skill System already exists in Systems.unity.");
|
||||
}
|
||||
|
||||
static bool TryLoadRoster(out SkillBibleEntry[] roster)
|
||||
@@ -230,7 +233,7 @@ public static class SkillSystemSetup
|
||||
}
|
||||
}
|
||||
|
||||
static void WireDialogueTestScene(SkillDatabase database)
|
||||
static void WireWorkingLevelScene(SkillDatabase database)
|
||||
{
|
||||
if (!File.Exists(ScenePath))
|
||||
{
|
||||
@@ -243,7 +246,7 @@ public static class SkillSystemSetup
|
||||
var runner = UnityEngine.Object.FindAnyObjectByType<DialogueRunner>();
|
||||
if (runner == null)
|
||||
{
|
||||
Debug.LogError("No DialogueRunner in DialogueTest.unity.");
|
||||
Debug.LogError("No DialogueRunner in Systems.unity.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
using UnityEditor;
|
||||
using UnityEditor.SceneManagement;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using Yarn.Compiler;
|
||||
using Yarn.Unity;
|
||||
using Yarn.Unity.Editor;
|
||||
|
||||
public static class YarnDemoSetup
|
||||
{
|
||||
const string YarnProjectPath = "Assets/Dialogue/NightclubArcadia.yarnproject";
|
||||
const string ScenePath = "Assets/Scenes/DialogueTest.unity";
|
||||
|
||||
[MenuItem("Tools/Nightclub Arcadia/Set Up Yarn Dialogue Test")]
|
||||
public static void SetUpYarnDialogueTest()
|
||||
{
|
||||
if (!AssetDatabase.IsValidFolder("Assets/TextMesh Pro"))
|
||||
{
|
||||
Debug.LogWarning("TextMesh Pro essential resources are missing. Run Window → TextMeshPro → Import TMP Essential Resources.");
|
||||
}
|
||||
|
||||
if (!AssetDatabase.IsValidFolder("Assets/Dialogue"))
|
||||
{
|
||||
AssetDatabase.CreateFolder("Assets", "Dialogue");
|
||||
}
|
||||
|
||||
if (!AssetDatabase.IsValidFolder("Assets/Scenes"))
|
||||
{
|
||||
AssetDatabase.CreateFolder("Assets", "Scenes");
|
||||
}
|
||||
|
||||
var yarnProject = AssetDatabase.LoadAssetAtPath<YarnProject>(YarnProjectPath);
|
||||
if (yarnProject == null)
|
||||
{
|
||||
// YarnProjectUtility.CreateDefaultYarnProject is internal, so
|
||||
// construct the same default project here.
|
||||
var project = new Project
|
||||
{
|
||||
ExcludeFilePatterns = new[] { "**/*~/*", "./Samples/Yarn Spinner*/*" },
|
||||
};
|
||||
YarnEditorUtility.CreateYarnProject(YarnProjectPath, project);
|
||||
AssetDatabase.Refresh();
|
||||
yarnProject = AssetDatabase.LoadAssetAtPath<YarnProject>(YarnProjectPath);
|
||||
}
|
||||
|
||||
var scene = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Single);
|
||||
|
||||
var runner = CreateDialogueRunnerMenuItem.CreateDialogueRunner();
|
||||
|
||||
var so = new SerializedObject(runner);
|
||||
so.FindProperty("yarnProject").objectReferenceValue = yarnProject;
|
||||
so.ApplyModifiedPropertiesWithoutUndo();
|
||||
|
||||
runner.autoStart = true;
|
||||
runner.startNode = "Start";
|
||||
EditorUtility.SetDirty(runner);
|
||||
|
||||
#if UNITY_2023_1_OR_NEWER
|
||||
var eventSystems = Object.FindObjectsByType<EventSystem>(FindObjectsInactive.Include);
|
||||
#else
|
||||
var eventSystems = Object.FindObjectsOfType<EventSystem>(true);
|
||||
#endif
|
||||
foreach (var eventSystem in eventSystems)
|
||||
{
|
||||
if (eventSystem.GetComponent<BaseInputModule>() != null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
#if ENABLE_INPUT_SYSTEM
|
||||
eventSystem.gameObject.AddComponent<UnityEngine.InputSystem.UI.InputSystemUIInputModule>();
|
||||
#endif
|
||||
}
|
||||
|
||||
EditorSceneManager.SaveScene(scene, ScenePath);
|
||||
AssetDatabase.SaveAssets();
|
||||
|
||||
Debug.Log($"Yarn dialogue test setup complete. Scene saved to {ScenePath}");
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d9af60546b8c47c892a7b924fd4c91e
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe41419ba50842189534933e2b64e958
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1d48f257d1ed84378baccde7a64adf41
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,539 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4737069642952972654
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1722946503423415487}
|
||||
- component: {fileID: 8432845660793814868}
|
||||
- component: {fileID: 6335817353128072766}
|
||||
- component: {fileID: 2944890677120165287}
|
||||
m_Layer: 0
|
||||
m_Name: Prompt
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1722946503423415487
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4737069642952972654}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 172386393200463862}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0.7}
|
||||
m_SizeDelta: {x: 1.5, y: 0.4}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!23 &8432845660793814868
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4737069642952972654}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &6335817353128072766
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4737069642952972654}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text:
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 3
|
||||
m_fontSizeBase: 3
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 0
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
_SortingLayer: 0
|
||||
_SortingLayerID: 0
|
||||
_SortingOrder: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 8432845660793814868}
|
||||
m_maskType: 0
|
||||
--- !u!114 &2944890677120165287
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4737069642952972654}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 10b4e7c1069944b49acca9287528f275, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Interaction.InteractionPrompt
|
||||
--- !u!1 &7322328536378480179
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4239915935349831280}
|
||||
- component: {fileID: 5807897220633392622}
|
||||
- component: {fileID: 2641391509207732614}
|
||||
- component: {fileID: 2690437797691371565}
|
||||
m_Layer: 0
|
||||
m_Name: Label
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4239915935349831280
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7322328536378480179}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 172386393200463862}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 1.2}
|
||||
m_SizeDelta: {x: 2, y: 0.5}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!23 &5807897220633392622
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7322328536378480179}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &2641391509207732614
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7322328536378480179}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Bartender
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 4
|
||||
m_fontSizeBase: 4
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 0
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
_SortingLayer: 0
|
||||
_SortingLayerID: 0
|
||||
_SortingOrder: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 5807897220633392622}
|
||||
m_maskType: 0
|
||||
--- !u!114 &2690437797691371565
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7322328536378480179}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5d24ca2949394cc78a1fdde5d83e08c2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Interaction.WorldSpaceLabel
|
||||
billboard: 1
|
||||
--- !u!1 &7530910684996007227
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 172386393200463862}
|
||||
- component: {fileID: 1403734579041167056}
|
||||
- component: {fileID: 3418223217292734787}
|
||||
- component: {fileID: 2161798758485273970}
|
||||
- component: {fileID: 3703434673071649520}
|
||||
- component: {fileID: 3878869479229240904}
|
||||
m_Layer: 0
|
||||
m_Name: Bartender
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &172386393200463862
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7530910684996007227}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4239915935349831280}
|
||||
- {fileID: 1722946503423415487}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1403734579041167056
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7530910684996007227}
|
||||
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!135 &3418223217292734787
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7530910684996007227}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Radius: 0.5
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &2161798758485273970
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7530910684996007227}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: fa72b8a577b83400c8fe35f9f594fb93, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 1
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &3703434673071649520
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7530910684996007227}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ba3ce042c3b3457ba101f1c6643b983f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Interaction.DialogueInteractor
|
||||
definition: {fileID: 11400000, guid: 8ccb543c858f74a969cb025cb3e1f0ea, type: 2}
|
||||
label: {fileID: 2690437797691371565}
|
||||
prompt: {fileID: 2944890677120165287}
|
||||
dialogueUI: {fileID: 0}
|
||||
--- !u!114 &3878869479229240904
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7530910684996007227}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7862f80331f384d28b27600075971a77, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Cinematics.CameraPointOfInterest
|
||||
weight: 1
|
||||
triggerRadius: 8
|
||||
maxBias: 2.5
|
||||
extraDistance: 1.5
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c0db6e63cdcba4608a13198c04bfc610
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,137 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Bartender_Placeholder
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 0.92, b: 0.016, a: 1}
|
||||
- _Color: {r: 1, g: 0.92, b: 0.016, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &9147223334991767282
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa72b8a577b83400c8fe35f9f594fb93
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8c20d75ae36249ab8379c0e4913f984
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,539 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &777994819892892268
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1239266274743412553}
|
||||
- component: {fileID: 4457577143334209326}
|
||||
- component: {fileID: 7850630094993076482}
|
||||
- component: {fileID: 5006241980557930104}
|
||||
m_Layer: 0
|
||||
m_Name: Prompt
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1239266274743412553
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 777994819892892268}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8926026372035049776}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0.7}
|
||||
m_SizeDelta: {x: 1.5, y: 0.4}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!23 &4457577143334209326
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 777994819892892268}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &7850630094993076482
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 777994819892892268}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text:
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 3
|
||||
m_fontSizeBase: 3
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 0
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
_SortingLayer: 0
|
||||
_SortingLayerID: 0
|
||||
_SortingOrder: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 4457577143334209326}
|
||||
m_maskType: 0
|
||||
--- !u!114 &5006241980557930104
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 777994819892892268}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 10b4e7c1069944b49acca9287528f275, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Interaction.InteractionPrompt
|
||||
--- !u!1 &1028094190342798046
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4034517959994022032}
|
||||
- component: {fileID: 6899414861324739809}
|
||||
- component: {fileID: 2525172943720193920}
|
||||
- component: {fileID: 8100187015087210284}
|
||||
m_Layer: 0
|
||||
m_Name: Label
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4034517959994022032
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1028094190342798046}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8926026372035049776}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 1.2}
|
||||
m_SizeDelta: {x: 2, y: 0.5}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!23 &6899414861324739809
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1028094190342798046}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &2525172943720193920
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1028094190342798046}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshPro
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Chair
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 4
|
||||
m_fontSizeBase: 4
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 0
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
_SortingLayer: 0
|
||||
_SortingLayerID: 0
|
||||
_SortingOrder: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_renderer: {fileID: 6899414861324739809}
|
||||
m_maskType: 0
|
||||
--- !u!114 &8100187015087210284
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1028094190342798046}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5d24ca2949394cc78a1fdde5d83e08c2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Interaction.WorldSpaceLabel
|
||||
billboard: 1
|
||||
--- !u!1 &7280501095255275029
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8926026372035049776}
|
||||
- component: {fileID: 5837614995048342275}
|
||||
- component: {fileID: 3813584389814668824}
|
||||
- component: {fileID: 5825175854856588849}
|
||||
- component: {fileID: 9133955159482683932}
|
||||
- component: {fileID: 758253250585826679}
|
||||
m_Layer: 0
|
||||
m_Name: Chair
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8926026372035049776
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7280501095255275029}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4034517959994022032}
|
||||
- {fileID: 1239266274743412553}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &5837614995048342275
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7280501095255275029}
|
||||
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!135 &3813584389814668824
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7280501095255275029}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Radius: 0.5
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &5825175854856588849
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7280501095255275029}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: dcf0462a407634956a12aae26cb9768b, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 1
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &9133955159482683932
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7280501095255275029}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ba3ce042c3b3457ba101f1c6643b983f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Interaction.DialogueInteractor
|
||||
definition: {fileID: 11400000, guid: 403e142c457b0412a8c8604a2a9807ed, type: 2}
|
||||
label: {fileID: 8100187015087210284}
|
||||
prompt: {fileID: 5006241980557930104}
|
||||
dialogueUI: {fileID: 0}
|
||||
--- !u!114 &758253250585826679
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7280501095255275029}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7862f80331f384d28b27600075971a77, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.Cinematics.CameraPointOfInterest
|
||||
weight: 1
|
||||
triggerRadius: 8
|
||||
maxBias: 2.5
|
||||
extraDistance: 1.5
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f94d8e9cc93d47deb267073aebce344
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,137 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-386927403897027456
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Chair_Placeholder
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0, g: 0, b: 1, a: 1}
|
||||
- _Color: {r: 0, g: 0, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dcf0462a407634956a12aae26cb9768b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 11e75200bdad4ff48299a7d24bb8df99
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,413 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3506879458838080580
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1649868454372858534}
|
||||
- component: {fileID: 5353601244371665078}
|
||||
- component: {fileID: 3249155410833833935}
|
||||
- component: {fileID: 3956878563407369997}
|
||||
m_Layer: 0
|
||||
m_Name: DialogueMessageRow
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1649868454372858534
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3506879458838080580}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 5063401541721017946}
|
||||
- {fileID: 7857316982467238224}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 80}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &5353601244371665078
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3506879458838080580}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a7773ea9a6f44798aa98356903037d16, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.UI.Dialogue.DialogueMessageRow
|
||||
speakerText: {fileID: 5900251945930220314}
|
||||
bodyText: {fileID: 1670956017877202442}
|
||||
speakerLabel: {fileID: 5822252844234204748}
|
||||
--- !u!114 &3249155410833833935
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3506879458838080580}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
|
||||
m_Padding:
|
||||
m_Left: 12
|
||||
m_Right: 12
|
||||
m_Top: 8
|
||||
m_Bottom: 8
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 4
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &3956878563407369997
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3506879458838080580}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &5450003319614969337
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7857316982467238224}
|
||||
- component: {fileID: 3605186933310922639}
|
||||
- component: {fileID: 1670956017877202442}
|
||||
- component: {fileID: 6572944391823112727}
|
||||
m_Layer: 0
|
||||
m_Name: Body
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7857316982467238224
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5450003319614969337}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1649868454372858534}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3605186933310922639
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5450003319614969337}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1670956017877202442
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5450003319614969337}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Body
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 28
|
||||
m_fontSizeBase: 28
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 256
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!114 &6572944391823112727
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5450003319614969337}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: -1
|
||||
m_PreferredHeight: -1
|
||||
m_FlexibleWidth: -1
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!1 &5822252844234204748
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5063401541721017946}
|
||||
- component: {fileID: 4569120956328637162}
|
||||
- component: {fileID: 5900251945930220314}
|
||||
- component: {fileID: 3733932380812113541}
|
||||
m_Layer: 0
|
||||
m_Name: Speaker
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5063401541721017946
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5822252844234204748}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1649868454372858534}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4569120956328637162
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5822252844234204748}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5900251945930220314
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5822252844234204748}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Speaker
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 22
|
||||
m_fontSizeBase: 22
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 1
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!114 &3733932380812113541
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5822252844234204748}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: -1
|
||||
m_PreferredHeight: -1
|
||||
m_FlexibleWidth: -1
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 90818ef7dc74247ceb348994755cea86
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,673 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1431520567503728820
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4838388606347767229}
|
||||
- component: {fileID: 848167695161913818}
|
||||
- component: {fileID: 872887529246740654}
|
||||
m_Layer: 0
|
||||
m_Name: Messages
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4838388606347767229
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1431520567503728820}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6371610150170887506}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0}
|
||||
--- !u!114 &848167695161913818
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1431520567503728820}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 4
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &872887529246740654
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1431520567503728820}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &2888832924926796905
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8553742246756266605}
|
||||
- component: {fileID: 7475958128581596541}
|
||||
- component: {fileID: 5788080976967704390}
|
||||
m_Layer: 0
|
||||
m_Name: Panel
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8553742246756266605
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2888832924926796905}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6287368187237088396}
|
||||
m_Father: {fileID: 1243836425688988300}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.66, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7475958128581596541
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2888832924926796905}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5788080976967704390
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2888832924926796905}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.05, g: 0.05, b: 0.08, a: 0.92}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &4923635399097880277
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3746324764683222304}
|
||||
- component: {fileID: 3035847077530824546}
|
||||
- component: {fileID: 5149667566061008557}
|
||||
- component: {fileID: 2566128074157561357}
|
||||
m_Layer: 0
|
||||
m_Name: Viewport
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3746324764683222304
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4923635399097880277}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6371610150170887506}
|
||||
m_Father: {fileID: 6287368187237088396}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &3035847077530824546
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4923635399097880277}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D
|
||||
m_Padding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Softness: {x: 0, y: 0}
|
||||
--- !u!222 &5149667566061008557
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4923635399097880277}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2566128074157561357
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4923635399097880277}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.01}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &5260492858234310193
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6371610150170887506}
|
||||
- component: {fileID: 2397794206583674815}
|
||||
- component: {fileID: 5419335647702174254}
|
||||
m_Layer: 0
|
||||
m_Name: Content
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6371610150170887506
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5260492858234310193}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4838388606347767229}
|
||||
- {fileID: 6329947636030823459}
|
||||
m_Father: {fileID: 3746324764683222304}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0}
|
||||
--- !u!114 &2397794206583674815
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5260492858234310193}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
|
||||
m_Padding:
|
||||
m_Left: 4
|
||||
m_Right: 4
|
||||
m_Top: 8
|
||||
m_Bottom: 8
|
||||
m_ChildAlignment: 7
|
||||
m_Spacing: 6
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &5419335647702174254
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5260492858234310193}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &7249108092969100431
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6329947636030823459}
|
||||
- component: {fileID: 5824694681547497274}
|
||||
- component: {fileID: 6817391513969849154}
|
||||
- component: {fileID: 5117926241503925785}
|
||||
m_Layer: 0
|
||||
m_Name: Options
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6329947636030823459
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7249108092969100431}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6371610150170887506}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0}
|
||||
--- !u!114 &5824694681547497274
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7249108092969100431}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 4
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &6817391513969849154
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7249108092969100431}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 2
|
||||
--- !u!225 &5117926241503925785
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7249108092969100431}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 0
|
||||
m_Interactable: 0
|
||||
m_BlocksRaycasts: 0
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!1 &8691714907102969075
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1243836425688988300}
|
||||
- component: {fileID: 1592513625297910240}
|
||||
- component: {fileID: 7055069541643637941}
|
||||
- component: {fileID: 4390775391658295920}
|
||||
- component: {fileID: 3476584232491665726}
|
||||
- component: {fileID: 6097567599041115085}
|
||||
- component: {fileID: 307489608854241188}
|
||||
m_Layer: 0
|
||||
m_Name: DialogueStreamCanvas
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1243836425688988300
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8691714907102969075}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8553742246756266605}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!223 &1592513625297910240
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8691714907102969075}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 0
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_VertexColorAlwaysGammaSpace: 0
|
||||
m_UseReflectionProbes: 0
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 5
|
||||
m_TargetDisplay: 0
|
||||
--- !u!114 &7055069541643637941
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8691714907102969075}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
||||
m_UiScaleMode: 1
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 1920, y: 1080}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0.5
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!114 &4390775391658295920
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8691714907102969075}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!225 &3476584232491665726
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8691714907102969075}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 0
|
||||
m_Interactable: 0
|
||||
m_BlocksRaycasts: 0
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &6097567599041115085
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8691714907102969075}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 88cb6495795a4e13ac7fb72343c132af, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.UI.Dialogue.DialogueStreamPresenter
|
||||
messageRowPrefab: {fileID: 5353601244371665078, guid: 90818ef7dc74247ceb348994755cea86, type: 3}
|
||||
messageContainer: {fileID: 4838388606347767229}
|
||||
scrollRect: {fileID: 7105587415705135446}
|
||||
maxRows: 100
|
||||
lettersPerSecond: 60
|
||||
--- !u!114 &307489608854241188
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8691714907102969075}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8d86cc99d5b545c4a3fad9e1482031a2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.UI.Dialogue.DialogueStreamOptionsPresenter
|
||||
optionViewPrefab: {fileID: 2576261519635394347, guid: e605972137b0b4c1399ffb07beae9a9b, type: 3}
|
||||
optionsContainer: {fileID: 6329947636030823459}
|
||||
canvasGroup: {fileID: 5117926241503925785}
|
||||
showUnavailableOptions: 0
|
||||
--- !u!1 &8898733438161318853
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6287368187237088396}
|
||||
- component: {fileID: 7105587415705135446}
|
||||
- component: {fileID: 6289533314517078144}
|
||||
- component: {fileID: 7217060756955950799}
|
||||
m_Layer: 0
|
||||
m_Name: Scroll
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6287368187237088396
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8898733438161318853}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3746324764683222304}
|
||||
m_Father: {fileID: 8553742246756266605}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -16, y: -16}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &7105587415705135446
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8898733438161318853}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ScrollRect
|
||||
m_Content: {fileID: 6371610150170887506}
|
||||
m_Horizontal: 0
|
||||
m_Vertical: 1
|
||||
m_MovementType: 2
|
||||
m_Elasticity: 0.1
|
||||
m_Inertia: 1
|
||||
m_DecelerationRate: 0.135
|
||||
m_ScrollSensitivity: 1
|
||||
m_Viewport: {fileID: 3746324764683222304}
|
||||
m_HorizontalScrollbar: {fileID: 0}
|
||||
m_VerticalScrollbar: {fileID: 0}
|
||||
m_HorizontalScrollbarVisibility: 0
|
||||
m_VerticalScrollbarVisibility: 0
|
||||
m_HorizontalScrollbarSpacing: 0
|
||||
m_VerticalScrollbarSpacing: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!222 &6289533314517078144
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8898733438161318853}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7217060756955950799
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8898733438161318853}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 0.01}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55fc979a64b174ce796ffa39b13b7259
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,390 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3845905829654890729
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4691680407920056117}
|
||||
- component: {fileID: 9194898352646057999}
|
||||
- component: {fileID: 7450534218736675587}
|
||||
m_Layer: 0
|
||||
m_Name: TabHint
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4691680407920056117
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3845905829654890729}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 252585930844827291}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 4}
|
||||
m_SizeDelta: {x: 0, y: 28}
|
||||
m_Pivot: {x: 0.5, y: 0}
|
||||
--- !u!222 &9194898352646057999
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3845905829654890729}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7450534218736675587
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3845905829654890729}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Tab
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 18
|
||||
m_fontSizeBase: 18
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &4914891251226459434
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8125896019114993279}
|
||||
- component: {fileID: 637496887729740374}
|
||||
- component: {fileID: 7333171482869056901}
|
||||
- component: {fileID: 3439018567020279905}
|
||||
- component: {fileID: 4573334312575796821}
|
||||
m_Layer: 0
|
||||
m_Name: HudCanvas
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8125896019114993279
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4914891251226459434}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 252585930844827291}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!223 &637496887729740374
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4914891251226459434}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 0
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_VertexColorAlwaysGammaSpace: 0
|
||||
m_UseReflectionProbes: 0
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_UpdateRectTransformForStandalone: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 10
|
||||
m_TargetDisplay: 0
|
||||
--- !u!114 &7333171482869056901
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4914891251226459434}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
||||
m_UiScaleMode: 1
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 1920, y: 1080}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0.5
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!114 &3439018567020279905
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4914891251226459434}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!114 &4573334312575796821
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4914891251226459434}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fd1354ade14b4b1d80da9acac4aa9e12, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Game::NightclubArcadia.UI.HUD.PortraitHudView
|
||||
panelRoot: {fileID: 4989543578856257477}
|
||||
--- !u!1 &4989543578856257477
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 252585930844827291}
|
||||
- component: {fileID: 7861001760273437131}
|
||||
- component: {fileID: 1348039723167098503}
|
||||
- component: {fileID: 4045319608296230342}
|
||||
- component: {fileID: 1473442362196520338}
|
||||
m_Layer: 0
|
||||
m_Name: PortraitPanel
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &252585930844827291
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4989543578856257477}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4691680407920056117}
|
||||
m_Father: {fileID: 8125896019114993279}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -24, y: 24}
|
||||
m_SizeDelta: {x: 220, y: 280}
|
||||
m_Pivot: {x: 1, y: 0}
|
||||
--- !u!225 &7861001760273437131
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4989543578856257477}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!222 &1348039723167098503
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4989543578856257477}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4045319608296230342
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4989543578856257477}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.15, g: 0.15, b: 0.18, a: 0.95}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: a1b2c3d4e5f60718293a4b5c6d7e8f90, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 1
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &1473442362196520338
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4989543578856257477}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 4045319608296230342}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 792e1d4c4cde942e8a71947301a3868c
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb4c52aaa2c9e41aabc4bb11fa6372ba
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,669 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &738428826500747930
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7033684844244958404}
|
||||
- component: {fileID: 8854647563054178895}
|
||||
- component: {fileID: 7773152306665733045}
|
||||
- component: {fileID: 3269936702826226914}
|
||||
m_Layer: 0
|
||||
m_Name: Accent
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7033684844244958404
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 738428826500747930}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6014094232834212140}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8854647563054178895
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 738428826500747930}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7773152306665733045
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 738428826500747930}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &3269936702826226914
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 738428826500747930}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: 6
|
||||
m_PreferredHeight: -1
|
||||
m_FlexibleWidth: 0
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!1 &1043270585848180102
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6266953780690568889}
|
||||
- component: {fileID: 6662307575930959716}
|
||||
- component: {fileID: 874797289038649292}
|
||||
- component: {fileID: 3005905926608676038}
|
||||
m_Layer: 0
|
||||
m_Name: Bar
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6266953780690568889
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1043270585848180102}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 437950331768363985}
|
||||
m_Father: {fileID: 6014094232834212140}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6662307575930959716
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1043270585848180102}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &874797289038649292
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1043270585848180102}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.2, g: 0.2, b: 0.22, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &3005905926608676038
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1043270585848180102}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: 160
|
||||
m_PreferredHeight: 16
|
||||
m_FlexibleWidth: 0
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!1 &1311471292218943158
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4484942689062487776}
|
||||
- component: {fileID: 285052103366591294}
|
||||
- component: {fileID: 6986784551111800944}
|
||||
- component: {fileID: 4453305505185908855}
|
||||
m_Layer: 0
|
||||
m_Name: Rank
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4484942689062487776
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1311471292218943158}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6014094232834212140}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &285052103366591294
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1311471292218943158}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6986784551111800944
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1311471292218943158}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Rank
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 24
|
||||
m_fontSizeBase: 24
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 4
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!114 &4453305505185908855
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1311471292218943158}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: 40
|
||||
m_PreferredHeight: -1
|
||||
m_FlexibleWidth: 0
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!1 &3239427835033733195
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4775921688302885094}
|
||||
- component: {fileID: 3498508026980942921}
|
||||
- component: {fileID: 4172720891822695416}
|
||||
- component: {fileID: 6787294827931527212}
|
||||
m_Layer: 0
|
||||
m_Name: Name
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4775921688302885094
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3239427835033733195}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6014094232834212140}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3498508026980942921
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3239427835033733195}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4172720891822695416
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3239427835033733195}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Name
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: 0
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 24
|
||||
m_fontSizeBase: 24
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 1
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!114 &6787294827931527212
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3239427835033733195}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: -1
|
||||
m_PreferredHeight: -1
|
||||
m_FlexibleWidth: 1
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!1 &3768236759226886124
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 437950331768363985}
|
||||
- component: {fileID: 5606763019278455248}
|
||||
- component: {fileID: 1019288287942172810}
|
||||
m_Layer: 0
|
||||
m_Name: Fill
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &437950331768363985
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3768236759226886124}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6266953780690568889}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5606763019278455248
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3768236759226886124}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1019288287942172810
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3768236759226886124}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 3
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 0
|
||||
m_FillAmount: 0.2
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &7442810364304304402
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6014094232834212140}
|
||||
- component: {fileID: 1141587833647839303}
|
||||
- component: {fileID: 8736413170534072599}
|
||||
m_Layer: 0
|
||||
m_Name: SkillRow
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6014094232834212140
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7442810364304304402}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 7033684844244958404}
|
||||
- {fileID: 4775921688302885094}
|
||||
- {fileID: 6266953780690568889}
|
||||
- {fileID: 4484942689062487776}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 48}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1141587833647839303
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7442810364304304402}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6ccda37aee7e42b09a0628f8a5729060, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: NightclubArcadia.Skills::NightclubArcadia.Skills.SkillRowView
|
||||
nameLabel: {fileID: 4172720891822695416}
|
||||
rankLabel: {fileID: 6986784551111800944}
|
||||
barFill: {fileID: 1019288287942172810}
|
||||
accentStripe: {fileID: 7773152306665733045}
|
||||
--- !u!114 &8736413170534072599
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7442810364304304402}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup
|
||||
m_Padding:
|
||||
m_Left: 8
|
||||
m_Right: 8
|
||||
m_Top: 4
|
||||
m_Bottom: 4
|
||||
m_ChildAlignment: 3
|
||||
m_Spacing: 12
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e14f68d6a57ea4945bd93c44202db910
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,34 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fcf7219bab7fe46a1ad266029b2fee19, type: 3}
|
||||
m_Name: Readme
|
||||
m_EditorClassIdentifier:
|
||||
icon: {fileID: 2800000, guid: 727a75301c3d24613a3ebcec4a24c2c8, type: 3}
|
||||
title: URP Empty Template
|
||||
sections:
|
||||
- heading: Welcome to the Universal Render Pipeline
|
||||
text: This template includes the settings and assets you need to start creating with the Universal Render Pipeline.
|
||||
linkText:
|
||||
url:
|
||||
- heading: URP Documentation
|
||||
text:
|
||||
linkText: Read more about URP
|
||||
url: https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest
|
||||
- heading: Forums
|
||||
text:
|
||||
linkText: Get answers and support
|
||||
url: https://forum.unity.com/forums/universal-render-pipeline.383/
|
||||
- heading: Report bugs
|
||||
text:
|
||||
linkText: Submit a report
|
||||
url: https://unity3d.com/unity/qa/bug-reporting
|
||||
loadedLayout: 1
|
||||
@@ -0,0 +1,172 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 10
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 13
|
||||
m_BakeOnSceneLoad: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 2
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 1
|
||||
m_PVRFilteringGaussRadiusAO: 1
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &1325409732
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1325409734}
|
||||
- component: {fileID: 1325409733}
|
||||
m_Layer: 0
|
||||
m_Name: Bootstrap
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1325409733
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1325409732}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 612d8b8b7afa48d68f187e4d51bae0cd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::NightclubArcadia.Core.GameBootstrap
|
||||
systemsScene: Systems
|
||||
startLevel: SC101_ConferenceHall
|
||||
--- !u!4 &1325409734
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1325409732}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 1325409734}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 99c9720ab356a0642a771bea13969a05
|
||||
guid: 940e7dc5e84654c9fb808956223fc11e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eaad6a890d839422a94db2c27a839bd9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55882bf97662d4abbaf3691c8c0c9b4a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 67a0ad6ebebd640a59b91b85221b30df
|
||||
guid: a4910059112fe4675827519a3f55afe5
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
Binary file not shown.
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 73a81211deb844562a24ef6db1dc3c46
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 23800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,432 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 10
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &330585543
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 330585546}
|
||||
- component: {fileID: 330585545}
|
||||
- component: {fileID: 330585544}
|
||||
- component: {fileID: 330585547}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &330585544
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 330585543}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &330585545
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 330585543}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &330585546
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 330585543}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &330585547
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 330585543}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 1
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_AllowHDROutput: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_Version: 2
|
||||
m_TaaSettings:
|
||||
quality: 3
|
||||
frameInfluence: 0.1
|
||||
jitterScale: 1
|
||||
mipBias: 0
|
||||
varianceClampScale: 0.9
|
||||
contrastAdaptiveSharpening: 0
|
||||
--- !u!1 &410087039
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 410087041}
|
||||
- component: {fileID: 410087040}
|
||||
- component: {fileID: 410087042}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!108 &410087040
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 410087039}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 11
|
||||
m_Type: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Intensity: 2
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_InnerSpotAngle: 21.80208
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 2
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Bias: 0.05
|
||||
m_NormalBias: 0.4
|
||||
m_NearPlane: 0.2
|
||||
m_CullingMatrixOverride:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_UseCullingMatrixOverride: 0
|
||||
m_Cookie: {fileID: 0}
|
||||
m_DrawHalo: 0
|
||||
m_Flare: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingLayerMask: 1
|
||||
m_Lightmapping: 4
|
||||
m_LightShadowCasterMode: 0
|
||||
m_AreaSize: {x: 1, y: 1}
|
||||
m_BounceIntensity: 1
|
||||
m_ColorTemperature: 5000
|
||||
m_UseColorTemperature: 1
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ForceVisible: 0
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &410087041
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 410087039}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||
m_LocalPosition: {x: 0, y: 3, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
||||
--- !u!114 &410087042
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 410087039}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 3
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_LightLayerMask: 1
|
||||
m_RenderingLayers: 1
|
||||
m_CustomShadowLayers: 0
|
||||
m_ShadowLayerMask: 1
|
||||
m_ShadowRenderingLayers: 1
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!1 &832575517
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 832575519}
|
||||
- component: {fileID: 832575518}
|
||||
m_Layer: 0
|
||||
m_Name: Global Volume
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &832575518
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 832575517}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IsGlobal: 1
|
||||
priority: 0
|
||||
blendDistance: 0
|
||||
weight: 1
|
||||
sharedProfile: {fileID: 11400000, guid: 10fc4df2da32a41aaa32d77bc913491c, type: 2}
|
||||
--- !u!4 &832575519
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 832575517}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 330585546}
|
||||
- {fileID: 410087041}
|
||||
- {fileID: 832575519}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a7fa9631487c347788c76d7f8eac9692
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user