diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-21 11:15:49 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-21 11:15:49 +0800 |
| commit | 7f0c40dc89672d218f10ba3f81a0ee235da30969 (patch) | |
| tree | efa2e3884c4d1443854c17248bad8ddc027feb2f /src/LivingVillage.Desktop.Tests | |
| parent | 326575888b9c8edf0ded1dcf1c01f5c78d3eca84 (diff) | |
| download | living-village-7f0c40dc89672d218f10ba3f81a0ee235da30969.tar.gz | |
feat(desktop): 村民五套服饰帽饰区分
人物图集扩至五套变体(1280x48):靛蓝袍配布巾、褐衫配发髻马甲、翠衫配发簪红巾、灰袍配瓜皮帽,主角专属斗笠独立第五套;村民按 id 取模四种服饰轮转,永不与主角同装,四向两帧动画保持。
Diffstat (limited to 'src/LivingVillage.Desktop.Tests')
| -rw-r--r-- | src/LivingVillage.Desktop.Tests/PrototypeTests.fs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/LivingVillage.Desktop.Tests/PrototypeTests.fs b/src/LivingVillage.Desktop.Tests/PrototypeTests.fs index 4d698ad..3e15272 100644 --- a/src/LivingVillage.Desktop.Tests/PrototypeTests.fs +++ b/src/LivingVillage.Desktop.Tests/PrototypeTests.fs @@ -223,6 +223,24 @@ type PrototypeTests () = Assert.AreEqual<AnimationFrame>(FrameOne, (VillageArt.animationFrame 8L)) [<TestMethod>] + member _.VillagersUseFourDistinctVariantsDistinctFromTheAvatar () = + let npcVariants = [ 0 .. 63 ] |> List.map (fun id -> npcVisualVariant (NpcId id)) |> Set.ofList + + Assert.AreEqual<int>(4, npcVariants.Count) + Assert.IsFalse(npcVariants.Contains StrawHat) + Assert.AreEqual<NpcVisualVariant>(StrawHat, (avatarSpriteSpec SouthFacing 0L).Variant) + + let variantXes = + npcVariants + |> Set.toList + |> List.map (fun variant -> + let rect = characterSourceRectangle { Variant = variant; Direction = SouthFacing; Frame = FrameOne } + rect.X) + |> Set.ofList + Assert.AreEqual<int>(4, variantXes.Count) + Assert.AreEqual<int>(1280, VillageArt.characterAtlasWidth) + + [<TestMethod>] member _.ChineseCopyProvidesFormalSceneTimeMenuAndStatusLabels () = let labels = [ sceneLabel VillageScene |
