Unity client features: - WebSocket connection via NativeWebSocket - 2.5D agent visuals with programmatic placeholder sprites - Billboard system for sprites and UI elements - Floating UI panels (name, HP, energy bars) - Speech bubble system with pop-in animation - RTS-style camera controller (WASD + scroll zoom) - Editor tools for prefab creation and scene setup Scripts: - NetworkManager: WebSocket singleton - GameManager: Agent spawning and event handling - AgentVisual: 2.5D sprite and UI creation - Billboard: Camera-facing behavior - SpeechBubble: Animated dialogue display - CameraController: RTS camera with UI input detection - UIManager: HUD and command input 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
157 lines
3.9 KiB
JSON
Executable File
157 lines
3.9 KiB
JSON
Executable File
{"frames": [
|
|
|
|
{
|
|
"filename": "1f60a.png",
|
|
"frame": {"x":0,"y":0,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f60b.png",
|
|
"frame": {"x":128,"y":0,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f60d.png",
|
|
"frame": {"x":256,"y":0,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f60e.png",
|
|
"frame": {"x":384,"y":0,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f600.png",
|
|
"frame": {"x":0,"y":128,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f601.png",
|
|
"frame": {"x":128,"y":128,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f602.png",
|
|
"frame": {"x":256,"y":128,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f603.png",
|
|
"frame": {"x":384,"y":128,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f604.png",
|
|
"frame": {"x":0,"y":256,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f605.png",
|
|
"frame": {"x":128,"y":256,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f606.png",
|
|
"frame": {"x":256,"y":256,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f609.png",
|
|
"frame": {"x":384,"y":256,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f618.png",
|
|
"frame": {"x":0,"y":384,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "1f923.png",
|
|
"frame": {"x":128,"y":384,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "263a.png",
|
|
"frame": {"x":256,"y":384,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
},
|
|
{
|
|
"filename": "2639.png",
|
|
"frame": {"x":384,"y":384,"w":128,"h":128},
|
|
"rotated": false,
|
|
"trimmed": false,
|
|
"spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
|
|
"sourceSize": {"w":128,"h":128},
|
|
"pivot": {"x":0.5,"y":0.5}
|
|
}],
|
|
"meta": {
|
|
"app": "http://www.codeandweb.com/texturepacker",
|
|
"version": "1.0",
|
|
"image": "EmojiOne.png",
|
|
"format": "RGBA8888",
|
|
"size": {"w":512,"h":512},
|
|
"scale": "1",
|
|
"smartupdate": "$TexturePacker:SmartUpdate:196a26a2e149d875b91ffc8fa3581e76:fc928c7e275404b7e0649307410475cb:424723c3774975ddb2053fd5c4b85f6e$"
|
|
}
|
|
}
|