commit 0b576aa3b52d31fc1a2761401e02d79c55f16e6c Author: gahusb Date: Sat Jun 6 00:59:07 2026 +0900 Initial commit: SlayMaple 로컬 워크스페이스 + Gitea 연동 - MSW 로컬 워크스페이스 데이터(Global/RootDesk/map/ui) 형상관리 시작 - Slay the Spire 풍 덱빌더 전투 프레임워크 초안 포함 - README.md: 협업(로컬 워크스페이스+git) 방식·구조·프레임워크 현황 문서화 - .gitignore: Authorization 토큰 포함된 .mcp.json/.codex 제외 Co-Authored-By: Claude Opus 4.8 (1M context) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..03c2057 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# === 민감정보 / 도구 설정 (커밋 금지) === +# MCP 서버 설정 — Authorization Bearer 토큰 포함 +.mcp.json +# Codex CLI 로컬 설정 — Authorization Bearer 토큰 포함 +.codex/ +# Claude Code 로컬 설정 +.claude/ + +# === OS / 에디터 잡파일 === +Thumbs.db +desktop.ini +.DS_Store +*~ +*.tmp +*.bak + +# === MSW Maker 캐시 / 임시 === +# (로컬 워크스페이스 데이터 본체 — Global/ RootDesk/ map/ ui/ — 는 형상관리 대상이므로 제외하지 않음) +McpScreenshots/ +*.log diff --git a/Global/ChaseMonster.model b/Global/ChaseMonster.model new file mode 100644 index 0000000..34d0a88 --- /dev/null +++ b/Global/ChaseMonster.model @@ -0,0 +1,153 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "model://chasemonster", + "ContentType": "x-mod/model", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.3.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Version": 1, + "Name": "ChaseMonster", + "BaseModelId": null, + "Id": "chasemonster", + "Components": [ + "MOD.Core.TransformComponent", + "MOD.Core.StateAnimationComponent", + "MOD.Core.SpriteRendererComponent", + "MOD.Core.RigidbodyComponent", + "MOD.Core.MovementComponent", + "MOD.Core.AIChaseComponent", + "MOD.Core.StateComponent", + "MOD.Core.HitComponent", + "MOD.Core.DamageSkinSpawnerComponent", + "script.Monster", + "script.MonsterAttack", + "MOD.Core.KinematicbodyComponent", + "MOD.Core.SideviewbodyComponent" + ], + "Properties": [ + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "speed", + "DisplayName": "speed", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.MovementComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "InputSpeed" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "jumpForce", + "DisplayName": "jumpForce", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.MovementComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "JumpForce" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODSyncDictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "actionSheet", + "DisplayName": "actionSheet", + "ShowInInspector": false, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.StateAnimationComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "ActionSheet" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "renderguid", + "DisplayName": "renderguid", + "ShowInInspector": false, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.SpriteRendererComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "SpriteRUID" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.RenderSettingType, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "renderSetting", + "DisplayName": "renderSetting", + "ShowInInspector": false, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.SpriteRendererComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "RenderSetting" + } + } + ], + "Values": [ + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "OrderInLayer", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 2 + }, + { + "TargetType": null, + "Name": "renderguid", + "ValueType": { + "$type": "MODNativeType", + "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": "null" + }, + { + "TargetType": "MOD.Core.HitComponent", + "Name": "CollisionGroup", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.Physics.CollisionGroup, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.Physics.CollisionGroup, MOD.Core", + "Id": "8992acd1e8cd45838db6f10a7b41df09" + } + } + ], + "EventLinks": [], + "Children": [] + } + } +} \ No newline at end of file diff --git a/Global/CollisionGroupSet.collisiongroupset b/Global/CollisionGroupSet.collisiongroupset new file mode 100644 index 0000000..a281d72 --- /dev/null +++ b/Global/CollisionGroupSet.collisiongroupset @@ -0,0 +1,82 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "collisiongroupset://unique", + "ContentType": "x-mod/collisiongroupset", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "", + "StudioVersion": "", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Groups": [ + { + "Id": "73017cc2ca884dfcb9fb98db7cc44848", + "Name": "Default" + }, + { + "Id": "MOD@TriggerBox", + "Name": "TriggerBox" + }, + { + "Id": "MOD@HitBox", + "Name": "HitBox" + }, + { + "Id": "MOD@Interaction", + "Name": "Interaction" + }, + { + "Id": "MOD@Portal", + "Name": "Portal" + }, + { + "Id": "MOD@Climbable", + "Name": "Climbable" + }, + { + "Id": "0639c22a20d34ec88be45b43fee3e333", + "Name": "Player" + }, + { + "Id": "8992acd1e8cd45838db6f10a7b41df09", + "Name": "Monster" + } + ], + "Matrix": { + "73017cc2ca884dfcb9fb98db7cc44848": [ + "73017cc2ca884dfcb9fb98db7cc44848", + "0639c22a20d34ec88be45b43fee3e333", + "8992acd1e8cd45838db6f10a7b41df09" + ], + "MOD@TriggerBox": [ + "MOD@TriggerBox" + ], + "MOD@HitBox": [ + "MOD@HitBox" + ], + "MOD@Interaction": [ + "MOD@Interaction" + ], + "MOD@Portal": [ + "MOD@Portal" + ], + "MOD@Climbable": [ + "MOD@Climbable" + ], + "0639c22a20d34ec88be45b43fee3e333": [ + "73017cc2ca884dfcb9fb98db7cc44848", + "8992acd1e8cd45838db6f10a7b41df09" + ], + "8992acd1e8cd45838db6f10a7b41df09": [ + "73017cc2ca884dfcb9fb98db7cc44848", + "0639c22a20d34ec88be45b43fee3e333" + ] + } + } + } +} \ No newline at end of file diff --git a/Global/CustomAvatarAction.avataraction b/Global/CustomAvatarAction.avataraction new file mode 100644 index 0000000..60555be --- /dev/null +++ b/Global/CustomAvatarAction.avataraction @@ -0,0 +1,19 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "avataraction://unique", + "ContentType": "x-mod/avataraction", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.3.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Data": {} + } + } +} \ No newline at end of file diff --git a/Global/CustomBodyAction.bodyaction b/Global/CustomBodyAction.bodyaction new file mode 100644 index 0000000..bb58eff --- /dev/null +++ b/Global/CustomBodyAction.bodyaction @@ -0,0 +1,19 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "bodyaction://unique", + "ContentType": "x-mod/bodyaction", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.3.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Data": {} + } + } +} \ No newline at end of file diff --git a/Global/CustomFontGroupSet.config b/Global/CustomFontGroupSet.config new file mode 100644 index 0000000..a734f62 --- /dev/null +++ b/Global/CustomFontGroupSet.config @@ -0,0 +1,21 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "config://customfont", + "ContentType": "x-mod/config", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.3.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Fonts": [], + "Groups": [], + "config_id": "config://customfont" + } + } +} \ No newline at end of file diff --git a/Global/DefaultPlayer.model b/Global/DefaultPlayer.model new file mode 100644 index 0000000..f12238e --- /dev/null +++ b/Global/DefaultPlayer.model @@ -0,0 +1,305 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "model://defaultplayer", + "ContentType": "x-mod/model", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Version": 1, + "Name": "DefaultPlayer", + "BaseModelId": "player", + "Id": "defaultplayer", + "Components": [ + "script.PlayerHit", + "script.PlayerAttack" + ], + "Properties": [], + "Values": [ + { + "TargetType": null, + "Name": "speed", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1.0 + }, + { + "TargetType": null, + "Name": "jumpForce", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1.0 + }, + { + "TargetType": null, + "Name": "walkAcceleration", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1.0 + }, + { + "TargetType": null, + "Name": "gravity", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1.0 + }, + { + "TargetType": null, + "Name": "cameraDeadZone", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.052, + "y": 0.08 + } + }, + { + "TargetType": null, + "Name": "cameraSoftZone", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.268, + "y": 0.7 + } + }, + { + "TargetType": null, + "Name": "cameraDamping", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 2.5, + "y": 3.9 + } + }, + { + "TargetType": null, + "Name": "cameraScreen", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.5, + "y": 0.655 + } + }, + { + "TargetType": null, + "Name": "cameraDutch", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 0.0 + }, + { + "TargetType": null, + "Name": "cameraOffset", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.0 + } + }, + { + "TargetType": null, + "Name": "nameTag", + "ValueType": { + "$type": "MODNativeType", + "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": "" + }, + { + "TargetType": null, + "Name": "damageSkinId", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODDataRef, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODDataRef, MOD.Core", + "DataId": "3271c3e79bf04ecba9a107d55495970d" + } + }, + { + "TargetType": null, + "Name": "damageDelayPerAttack", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 0.05 + }, + { + "TargetType": null, + "Name": "triggerBodyBoxSize", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.66, + "y": 0.7 + } + }, + { + "TargetType": null, + "Name": "triggerBodyBoxOffset", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.35 + } + }, + { + "TargetType": null, + "Name": "triggerBodyColliderOffset", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.35 + } + }, + { + "TargetType": null, + "Name": "maxHp", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1000 + }, + { + "TargetType": "MOD.Core.CameraComponent", + "Name": "ZoomRatioMax", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 500.0 + }, + { + "TargetType": "script.PlayerHit", + "Name": "CollisionGroup", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.Physics.CollisionGroup, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.Physics.CollisionGroup, MOD.Core", + "Id": "0639c22a20d34ec88be45b43fee3e333" + } + }, + { + "TargetType": "script.PlayerHit", + "Name": "BoxSize", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.45, + "y": 0.7 + } + }, + { + "TargetType": "script.PlayerHit", + "Name": "ColliderOffset", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.35 + } + }, + { + "TargetType": "MOD.Core.MovementComponent", + "Name": "JumpForce", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1.0 + }, + { + "TargetType": "MOD.Core.MovementComponent", + "Name": "InputSpeed", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1.0 + }, + { + "TargetType": "MOD.Core.PlayerComponent", + "Name": "MaxHp", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1000 + }, + { + "TargetType": "MOD.Core.DamageSkinSettingComponent", + "Name": "DamageSkinId", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODDataRef, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODDataRef, MOD.Core", + "DataId": "3271c3e79bf04ecba9a107d55495970d" + } + } + ], + "EventLinks": [], + "Children": [] + } + } +} \ No newline at end of file diff --git a/Global/MoveMonster.model b/Global/MoveMonster.model new file mode 100644 index 0000000..45d04b9 --- /dev/null +++ b/Global/MoveMonster.model @@ -0,0 +1,144 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "model://movemonster", + "ContentType": "x-mod/model", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.3.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Version": 1, + "Name": "MoveMonster", + "BaseModelId": null, + "Id": "movemonster", + "Components": [ + "MOD.Core.TransformComponent", + "MOD.Core.StateAnimationComponent", + "MOD.Core.SpriteRendererComponent", + "MOD.Core.RigidbodyComponent", + "MOD.Core.MovementComponent", + "MOD.Core.AIWanderComponent", + "MOD.Core.StateComponent", + "MOD.Core.HitComponent", + "MOD.Core.DamageSkinSpawnerComponent", + "script.Monster", + "script.MonsterAttack", + "MOD.Core.KinematicbodyComponent", + "MOD.Core.SideviewbodyComponent" + ], + "Properties": [ + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "speed", + "DisplayName": "speed", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.MovementComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "InputSpeed" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "jumpForce", + "DisplayName": "jumpForce", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.MovementComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "JumpForce" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODSyncDictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "actionSheet", + "DisplayName": "actionSheet", + "ShowInInspector": false, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.StateAnimationComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "ActionSheet" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "renderguid", + "DisplayName": "renderguid", + "ShowInInspector": false, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.SpriteRendererComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "SpriteRUID" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.RenderSettingType, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "renderSetting", + "DisplayName": "renderSetting", + "ShowInInspector": false, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.SpriteRendererComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "RenderSetting" + } + } + ], + "Values": [ + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "OrderInLayer", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 2 + }, + { + "TargetType": "MOD.Core.HitComponent", + "Name": "CollisionGroup", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.Physics.CollisionGroup, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.Physics.CollisionGroup, MOD.Core", + "Id": "8992acd1e8cd45838db6f10a7b41df09" + } + } + ], + "EventLinks": [], + "Children": [] + } + } +} \ No newline at end of file diff --git a/Global/Player.model b/Global/Player.model new file mode 100644 index 0000000..0720391 --- /dev/null +++ b/Global/Player.model @@ -0,0 +1,352 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "model://player", + "ContentType": "x-mod/model", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "", + "StudioVersion": "", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Version": 1, + "Name": "Player", + "BaseModelId": null, + "Id": "player", + "Components": [ + "MOD.Core.TransformComponent", + "MOD.Core.MovementComponent", + "MOD.Core.RigidbodyComponent", + "MOD.Core.KinematicbodyComponent", + "MOD.Core.StateComponent", + "MOD.Core.AvatarRendererComponent", + "MOD.Core.CostumeManagerComponent", + "MOD.Core.HitEffectSpawnerComponent", + "MOD.Core.DamageSkinSpawnerComponent", + "MOD.Core.CameraComponent", + "MOD.Core.PlayerControllerComponent", + "MOD.Core.PlayerComponent", + "MOD.Core.ChatBalloonComponent", + "MOD.Core.NameTagComponent", + "MOD.Core.DamageSkinSettingComponent", + "MOD.Core.TriggerComponent", + "MOD.Core.InventoryComponent", + "MOD.Core.AvatarStateAnimationComponent", + "MOD.Core.SideviewbodyComponent" + ], + "Properties": [ + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "speed", + "DisplayName": "speed", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.MovementComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "InputSpeed" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "jumpForce", + "DisplayName": "jumpForce", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.MovementComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "JumpForce" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "walkAcceleration", + "DisplayName": "walkAcceleration", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.RigidbodyComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "WalkAcceleration" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "gravity", + "DisplayName": "gravity", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.RigidbodyComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "Gravity" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "cameraDeadZone", + "DisplayName": "cameraDeadZone", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "DeadZone" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "cameraSoftZone", + "DisplayName": "cameraSoftZone", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "SoftZone" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "cameraDamping", + "DisplayName": "cameraDamping", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "Damping" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "cameraScreen", + "DisplayName": "cameraScreen", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "ScreenOffset" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "cameraDutch", + "DisplayName": "cameraDutch", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "DutchAngle" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "cameraOffset", + "DisplayName": "cameraOffset", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "CameraOffset" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "message", + "DisplayName": "message", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.ChatBalloonComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "Message" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "chatModeEnabled", + "DisplayName": "chatModeEnabled", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.ChatBalloonComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "ChatModeEnabled" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "nameTag", + "DisplayName": "nameTag", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.NameTagComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "Name" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODDataRef, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "damageSkinId", + "DisplayName": "damageSkinId", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.DamageSkinSettingComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "DamageSkinId" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "damageDelayPerAttack", + "DisplayName": "damageDelayPerAttack", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.DamageSkinSettingComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "DelayPerAttack" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "triggerBodyBoxSize", + "DisplayName": "triggerBodyBoxSize", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.TriggerComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "BoxSize" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "triggerBodyBoxOffset", + "DisplayName": "triggerBodyBoxOffset", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.TriggerComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "BoxOffset" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Name": "triggerBodyColliderOffset", + "DisplayName": "triggerBodyColliderOffset", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.TriggerComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "ColliderOffset" + } + }, + { + "Type": { + "$type": "MODNativeType", + "type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Name": "maxHp", + "DisplayName": "maxHp", + "ShowInInspector": true, + "Link": { + "Target": { + "$type": "MODNativeType", + "type": "MOD.Core.PlayerComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Property": "MaxHp" + } + } + ], + "Values": [], + "EventLinks": [], + "Children": [] + } + } +} \ No newline at end of file diff --git a/Global/SectorConfig.config b/Global/SectorConfig.config new file mode 100644 index 0000000..8cf52ac --- /dev/null +++ b/Global/SectorConfig.config @@ -0,0 +1,30 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "config://sectors", + "ContentType": "x-mod/config", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "1.21.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Sectors": [ + { + "id": "sector01", + "name": "sector01", + "maxUserNo": 16, + "entries": [ + "map://map01" + ] + } + ], + "AllowOverMaxEntryCountPerSector": false, + "config_id": "config://sectors" + } + } +} \ No newline at end of file diff --git a/Global/WorldConfig.config b/Global/WorldConfig.config new file mode 100644 index 0000000..7db8f76 --- /dev/null +++ b/Global/WorldConfig.config @@ -0,0 +1,28 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "config://world", + "ContentType": "x-mod/config", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "LegacyAnimationSupport": false, + "PlayerEntityAuthorityCheck": false, + "ServiceAuthorityCheck": false, + "RestrictedPlayerEntitySync": false, + "SourceLanguage": "ko", + "UseExtendedScriptFormat": false, + "UseLitDefaultMaterial": false, + "worldCoreVersion": "26.5.0.0", + "worldStudioVersion": "0.1.0.0", + "useService": 0 + } + } +} \ No newline at end of file diff --git a/Global/common.gamelogic b/Global/common.gamelogic new file mode 100644 index 0000000..77c5b59 --- /dev/null +++ b/Global/common.gamelogic @@ -0,0 +1,37 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "gamelogic://77c34f19becf4fe8ab62762e5cb95357", + "ContentType": "x-mod/gamelogic", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Binary", + "Entities": [ + { + "id": "b447311c-6f03-4ba1-aad0-8f0fe58df5c1", + "path": "/common", + "componentNames": "", + "jsonString": { + "name": "common", + "path": "/common", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 0, + "pathConstraints": "/", + "revision": 1, + "modelId": null, + "@components": [], + "@version": 1 + } + } + ] + } +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c97cc65 --- /dev/null +++ b/README.md @@ -0,0 +1,120 @@ +# SlayMaple + +[MapleStory Worlds(MSW)](https://maplestoryworlds.nexon.com/) 기반으로 제작하는 **Slay the Spire 풍 덱빌더 로그라이크** 월드. +턴제 카드 전투, 덱 구성, 보상 선택, 맵 노드 진행을 메이플 월드 위에서 구현하는 것을 목표로 합니다. + +> 이 저장소는 MSW **로컬 워크스페이스(Local Workspace)** 데이터를 git으로 형상관리하기 위한 것입니다. +> 공동작업자는 이 저장소를 통해 월드 데이터를 주고받습니다. (클라우드 공동제작 모드 미사용) + +--- + +## 협업 방식 (중요) + +MSW에는 두 가지 공동작업 모드가 있고, 이 프로젝트는 **로컬 워크스페이스 + git** 방식을 사용합니다. + +| | 클라우드 공동제작 | **로컬 워크스페이스 + git (이 프로젝트)** | +|---|---|---| +| 데이터 위치 | 넥슨 클라우드 단일 월드 | 각자 PC 로컬 + git 원격 | +| 공유 단위 | Check In / Check Out | `git commit` / `push` / `pull` | +| 충돌 처리 | 엔티티 잠금 | git merge | + +> ⚠️ 로컬 워크스페이스를 켜면 메이커 내 실시간 동기화(클라우드 공동제작)는 비활성화됩니다. +> 따라서 **변경 공유는 전적으로 git을 통해** 이루어집니다. + +### 내 작업을 공유하기 +```bash +git add . +git commit -m "작업 내용" +git push +``` + +### 공동작업자 작업 받아오기 +```bash +git pull +``` +받아온 뒤, 메이커에서 **로컬 워크스페이스를 다시 로드(reload)** 해야 새 codeblock/모델 파일이 에디터 상태로 반영됩니다. + +> 💡 같은 파일을 동시에 수정하면 git 충돌이 날 수 있으니, **서로 다른 맵/codeblock/UI를 나눠서** 작업하는 것을 권장합니다. + +--- + +## 디렉토리 구조 + +``` +slaymaple/ +├── Global/ # 월드 전역 설정 · 공용 모델 · 게임로직 +│ ├── common.gamelogic # SlayCardCatalog / SlayRunState / SlayCombatManager 부착 지점 +│ ├── Player.model # 플레이어 모델 +│ ├── *.model # 몬스터 등 공용 모델 +│ ├── WorldConfig.config # 월드 설정 +│ └── ... +├── RootDesk/ +│ └── MyDesk/ # 작업용 책상 — codeblock(스크립트)·모델·타일셋 +│ ├── Monster.codeblock +│ ├── MonsterAttack.codeblock +│ ├── PlayerAttack.codeblock +│ ├── PlayerHit.codeblock +│ ├── UIPopup.codeblock +│ ├── UIToast.codeblock +│ └── RectTileData_Henesys.tileset +├── map/ +│ └── map01.map # 메인 맵 +├── ui/ # UI 그룹 (Default / Popup / Toast) +├── docs/ +│ └── slaymaple_basic_framework.md # 전투 프레임워크 설계 문서 +└── README.md +``` + +> `.mcp.json`, `.codex/` 는 **Authorization 토큰이 포함**되어 있어 git에서 제외됩니다(`.gitignore`). 각자 로컬에서 직접 구성하세요. + +--- + +## 게임 프레임워크 현황 + +`Global/common.gamelogic`의 `/common` 엔티티에 부착된 세 컴포넌트가 전투의 핵심입니다. + +| 컴포넌트 | 역할 | +|---|---| +| `SlayCardCatalog` | 카드 데이터, 시작 덱 구성, 보상 풀, 카드 복제 정의 | +| `SlayRunState` | HP·골드·층수·덱·유물·카드 보상 등 런(run) 영속 데이터 관리 | +| `SlayCombatManager` | 턴 진행, 드로우/버림/소멸 더미, 에너지, 적 의도, 방어도, 데미지, 승패 처리 | + +### 프로토타입 흐름 +1. `SlayRunState`가 HP 80 · 10장 시작 덱으로 새 런 시작 +2. `SlayCombatManager`가 데모 전투 자동 시작 +3. 매 플레이어 턴: 에너지 3 회복, 방어도 초기화, 적 의도 갱신, 5장 드로우 +4. 카드 사용 시 에너지 소모 → 데미지/방어/드로우/에너지/상태이상 적용 → 버림 또는 소멸 +5. 턴 종료 시 손패 버림, 적 의도 실행, 상태이상 처리, 다음 턴 시작 +6. 전투 승리 시 잔여 HP 저장, 골드 15 지급, 카드 보상 3종 생성 + +### 유용한 스크립트 호출 +`/common` 엔티티에 붙은 스크립트에서: +```lua +self.Entity.SlayCombatManager:PlayCard(1, 1) +self.Entity.SlayCombatManager:EndPlayerTurn() +self.Entity.SlayCombatManager:DebugPlayFirstPlayable() +self.Entity.SlayRunState:PickReward(1) +self.Entity.SlayCombatManager:StartCombat("elite") +``` + +상세 설계는 [`docs/slaymaple_basic_framework.md`](docs/slaymaple_basic_framework.md) 참조. + +--- + +## 다음 구현 단계 +- [ ] HP·방어도·에너지·적 의도·손패 5버튼을 렌더링하는 전투 UI +- [ ] 전투/엘리트/상점/휴식/이벤트/보스 노드를 가진 맵 노드 UI +- [ ] `OnCombatStart` / `OnCardPlayed` / `OnTurnStart` / `OnCombatReward` 훅을 가진 유물 시스템 +- [ ] 적 행동 패턴을 데이터로 정의 (현재 단순 의도 패턴 → 무브셋) +- [ ] 런 루프 완성 후 저장/불러오기 + +--- + +## 신규 참여자 셋업 +1. 저장소 클론 + ```bash + git clone https://gitea.gahusb.synology.me/gahusb/maplecontest.git slaymaple + ``` +2. MSW Maker에서 이 폴더를 **로컬 워크스페이스 경로**로 지정해 월드 열기 +3. `.mcp.json` / `.codex/` 는 git에 없으므로, 본인 토큰으로 직접 생성 (MCP·Codex 사용 시) +4. 작업 전 항상 `git pull`, 작업 후 `git add/commit/push` diff --git a/RootDesk/MyDesk.directory b/RootDesk/MyDesk.directory new file mode 100644 index 0000000..c6d1b77 --- /dev/null +++ b/RootDesk/MyDesk.directory @@ -0,0 +1,23 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "directory://076456cd4f7d4cb195f981e977106e5a", + "ContentType": "x-mod/directory", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "entry_id": "directory://076456cd4f7d4cb195f981e977106e5a", + "name": "MyDesk", + "lock": false, + "folding": false, + "nameEditable": false + } + } +} \ No newline at end of file diff --git a/RootDesk/MyDesk/Model_monster-43.model b/RootDesk/MyDesk/Model_monster-43.model new file mode 100644 index 0000000..ef0465c --- /dev/null +++ b/RootDesk/MyDesk/Model_monster-43.model @@ -0,0 +1,463 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "model://05cf4e2a-3f39-445d-a2ce-58b50e538a40", + "ContentType": "x-mod/model", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "Version": 1, + "Name": "Model_monster-43", + "BaseModelId": null, + "Id": "05cf4e2a-3f39-445d-a2ce-58b50e538a40", + "Components": [ + "MOD.Core.TransformComponent", + "MOD.Core.StateAnimationComponent", + "MOD.Core.SpriteRendererComponent", + "MOD.Core.RigidbodyComponent", + "MOD.Core.MovementComponent", + "MOD.Core.AIWanderComponent", + "MOD.Core.StateComponent", + "MOD.Core.HitComponent", + "MOD.Core.DamageSkinSpawnerComponent", + "script.Monster", + "script.MonsterAttack", + "MOD.Core.KinematicbodyComponent", + "MOD.Core.SideviewbodyComponent" + ], + "Properties": [], + "Values": [ + { + "TargetType": "MOD.Core.TransformComponent", + "Name": "Position", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector3, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector3, MOD.Core", + "x": -1.84943926, + "y": 1.27528822, + "z": 999.999 + } + }, + { + "TargetType": "MOD.Core.TransformComponent", + "Name": "QuaternionRotation", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODQuaternion, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODQuaternion, MOD.Core", + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + } + }, + { + "TargetType": "MOD.Core.TransformComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.StateAnimationComponent", + "Name": "ActionSheet", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODSyncDictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODSyncDictionary`2[[System.String, mscorlib],[System.String, mscorlib]], MOD.Core", + "stand": "3eb72eab0a394c78b13e88c8dc4a5ed0", + "move": "c96c11f9a3f845a4b6a27d9ca10ab103", + "hit": "4b67b539c09d4ce183ae6a73f908511f", + "die": "7681817f225a4245a27943da77d5f5b1", + "skill": "75c873675b6d45c38f24c8d7b98b4800", + "attack": "9db703c9da694490965897db7f2d4d92", + "skill2": "beabf049b5e34c25907ae69d2c1f835e", + "skill3": "e84c350104ca436b93db6c502faf53b3", + "skill4": "a5fb992ff4c04431a171bdd2fbfb372c", + "skillAfter4": "53de30457ceb44eca4ef2a81396e6adb", + "attack2": "52c1da942bec459b9d46c81c03233c0c" + } + }, + { + "TargetType": "MOD.Core.StateAnimationComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "ActionSheet", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": { + "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.String, mscorlib]], mscorlib" + } + }, + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "EndFrameIndex", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 0 + }, + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "OrderInLayer", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 2 + }, + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "RenderSetting", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.RenderSettingType, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": 1 + }, + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "SortingLayer", + "ValueType": { + "$type": "MODNativeType", + "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": "MapLayer0" + }, + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "SpriteRUID", + "ValueType": { + "$type": "MODNativeType", + "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": "c96c11f9a3f845a4b6a27d9ca10ab103" + }, + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "StartFrameIndex", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 0 + }, + { + "TargetType": "MOD.Core.SpriteRendererComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.RigidbodyComponent", + "Name": "MoveVelocity", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.0 + } + }, + { + "TargetType": "MOD.Core.RigidbodyComponent", + "Name": "RealMoveVelocity", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.0 + } + }, + { + "TargetType": "MOD.Core.RigidbodyComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.MovementComponent", + "Name": "InputSpeed", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 1.0 + }, + { + "TargetType": "MOD.Core.MovementComponent", + "Name": "JumpForce", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": 0.0 + }, + { + "TargetType": "MOD.Core.MovementComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.AIWanderComponent", + "Name": "IsLegacy", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": false + }, + { + "TargetType": "MOD.Core.AIWanderComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.StateComponent", + "Name": "IsLegacy", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": false + }, + { + "TargetType": "MOD.Core.StateComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.HitComponent", + "Name": "BoxSize", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.87, + "y": 1.04 + } + }, + { + "TargetType": "MOD.Core.HitComponent", + "Name": "ColliderOffset", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0150000155, + "y": 0.669999957 + } + }, + { + "TargetType": "MOD.Core.HitComponent", + "Name": "CollisionGroup", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.Physics.CollisionGroup, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.Physics.CollisionGroup, MOD.Core", + "Id": "8992acd1e8cd45838db6f10a7b41df09" + } + }, + { + "TargetType": "MOD.Core.HitComponent", + "Name": "IsLegacy", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": false + }, + { + "TargetType": "MOD.Core.HitComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.DamageSkinSpawnerComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "script.Monster", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "script.Monster", + "Name": "IsDead", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": false + }, + { + "TargetType": "script.MonsterAttack", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "script.MonsterAttack", + "Name": "SpriteSize", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.0 + } + }, + { + "TargetType": "script.MonsterAttack", + "Name": "PositionOffset", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.0 + } + }, + { + "TargetType": "MOD.Core.KinematicbodyComponent", + "Name": "MoveVelocity", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.0 + } + }, + { + "TargetType": "MOD.Core.KinematicbodyComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.SideviewbodyComponent", + "Name": "MoveVelocity", + "ValueType": { + "$type": "MODNativeType", + "type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null" + }, + "Value": { + "$type": "MOD.Core.MODVector2, MOD.Core", + "x": 0.0, + "y": 0.0 + } + }, + { + "TargetType": "MOD.Core.SideviewbodyComponent", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.MODEntity", + "Name": "Enable", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + }, + { + "TargetType": "MOD.Core.MODEntity", + "Name": "Visible", + "ValueType": { + "$type": "MODNativeType", + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" + }, + "Value": true + } + ], + "EventLinks": [], + "Children": [] + } + } +} \ No newline at end of file diff --git a/RootDesk/MyDesk/Monster.codeblock b/RootDesk/MyDesk/Monster.codeblock new file mode 100644 index 0000000..2defe81 --- /dev/null +++ b/RootDesk/MyDesk/Monster.codeblock @@ -0,0 +1,146 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "codeblock://monster", + "ContentType": "x-mod/codeblock", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "CoreVersion": { + "Major": 0, + "Minor": 2 + }, + "ScriptVersion": { + "Major": 1, + "Minor": 3 + }, + "Description": "", + "Id": "Monster", + "Language": 1, + "Name": "Monster", + "Type": 1, + "Source": 1, + "Target": null, + "Properties": [ + { + "Type": "number", + "DefaultValue": "100", + "SyncDirection": 3, + "Attributes": [], + "Name": "MaxHp" + }, + { + "Type": "number", + "DefaultValue": "0", + "SyncDirection": 3, + "Attributes": [], + "Name": "Hp" + }, + { + "Type": "boolean", + "DefaultValue": "false", + "SyncDirection": 3, + "Attributes": [], + "Name": "RespawnOn" + }, + { + "Type": "boolean", + "DefaultValue": "false", + "SyncDirection": 3, + "Attributes": [ + { + "$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core" + } + ], + "Name": "IsDead" + }, + { + "Type": "number", + "DefaultValue": "5", + "SyncDirection": 3, + "Attributes": [], + "Name": "RespawnDelay" + }, + { + "Type": "number", + "DefaultValue": "0.6", + "SyncDirection": 3, + "Attributes": [], + "Name": "DestroyDelay" + }, + { + "Type": "string", + "DefaultValue": "\"02c22d93421b4038b3c413b3e40b57ec\"", + "SyncDirection": 0, + "Attributes": [], + "Name": "DamageSkinRUID" + } + ], + "Methods": [ + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "-- Initialize HP and apply the project-wide attacker damage skin for any\n-- monster that has a DamageSkinSettingComponent. DamageSkinId is a\n-- DataRef, not a string — must wrap with DataRef(...).\nself.Hp = self.MaxHp\n\nlocal skinSetting = self.Entity.DamageSkinSettingComponent\nif isvalid(skinSetting) then\n\tskinSetting.DamageSkinId = DataRef(self.DamageSkinRUID)\nend", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "OnBeginPlay" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "self.IsDead = true\nlocal stateComponent = self.Entity.StateComponent\nif stateComponent then\n\tstateComponent:ChangeState(\"DEAD\")\n\tlog(\"monster change state to DEAD\")\nend\n\nlocal delayHide = function()\n\tself.Entity:SetVisible(false)\n\tself.Entity:SetEnable(false)\n\n\tif self.RespawnOn == false then\n\t\tself.Entity:Destroy()\n\tend\nend\n\n_TimerService:SetTimerOnce(delayHide, self.DestroyDelay)", + "Scope": 2, + "ExecSpace": 1, + "Attributes": [], + "Name": "Dead" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "log(\"Respawn\")\nself.IsDead = false\nself.Entity:SetVisible(true)\nself.Entity:SetEnable(true)\n\nself.Hp = self.MaxHp\nlocal stateComponent = self.Entity.StateComponent\nif stateComponent then\n\tstateComponent:ChangeState(\"IDLE\")\nend", + "Scope": 2, + "ExecSpace": 1, + "Attributes": [], + "Name": "Respawn" + } + ], + "EntityEventHandlers": [ + { + "Name": "HandleHitEvent", + "EventName": "HitEvent", + "ParameterName": "event", + "Target": "self", + "Code": "-- Parameters\n-- local AttackCenter = event.AttackCenter\n-- local AttackerEntity = event.AttackerEntity\n-- local Damages = event.Damages\n-- local Extra = event.Extra\n-- local IsCritical = event.IsCritical\nlocal TotalDamage = event.TotalDamage\n--------------------------------------------------------\n\nlocal originalHp = self.Hp\nself.Hp = self.Hp - TotalDamage\n\nif self.Hp > 0 or originalHp <= 0 then\n\treturn\nend\n\nself:Dead()\nlocal timerFunc = function() self:Respawn() end\n\nif self.RespawnOn then\n\t_TimerService:SetTimerOnce(timerFunc, self.RespawnDelay)\nend", + "Scope": 1, + "ExecSpace": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/RootDesk/MyDesk/MonsterAttack.codeblock b/RootDesk/MyDesk/MonsterAttack.codeblock new file mode 100644 index 0000000..8d52193 --- /dev/null +++ b/RootDesk/MyDesk/MonsterAttack.codeblock @@ -0,0 +1,143 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "codeblock://monsterattack", + "ContentType": "x-mod/codeblock", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "CoreVersion": { + "Major": 0, + "Minor": 2 + }, + "ScriptVersion": { + "Major": 1, + "Minor": 5 + }, + "Description": "", + "Id": "MonsterAttack", + "Language": 1, + "Name": "MonsterAttack", + "Type": 4, + "Source": 1, + "Target": "MOD.Core.AttackComponent", + "Properties": [ + { + "Type": "number", + "DefaultValue": "0.03", + "SyncDirection": 0, + "Attributes": [ + { + "$type": "MOD.Core.Script.MinValueScriptAttribute, MOD.Core", + "Value": 0.0 + } + ], + "Name": "AttackInterval" + }, + { + "Type": "any", + "DefaultValue": "nil", + "SyncDirection": 0, + "Attributes": [ + { + "$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core" + } + ], + "Name": "Shape" + }, + { + "Type": "Vector2", + "DefaultValue": "Vector2(0,0)", + "SyncDirection": 0, + "Attributes": [ + { + "$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core" + } + ], + "Name": "SpriteSize" + }, + { + "Type": "Vector2", + "DefaultValue": "Vector2(0,0)", + "SyncDirection": 0, + "Attributes": [ + { + "$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core" + } + ], + "Name": "PositionOffset" + } + ], + "Methods": [ + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "local monster = self.Entity.Monster\nif not monster then\n\treturn\nend\n\nself.Shape = BoxShape(Vector2.zero, Vector2.one, 0)\n\n-- sprite 사이즈를 가져와 공격 영역으로 사용한다\n_ResourceService:PreloadAsync({self.Entity.SpriteRendererComponent.SpriteRUID}, function()\n\tlocal clip = _ResourceService:LoadAnimationClipAndWait(self.Entity.SpriteRendererComponent.SpriteRUID)\n\tlocal firstFrameSprite = clip.Frames[1].FrameSprite\n\tlocal firstSpriteSizeInPixel = Vector2(firstFrameSprite.Width, firstFrameSprite.Height)\n\tlocal ppu = firstFrameSprite.PixelPerUnit\n\n\tself.SpriteSize = firstSpriteSizeInPixel / ppu\n\tself.PositionOffset = (firstSpriteSizeInPixel / 2 - firstFrameSprite.PivotPixel:ToVector2()) / ppu\n\t\n\t_TimerService:SetTimerRepeat(function() \n\t\tif monster.IsDead == false then\n\t\t\tself:AttackNear()\n\t\tend\n\tend, self.AttackInterval)\nend)", + "Scope": 2, + "ExecSpace": 1, + "Attributes": [], + "Name": "OnBeginPlay" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "local transformComponent = self.Entity.TransformComponent\n\nif isvalid(transformComponent) then\n\tlocal worldPosition = transformComponent.WorldPosition\n\tlocal scaleX = transformComponent.Scale.x\n\tlocal scaleY = transformComponent.Scale.y\n\tlocal radian = math.rad(transformComponent.ZRotation)\n\tlocal offsetX = math.cos(radian) * self.PositionOffset.x * scaleX - math.sin(radian) * self.PositionOffset.y * scaleY\n\tlocal offsetY = math.sin(radian) * self.PositionOffset.x * scaleX + math.cos(radian) * self.PositionOffset.y * scaleY\n\tself.Shape.Size = Vector2(self.SpriteSize.x * math.abs(scaleX), self.SpriteSize.y * math.abs(scaleY))\n\tself.Shape.Position = Vector2(worldPosition.x + offsetX, worldPosition.y + offsetY)\n\tself.Shape.Angle = transformComponent.ZRotation\nend\n\nself:AttackFast(self.Shape, nil, CollisionGroups.Player)", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "AttackNear" + }, + { + "Return": { + "Type": "boolean", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "Entity", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "defender" + }, + { + "Type": "string", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "attackInfo" + } + ], + "Code": "if isvalid(defender.PlayerComponent) == false then\n\treturn false\nend\n\nreturn __base:IsAttackTarget(defender, attackInfo)", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "IsAttackTarget" + } + ], + "EntityEventHandlers": [] + } + } +} \ No newline at end of file diff --git a/RootDesk/MyDesk/PlayerAttack.codeblock b/RootDesk/MyDesk/PlayerAttack.codeblock new file mode 100644 index 0000000..cb0cc3a --- /dev/null +++ b/RootDesk/MyDesk/PlayerAttack.codeblock @@ -0,0 +1,178 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "codeblock://playerattack", + "ContentType": "x-mod/codeblock", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "CoreVersion": { + "Major": 0, + "Minor": 2 + }, + "ScriptVersion": { + "Major": 1, + "Minor": 4 + }, + "Description": "", + "Id": "PlayerAttack", + "Language": 1, + "Name": "PlayerAttack", + "Type": 4, + "Source": 1, + "Target": "MOD.Core.AttackComponent", + "Properties": [ + { + "Type": "any", + "DefaultValue": "nil", + "SyncDirection": 0, + "Attributes": [ + { + "$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core" + } + ], + "Name": "Shape" + } + ], + "Methods": [ + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "self.Shape = BoxShape(Vector2.zero, Vector2.one, 0)", + "Scope": 2, + "ExecSpace": 1, + "Attributes": [], + "Name": "OnBeginPlay" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "local playerController = self.Entity.PlayerControllerComponent\nlocal transform = self.Entity.TransformComponent\nif playerController and transform then\n\tlocal worldPosition = transform.WorldPosition\n\tlocal attackOffset = Vector2(worldPosition.x + 0.5 * playerController.LookDirectionX, worldPosition.y + 0.5)\n\tself.Shape.Position = attackOffset\n\n\tself:AttackFast(self.Shape, nil, CollisionGroups.Monster)\nend", + "Scope": 2, + "ExecSpace": 1, + "Attributes": [], + "Name": "AttackNormal" + }, + { + "Return": { + "Type": "int", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "Entity", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "attacker" + }, + { + "Type": "Entity", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "defender" + }, + { + "Type": "string", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "attackInfo" + } + ], + "Code": "return 50", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "CalcDamage" + }, + { + "Return": { + "Type": "boolean", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "Entity", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "attacker" + }, + { + "Type": "Entity", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "defender" + }, + { + "Type": "string", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "attackInfo" + } + ], + "Code": "return _UtilLogic:RandomDouble() < 0.3", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "CalcCritical" + }, + { + "Return": { + "Type": "number", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "return 2", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "GetCriticalDamageRate" + } + ], + "EntityEventHandlers": [ + { + "Name": "HandlePlayerActionEvent", + "EventName": "PlayerActionEvent", + "ParameterName": "event", + "Target": "self", + "Code": "-- Parameters\nlocal ActionName = event.ActionName\n-- local PlayerEntity = event.PlayerEntity\n--------------------------------------------------------\n\nif ActionName == \"Attack\" then\n\tself:AttackNormal()\nend", + "Scope": 1, + "ExecSpace": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/RootDesk/MyDesk/PlayerHit.codeblock b/RootDesk/MyDesk/PlayerHit.codeblock new file mode 100644 index 0000000..7e5e64b --- /dev/null +++ b/RootDesk/MyDesk/PlayerHit.codeblock @@ -0,0 +1,84 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "codeblock://playerhit", + "ContentType": "x-mod/codeblock", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "CoreVersion": { + "Major": 0, + "Minor": 2 + }, + "ScriptVersion": { + "Major": 1, + "Minor": 3 + }, + "Description": "", + "Id": "PlayerHit", + "Language": 1, + "Name": "PlayerHit", + "Type": 4, + "Source": 1, + "Target": "MOD.Core.HitComponent", + "Properties": [ + { + "Type": "number", + "DefaultValue": "1", + "SyncDirection": 0, + "Attributes": [ + { + "$type": "MOD.Core.Script.MinValueScriptAttribute, MOD.Core", + "Value": 0.0 + } + ], + "Name": "ImmuneCooldown" + }, + { + "Type": "number", + "DefaultValue": "0", + "SyncDirection": 0, + "Attributes": [ + { + "$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core" + } + ], + "Name": "LastHitTime" + } + ], + "Methods": [ + { + "Return": { + "Type": "boolean", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "string", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "attackInfo" + } + ], + "Code": "local currentTime = _UtilLogic.ElapsedSeconds\nif self.LastHitTime + self.ImmuneCooldown < currentTime then\n\tself.LastHitTime = _UtilLogic.ElapsedSeconds\n\treturn true\nend\n\nreturn false", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "IsHitTarget" + } + ], + "EntityEventHandlers": [] + } + } +} \ No newline at end of file diff --git a/RootDesk/MyDesk/RectTileData_Henesys.tileset b/RootDesk/MyDesk/RectTileData_Henesys.tileset new file mode 100644 index 0000000..d41f509 --- /dev/null +++ b/RootDesk/MyDesk/RectTileData_Henesys.tileset @@ -0,0 +1,692 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "tileset://a5aaa9bc-0684-4c21-b803-73fbcbf0ac74", + "ContentType": "x-mod/tileset", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.3.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "name": "RectTileData_Henesys", + "id": "tileset://a5aaa9bc-0684-4c21-b803-73fbcbf0ac74", + "datas": [ + { + "Id": "d67392ab6cf7437c93b7d1f1a54fdb6a", + "Name": "Henesys_soil_1", + "IsCollidable": false + }, + { + "Id": "397d85d69c7f4a0cb3c09b9fd39a05bf", + "Name": "Henesys_soil_2", + "IsCollidable": false + }, + { + "Id": "ac158cd67e8140d2a9ca6f2ba1c73da4", + "Name": "Henesys_soil_3", + "IsCollidable": false + }, + { + "Id": "d8814332224a4155b095e60701dbfda7", + "Name": "Henesys_soil_4", + "IsCollidable": false + }, + { + "Id": "695a5695ad71431cb6673938ee2ee870", + "Name": "Henesys_soil_5", + "IsCollidable": false + }, + { + "Id": "1328fa4893434204a2a6cd1f9dab2b0e", + "Name": "Henesys_soil_6", + "IsCollidable": false + }, + { + "Id": "fd605099419f4da1be3d6dfe8d254b98", + "Name": "Henesys_soil_7", + "IsCollidable": false + }, + { + "Id": "d9c5d1df785d481e9ced76adff386d32", + "Name": "Henesys_soil_8", + "IsCollidable": false + }, + { + "Id": "b04751d8569444898746a1977c39076f", + "Name": "Henesys_soil_9", + "IsCollidable": false + }, + { + "Id": "f90a00eb5c4d456883d61c633fe67c5d", + "Name": "Henesys_soil_10", + "IsCollidable": false + }, + { + "Id": "825522e2f66749fcad4d0d1a378285d5", + "Name": "Henesys_soil_11", + "IsCollidable": false + }, + { + "Id": "6d0c903f5b444b57aa7a57e473e14018", + "Name": "Henesys_soil_12", + "IsCollidable": false + }, + { + "Id": "1a33e1feab384ff99c69476aa1d9219f", + "Name": "Henesys_soil_13", + "IsCollidable": false + }, + { + "Id": "057d3a5bc3f94e4a939308e22f89f226", + "Name": "Henesys_soil_14", + "IsCollidable": false + }, + { + "Id": "1fe6d8b179a848a186e47de81fc0b685", + "Name": "Henesys_soil_15", + "IsCollidable": false + }, + { + "Id": "3ffac5d9ea1242b4a75683df6dbffb23", + "Name": "Henesys_soil_16", + "IsCollidable": false + }, + { + "Id": "f1fc624c54cc476dbd249405f44004de", + "Name": "Henesys_soil_17", + "IsCollidable": false + }, + { + "Id": "ce4357935e0e4d46ae820fd4fb921d69", + "Name": "Henesys_soil_18", + "IsCollidable": false + }, + { + "Id": "ecaf6b3846f44a9587c0af28a67feede", + "Name": "Henesys_soil_19", + "IsCollidable": false + }, + { + "Id": "4c4d3fc337df49e6b041736b6bbea9ba", + "Name": "Henesys_soil_20", + "IsCollidable": false + }, + { + "Id": "2b98be9afe7545ee92018348e0d4d667", + "Name": "Henesys_soil_21", + "IsCollidable": false + }, + { + "Id": "b521b91e5a0d4a64afd745a3c5514a09", + "Name": "Henesys_soil_22", + "IsCollidable": false + }, + { + "Id": "9b34b3c09a814b4f93d5616e50187025", + "Name": "Henesys_soil_23", + "IsCollidable": false + }, + { + "Id": "7d43a504cea746c9aa23b5cc77dd22f1", + "Name": "Henesys_soil_24", + "IsCollidable": false + }, + { + "Id": "ecfcdf8ee5394768bb03ba2fa1f758cb", + "Name": "Henesys_soil_25", + "IsCollidable": false + }, + { + "Id": "98dbcb84914e4ad7bdc1a34fe311f628", + "Name": "Henesys_soil_26", + "IsCollidable": false + }, + { + "Id": "26bab6e7bf5d4581b809b8cbe71fc1be", + "Name": "Henesys_soil_27", + "IsCollidable": false + }, + { + "Id": "240336208f444197aa29d5f567ae7648", + "Name": "Henesys_soil_28", + "IsCollidable": false + }, + { + "Id": "8bd3070b58674837bf68784431eb9042", + "Name": "Henesys_soil_29", + "IsCollidable": false + }, + { + "Id": "67bd3f2de35a43ae8945e5ed3c74b178", + "Name": "Henesys_soil_30", + "IsCollidable": false + }, + { + "Id": "e154900d858a47428da260e5fb49322b", + "Name": "Henesys_soil_31", + "IsCollidable": false + }, + { + "Id": "f00c145aa9d64f57a698f3c8e56d3ee1", + "Name": "Henesys_soil_32", + "IsCollidable": false + }, + { + "Id": "0906a58d447e4c68bb60cf49610c41e3", + "Name": "Henesys_soil_33", + "IsCollidable": false + }, + { + "Id": "e5e2a701b97442bc886555570e78511c", + "Name": "Henesys_soil_34", + "IsCollidable": false + }, + { + "Id": "145900d0c14a4bd083b214780e966467", + "Name": "Henesys_soil_35", + "IsCollidable": false + }, + { + "Id": "9b90454f870d47a5978ac3ae67a96cfe", + "Name": "Henesys_soil_36", + "IsCollidable": false + }, + { + "Id": "328a9c0987b244028eb903bdc99b1e56", + "Name": "Henesys_soil_37", + "IsCollidable": false + }, + { + "Id": "8069ab53ebf24c70b8258f28db47ffcc", + "Name": "Henesys_soil_38", + "IsCollidable": false + }, + { + "Id": "96b3a2d3662a45cc89feb7f0dc768dd5", + "Name": "Henesys_soil_39", + "IsCollidable": false + }, + { + "Id": "ab598a6bc4454c57ac1ec4ad9123ccc9", + "Name": "Henesys_soil_40", + "IsCollidable": false + }, + { + "Id": "dd900083da714f3b84c080713f7d158f", + "Name": "Henesys_soil_41", + "IsCollidable": false + }, + { + "Id": "d04b9a0738e149f391e4be890baa9ea6", + "Name": "Henesys_soil_42", + "IsCollidable": false + }, + { + "Id": "dbe19318a17d450b9998dc8f44be265c", + "Name": "Henesys_soil_43", + "IsCollidable": false + }, + { + "Id": "8cb7a0d4ce704e349205dd7964c26426", + "Name": "Henesys_soil_44", + "IsCollidable": false + }, + { + "Id": "13995579e1324f75a3f90a5ab5bd50c0", + "Name": "Henesys_soil_45", + "IsCollidable": false + }, + { + "Id": "dbef1db98fbb4d97bbfeba49e6fb3c12", + "Name": "Henesys_soil_46", + "IsCollidable": false + }, + { + "Id": "fc91da376cda4e5c90489eb17a70d9e0", + "Name": "Henesys_soil_47", + "IsCollidable": false + }, + { + "Id": "f486cccd807a48e4a96bf81d98f06cee", + "Name": "Henesys_soil_48", + "IsCollidable": false + }, + { + "Id": "34d13631d62b4f058673e923c88920f4", + "Name": "Henesys_soil_49", + "IsCollidable": false + }, + { + "Id": "70abc60d82c3498b838ebe6c25c02626", + "Name": "Henesys_soil_50", + "IsCollidable": false + }, + { + "Id": "622bca11b3cd41bc9d34ed37aa625d9f", + "Name": "Henesys_soil_51", + "IsCollidable": false + }, + { + "Id": "562f8dec863640e2b9641a109bd1b326", + "Name": "Henesys_soil_52", + "IsCollidable": false + }, + { + "Id": "41e566774c9d4c2db7d990ee1401fe70", + "Name": "Henesys_soil_53", + "IsCollidable": false + }, + { + "Id": "4802b89cce954ddf95edf22c9f932473", + "Name": "Henesys_soil_54", + "IsCollidable": false + }, + { + "Id": "745cf55517204dec9ce95464b7ee07a2", + "Name": "Henesys_soil_55", + "IsCollidable": false + }, + { + "Id": "003c947326224ef28500b961a956be61", + "Name": "Henesys_soil_56", + "IsCollidable": false + }, + { + "Id": "0912bd41fc934a1fb1368eec9094b3f6", + "Name": "Henesys_soil_57", + "IsCollidable": false + }, + { + "Id": "c3b5d86d35924ca69b54973c694957c3", + "Name": "Henesys_soil_58", + "IsCollidable": false + }, + { + "Id": "4a7ae60f63354b4793e26a329cf8efd6", + "Name": "Henesys_soil_59", + "IsCollidable": false + }, + { + "Id": "13c07fc41c1f4314a6214189cf447f17", + "Name": "Henesys_soil_60", + "IsCollidable": false + }, + { + "Id": "3140cc961cfd4c81a24ac637ad3067ba", + "Name": "Henesys_soil_61", + "IsCollidable": false + }, + { + "Id": "abeda4d5248541ffa60495a30be1cc40", + "Name": "Henesys_stone_1", + "IsCollidable": false + }, + { + "Id": "186b6926a7d149ccba42cbff7498e6d5", + "Name": "Henesys_stone_2", + "IsCollidable": false + }, + { + "Id": "7c4366b90bce4341b266a6735f65b438", + "Name": "Henesys_stone_3", + "IsCollidable": false + }, + { + "Id": "e002ca850ae34036addd34d8031a9ee0", + "Name": "Henesys_stone_4", + "IsCollidable": false + }, + { + "Id": "9da93350c25142ba93d0e6549185b599", + "Name": "Henesys_stone_5", + "IsCollidable": false + }, + { + "Id": "ae99ccbe60e3460e8191ac253ca10d5c", + "Name": "Henesys_stone_6", + "IsCollidable": false + }, + { + "Id": "106caf1ac73d49ad9a8e5003132b1def", + "Name": "Henesys_stone_7", + "IsCollidable": false + }, + { + "Id": "32d8fa384cbe480cb8f989536c1fe95b", + "Name": "Henesys_stone_8", + "IsCollidable": false + }, + { + "Id": "c2258ce9ffdd45a99e3c3aa6ce0f785c", + "Name": "Henesys_stone_9", + "IsCollidable": false + }, + { + "Id": "9cb218fa0cac4298b20a11043c952648", + "Name": "Henesys_stone_10", + "IsCollidable": false + }, + { + "Id": "48a5fa7e42094f93b81003a3c57d557e", + "Name": "Henesys_stone_11", + "IsCollidable": false + }, + { + "Id": "0cd53fe7213d422db29a84e3ce0a000e", + "Name": "Henesys_stone_12", + "IsCollidable": false + }, + { + "Id": "2d23f2163c33446699742515efda5d58", + "Name": "Henesys_stone_13", + "IsCollidable": false + }, + { + "Id": "78c2ab6aa3bf48c9a4105d4bbf1e021a", + "Name": "Henesys_stone_14", + "IsCollidable": false + }, + { + "Id": "37284a9ec43540dfa88e3b7bdbe34789", + "Name": "Henesys_stone_15", + "IsCollidable": false + }, + { + "Id": "029fe3c91bc94f259819922fea4f64b0", + "Name": "Henesys_stone_16", + "IsCollidable": false + }, + { + "Id": "110344e3e845478e9226690e43abfeae", + "Name": "Henesys_stone_17", + "IsCollidable": false + }, + { + "Id": "ce0ac3e8b0634a6194d0323f8ac7c107", + "Name": "Henesys_stone_18", + "IsCollidable": false + }, + { + "Id": "64e778f581a844a2a904bdca1337fdd8", + "Name": "Henesys_stone_19", + "IsCollidable": false + }, + { + "Id": "995b867c3e414a19bb90f48a3764ed7e", + "Name": "Henesys_stone_20", + "IsCollidable": false + }, + { + "Id": "34bb121fada24db4ab495d1732cdfec1", + "Name": "Henesys_stone_21", + "IsCollidable": false + }, + { + "Id": "15a970ca3f89441f9204d0b009a4dd36", + "Name": "Henesys_stone_22", + "IsCollidable": false + }, + { + "Id": "8e701d7fff9f45958a354701756ffbb4", + "Name": "Henesys_stone_23", + "IsCollidable": false + }, + { + "Id": "7dd67a9122f14998bbd4807983b2dd51", + "Name": "Henesys_stone_24", + "IsCollidable": false + }, + { + "Id": "4476f7a8965d4f7aab928d6a1b505cc7", + "Name": "Henesys_stone_25", + "IsCollidable": false + }, + { + "Id": "a438906ea9824215919aad9fbe9cdc06", + "Name": "Henesys_stone_26", + "IsCollidable": false + }, + { + "Id": "3d26e19d1df04d56be52fec18bb5274c", + "Name": "Henesys_stone_27", + "IsCollidable": false + }, + { + "Id": "6b47435bb909443bbbdc125c6e7664b7", + "Name": "Henesys_stone_28", + "IsCollidable": false + }, + { + "Id": "32767954b69846ab832df8990eef4b3a", + "Name": "Henesys_stone_29", + "IsCollidable": false + }, + { + "Id": "bf9e815c943a42d587a2ffe83ceca4d4", + "Name": "Henesys_stone_30", + "IsCollidable": false + }, + { + "Id": "8dd6c7b67fc348ffb89637abe8367e10", + "Name": "Henesys_stone_31", + "IsCollidable": false + }, + { + "Id": "c2de08d7aab0460a8d9dd83250bf1c5e", + "Name": "Henesys_stone_32", + "IsCollidable": false + }, + { + "Id": "5376bee70fa246a78e759b3549b9d231", + "Name": "Henesys_stone_33", + "IsCollidable": false + }, + { + "Id": "ec67639c80f54587b5b8dbc57f84dd4c", + "Name": "Henesys_stone_34", + "IsCollidable": false + }, + { + "Id": "10581cbae36c4c5dbce5c0cbe7141883", + "Name": "Henesys_stone_35", + "IsCollidable": false + }, + { + "Id": "e9ba1a7905af48fd800b0e9fe68be20f", + "Name": "Henesys_stone_36", + "IsCollidable": false + }, + { + "Id": "e3222702a6ba46419441382e7978fa7a", + "Name": "Henesys_stone_37", + "IsCollidable": false + }, + { + "Id": "1170d60709214d2692e1ef43529b4fd6", + "Name": "Henesys_stone_38", + "IsCollidable": false + }, + { + "Id": "68e9924224a7468bb84b5b6c6376c01a", + "Name": "Henesys_stone_39", + "IsCollidable": false + }, + { + "Id": "279fd0d338ee4e8c9060a90b5db23fc0", + "Name": "Henesys_stone_40", + "IsCollidable": false + }, + { + "Id": "76cf0a821dab49268ebcb60ae09db00f", + "Name": "Henesys_stone_41", + "IsCollidable": false + }, + { + "Id": "e533bc6921d342f4be10fa5f4ca1e41b", + "Name": "Henesys_stone_42", + "IsCollidable": false + }, + { + "Id": "86b2281ce7dd436e9ecc2d70edc444fc", + "Name": "Henesys_stone_43", + "IsCollidable": false + }, + { + "Id": "fbcb77c5f2564d7cafc55098ac2fea77", + "Name": "Henesys_stone_44", + "IsCollidable": false + }, + { + "Id": "b9ad1a1fd7be4606a9a7a19c1b50f223", + "Name": "Henesys_stone_45", + "IsCollidable": false + }, + { + "Id": "56bf938a5d524ff38c1fec7ec474bac8", + "Name": "Henesys_stone_46", + "IsCollidable": false + }, + { + "Id": "09a1b7759f67425c8d08f6529199e80b", + "Name": "Henesys_stone_47", + "IsCollidable": false + }, + { + "Id": "e6c4f76184584b809567d8b85cd4ccdf", + "Name": "Henesys_stone_48", + "IsCollidable": false + }, + { + "Id": "982ab3b7412d4aed96b14642e6d25f37", + "Name": "Henesys_stone_49", + "IsCollidable": false + }, + { + "Id": "ff81d5234d5b4b76b5d337d8d6e239b7", + "Name": "Henesys_stone_50", + "IsCollidable": false + }, + { + "Id": "3bd284dc6aed4716bbe7df2ce8ee7fc1", + "Name": "Henesys_stone_51", + "IsCollidable": false + }, + { + "Id": "eb7b76076d6f46188165c0768891d3ea", + "Name": "Henesys_stone_52", + "IsCollidable": false + }, + { + "Id": "8db74f47226b4f658b1b0ec19140e51d", + "Name": "Henesys_stone_53", + "IsCollidable": false + }, + { + "Id": "d4551b3d21d449af91e8cd1ebc7b6032", + "Name": "Henesys_stone_54", + "IsCollidable": false + }, + { + "Id": "37fb8e86e7a64ca09ae9d4e26ddf7b75", + "Name": "Henesys_stone_55", + "IsCollidable": false + }, + { + "Id": "fe1153dd997e48f990a3ce64d08866cb", + "Name": "Henesys_stone_56", + "IsCollidable": false + }, + { + "Id": "ab82f0c7b5af48b3b623a637f0c40553", + "Name": "Henesys_stone_57", + "IsCollidable": false + }, + { + "Id": "511721788d864ed19a5f5f8114f35657", + "Name": "Henesys_water_1", + "IsCollidable": true + }, + { + "Id": "ad3bdf656f56428d943af7b7c3494e3d", + "Name": "Henesys_water_2", + "IsCollidable": true + }, + { + "Id": "2a17e6dfed48451eb605fa411c2d03ab", + "Name": "Henesys_water_3", + "IsCollidable": true + }, + { + "Id": "96717c3bf11144e29e746da6f0a1bd82", + "Name": "Henesys_water_4", + "IsCollidable": true + }, + { + "Id": "41f23d9050b74384a10532af3a8a81e1", + "Name": "Henesys_water_5", + "IsCollidable": true + }, + { + "Id": "fb639bbb173e4f139d12dd5e8d0cb952", + "Name": "Henesys_water_6", + "IsCollidable": true + }, + { + "Id": "6d5b76d2937c4fd4a84739900119f50a", + "Name": "Henesys_water_7", + "IsCollidable": true + }, + { + "Id": "067b9e1f9e2e48b5a4fa8786ad908a7a", + "Name": "Henesys_water_8", + "IsCollidable": true + }, + { + "Id": "54df880afde94f03a98ab4c467fe1eba", + "Name": "Henesys_water_9", + "IsCollidable": true + }, + { + "Id": "b03be19bf99445509e96166c4c5d1aa0", + "Name": "Henesys_water_10", + "IsCollidable": true + }, + { + "Id": "4097ed3fa5cb4200b1ef57f9ce42b897", + "Name": "Henesys_water_11", + "IsCollidable": true + }, + { + "Id": "c6cd001118fd47018dcab4f0756f5fa5", + "Name": "Henesys_water_12", + "IsCollidable": true + }, + { + "Id": "39282a9c9dfa40a7bc218451eb555d27", + "Name": "Henesys_water_13", + "IsCollidable": true + }, + { + "Id": "229a0bbc6e034c2682c5cdc07ee73aa1", + "Name": "Henesys_water_14", + "IsCollidable": true + }, + { + "Id": "75e57411fa5d49a89c3194b4ba80b0ac", + "Name": "Henesys_water_15", + "IsCollidable": true + }, + { + "Id": "2978323e1e6441898681d09ad5f0c0a6", + "Name": "Henesys_water_16", + "IsCollidable": true + } + ] + } + } +} \ No newline at end of file diff --git a/RootDesk/MyDesk/UIPopup.codeblock b/RootDesk/MyDesk/UIPopup.codeblock new file mode 100644 index 0000000..e903bbc --- /dev/null +++ b/RootDesk/MyDesk/UIPopup.codeblock @@ -0,0 +1,248 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "codeblock://15873444-8d16-4d28-9091-9c623fda5224", + "ContentType": "x-mod/codeblock", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "CoreVersion": { + "Major": 0, + "Minor": 2 + }, + "ScriptVersion": { + "Major": 1, + "Minor": 0 + }, + "Description": "", + "Id": "15873444-8d16-4d28-9091-9c623fda5224", + "Language": 1, + "Name": "UIPopup", + "Type": 5, + "Source": 0, + "Target": null, + "Properties": [ + { + "Type": "Component", + "DefaultValue": "3606e39d-32de-427e-8d23-b38af810a3b4:TextComponent", + "SyncDirection": 0, + "Attributes": [], + "Name": "message" + }, + { + "Type": "Component", + "DefaultValue": "94a274e4-4111-40f1-924d-c95a3a1f14d5:ButtonComponent", + "SyncDirection": 0, + "Attributes": [], + "Name": "btnOk" + }, + { + "Type": "Component", + "DefaultValue": "0f5de49b-2adc-409a-816d-15aa43df8e0d:ButtonComponent", + "SyncDirection": 0, + "Attributes": [], + "Name": "btnCancel" + }, + { + "Type": "Entity", + "DefaultValue": "fb7a3b06-7026-4590-8efe-bb33416dd8f9", + "SyncDirection": 0, + "Attributes": [], + "Name": "popupGroup" + }, + { + "Type": "Entity", + "DefaultValue": "aa954759-0e39-430f-85fa-80bf2e5fe31d", + "SyncDirection": 0, + "Attributes": [], + "Name": "popup" + }, + { + "Type": "any", + "DefaultValue": "nil", + "SyncDirection": 0, + "Attributes": [], + "Name": "onOk" + }, + { + "Type": "any", + "DefaultValue": "nil", + "SyncDirection": 0, + "Attributes": [], + "Name": "onCancel" + }, + { + "Type": "number", + "DefaultValue": "0.15", + "SyncDirection": 0, + "Attributes": [], + "Name": "duration" + }, + { + "Type": "number", + "DefaultValue": "0.5", + "SyncDirection": 0, + "Attributes": [], + "Name": "from" + }, + { + "Type": "number", + "DefaultValue": "1", + "SyncDirection": 0, + "Attributes": [], + "Name": "to" + }, + { + "Type": "boolean", + "DefaultValue": "false", + "SyncDirection": 0, + "Attributes": [], + "Name": "isOpen" + }, + { + "Type": "boolean", + "DefaultValue": "false", + "SyncDirection": 0, + "Attributes": [], + "Name": "isTweenPlaying" + }, + { + "Type": "number", + "DefaultValue": "0", + "SyncDirection": 0, + "Attributes": [], + "Name": "tweenEventId" + }, + { + "Type": "any", + "DefaultValue": "nil", + "SyncDirection": 0, + "Attributes": [], + "Name": "okHandler" + }, + { + "Type": "any", + "DefaultValue": "nil", + "SyncDirection": 0, + "Attributes": [], + "Name": "cancelHandler" + } + ], + "Methods": [ + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "string", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "message" + }, + { + "Type": "any", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "onOk" + }, + { + "Type": "any", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "onCancel" + } + ], + "Code": "if self.isOpen == true then\n\treturn\nend\nself.isOpen = true\nself.popupGroup.Enable = true\nself.message.Text = message\nself.onOk = onOk\nself.onCancel = onCancel\n\n\nself.okHandler = self.btnOk.Entity:ConnectEvent(ButtonClickEvent,self.OnClickOk)\nself.cancelHandler = self.btnCancel.Entity:ConnectEvent(ButtonClickEvent,self.OnClickCancel)\nself:StartTween(true)", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "Open" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "if self.isTweenPlaying == true then\n\treturn\nend\nif self.onOk ~= nil then\n\tself.onOk()\n\tself.onOk = nil\nend\nself:Close()", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "OnClickOk" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "if self.isTweenPlaying == true then\n\treturn\nend\nif self.onCancel ~= nil then\n\tself.onCancel()\n\tself.onCancel = nil\nend\nself:Close()", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "OnClickCancel" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "self.btnOk.Entity:DisconnectEvent(ButtonClickEvent,self.okHandler)\nself.btnCancel.Entity:DisconnectEvent(ButtonClickEvent,self.cancelHandler)\nself:StartTween(false)", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "Close" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "boolean", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "open" + } + ], + "Code": "\nlocal transform = self.popup.UITransformComponent\nlocal canvasGroup = self.popupGroup.CanvasGroupComponent \nif open == true then\n\tcanvasGroup.GroupAlpha = 0\n\ttransform.UIScale = Vector3(self.from,self.from,1)\nelse\n\ttransform.UIScale = Vector3(self.to,self.to,1)\nend\nself.isTweenPlaying = true\nlocal time = 0\n\n\nlocal preTime = _UtilLogic.ElapsedSeconds\n\nlocal tween = function()\n\tlocal delta = _UtilLogic.ElapsedSeconds - preTime\n\ttime = time + delta\n\tlocal timeValue = time\t\n\tpreTime = _UtilLogic.ElapsedSeconds\n\n\tif time >= self.duration then\n\t\ttimeValue = self.duration\n\t\tif open == false then\n\t\t\tself.popupGroup.Enable = false\n\t\t\tself.isOpen = false\n\t\tend\n\t\tself.isTweenPlaying = false\n\t\t_TimerService:ClearTimer(self.tweenEventId)\n\n\tend\n\tif open == false then\n\t\ttimeValue = self.duration - timeValue\n\tend\n\tlocal tweenValue = _TweenLogic:Ease(self.from, self.to, \n\t\tself.duration, EaseType.SineEaseIn, timeValue)\n\ttransform.UIScale = Vector3(tweenValue,tweenValue,1)\n\tcanvasGroup.GroupAlpha = timeValue / self.duration\nend\nself.tweenEventId = _TimerService:SetTimerRepeat(tween,1/60)\n", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "StartTween" + } + ], + "EntityEventHandlers": [] + } + } +} \ No newline at end of file diff --git a/RootDesk/MyDesk/UIToast.codeblock b/RootDesk/MyDesk/UIToast.codeblock new file mode 100644 index 0000000..840ab81 --- /dev/null +++ b/RootDesk/MyDesk/UIToast.codeblock @@ -0,0 +1,132 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "codeblock://63fe07f0-2bcd-462c-8157-d6031e053b5e", + "ContentType": "x-mod/codeblock", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "CoreVersion": { + "Major": 0, + "Minor": 2 + }, + "ScriptVersion": { + "Major": 1, + "Minor": 0 + }, + "Description": "", + "Id": "63fe07f0-2bcd-462c-8157-d6031e053b5e", + "Language": 1, + "Name": "UIToast", + "Type": 5, + "Source": 0, + "Target": null, + "Properties": [ + { + "Type": "Component", + "DefaultValue": "7af9e538-1713-49f7-a83e-711c0f4b4a3c:TextComponent", + "SyncDirection": 0, + "Attributes": [], + "Name": "message" + }, + { + "Type": "Entity", + "DefaultValue": "0bc398f9-29cb-4d89-a78d-f24742b117e8", + "SyncDirection": 0, + "Attributes": [], + "Name": "toastGroup" + }, + { + "Type": "number", + "DefaultValue": "2", + "SyncDirection": 0, + "Attributes": [], + "Name": "duration" + }, + { + "Type": "number", + "DefaultValue": "0.1", + "SyncDirection": 0, + "Attributes": [], + "Name": "tweenDuration" + }, + { + "Type": "number", + "DefaultValue": "0", + "SyncDirection": 0, + "Attributes": [], + "Name": "tweenEventId" + }, + { + "Type": "boolean", + "DefaultValue": "false", + "SyncDirection": 0, + "Attributes": [], + "Name": "isTweenPlaying" + }, + { + "Type": "boolean", + "DefaultValue": "false", + "SyncDirection": 0, + "Attributes": [], + "Name": "inited" + }, + { + "Type": "number", + "DefaultValue": "0", + "SyncDirection": 0, + "Attributes": [], + "Name": "offset" + } + ], + "Methods": [ + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "string", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "message" + } + ], + "Code": "if self.inited == false then\n\tself.inited = true\n\tself.offset = -self.message.Entity.UITransformComponent.anchoredPosition.y\nend\nself.message.Text = message\nself:StartTween()", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "ShowMessage" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "local canvasGroup = self.message.Entity.CanvasGroupComponent\nlocal transform = self.message.Entity.UITransformComponent\nif self.tweenEventId > 0 then\n\t_TimerService:ClearTimer(self.tweenEventId)\n\tself.tweenEventId = 0\nelse\n\tcanvasGroup.GroupAlpha = 0\nend\nself.toastGroup.Enable = true\nlocal time = 0\n\nlocal preTime = _UtilLogic.ElapsedSeconds\n\nlocal tween = function()\n\tlocal delta = _UtilLogic.ElapsedSeconds - preTime\n\ttime = time + delta\n\tpreTime = _UtilLogic.ElapsedSeconds\n\n\tlocal alpha = canvasGroup.GroupAlpha \n\tif time >= (self.duration + self.tweenDuration) then\t\t\n\t\tself.toastGroup.Enable = false\n\t\t_TimerService:ClearTimer(self.tweenEventId)\n\t\tself.tweenEventId = 0\n\t\talpha = 0\n\telse\n\t\tif time > self.duration then\t\t\t\n\t\t\talpha = alpha - delta / self.tweenDuration\n\t\telse\n\t\t\talpha = alpha + delta / self.tweenDuration\n\t\tend\t\t\t\n\tend\t\n\talpha = math.min(1,math.max(alpha,0))\n\t\n\tcanvasGroup.GroupAlpha = alpha\n\tlocal tweenValue = _TweenLogic:Ease(0,1,1,EaseType.SineEaseIn,alpha)\n\ttransform.anchoredPosition = Vector2(0,-self.offset * tweenValue)\nend\n\nself.tweenEventId = _TimerService:SetTimerRepeat(tween,1/60)\n\n", + "Scope": 2, + "ExecSpace": 0, + "Attributes": [], + "Name": "StartTween" + } + ], + "EntityEventHandlers": [] + } + } +} \ No newline at end of file diff --git a/docs/slaymaple_basic_framework.md b/docs/slaymaple_basic_framework.md new file mode 100644 index 0000000..66b5f4e --- /dev/null +++ b/docs/slaymaple_basic_framework.md @@ -0,0 +1,42 @@ +# SlayMaple Basic Framework + +This project now has a small deckbuilder roguelike foundation inspired by turn-based card combat games. + +## Components + +- `SlayCardCatalog`: Defines card data, starter deck composition, reward pool, and card cloning. +- `SlayRunState`: Owns persistent run data such as HP, gold, floor, deck, relics, and card rewards. +- `SlayCombatManager`: Runs combat turns, draw/discard/exhaust piles, energy, enemy intents, block, damage, victory, and defeat. + +All three components are attached to the `/common` entity in `Global/common.gamelogic`. + +If the Maker session was already open before these files were added, reopen or reload the local workspace so the new codeblock files are imported into the editor state. + +## Prototype Flow + +1. `SlayRunState` starts a new run with 80 HP and a 10-card starter deck. +2. `SlayCombatManager` starts a demo combat automatically. +3. Each player turn refreshes energy to 3, clears block, rolls enemy intent, and draws 5 cards. +4. Playing a card spends energy, applies damage/block/draw/energy/status effects, then sends the card to discard or exhaust. +5. Ending the turn discards the hand, resolves enemy intent, ticks statuses, and starts the next turn. +6. Winning combat stores the remaining HP back into the run, grants 15 gold, and generates 3 card reward options. + +## Useful Script Calls + +From a script attached to the same `/common` entity: + +```lua +self.Entity.SlayCombatManager:PlayCard(1, 1) +self.Entity.SlayCombatManager:EndPlayerTurn() +self.Entity.SlayCombatManager:DebugPlayFirstPlayable() +self.Entity.SlayRunState:PickReward(1) +self.Entity.SlayCombatManager:StartCombat("elite") +``` + +## Next Implementation Steps + +- Add a combat UI that renders HP, block, energy, enemy intent, and 5 hand-card buttons. +- Add a map node UI with combat, elite, shop, rest, event, and boss node types. +- Add relic definitions and hooks such as `OnCombatStart`, `OnCardPlayed`, `OnTurnStart`, and `OnCombatReward`. +- Add enemy move sets as data instead of the current simple intent pattern. +- Add save/load once the run loop is playable end to end. diff --git a/map/map01.map b/map/map01.map new file mode 100644 index 0000000..0760bb1 --- /dev/null +++ b/map/map01.map @@ -0,0 +1,6963 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "map://map01", + "ContentType": "x-mod/map", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Binary", + "Entities": [ + { + "id": "bdadf19a-cc27-4a45-99c6-7a439c858a1b", + "path": "/maps/map01", + "componentNames": "MOD.Core.MapComponent,MOD.Core.FootholdComponent", + "jsonString": { + "name": "map01", + "path": "/maps/map01", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 0, + "pathConstraints": "//", + "revision": 2, + "modelId": null, + "@components": [ + { + "@type": "MOD.Core.MapComponent", + "AirAccelerationXFactor": 1.0, + "AirDecelerationXFactor": 1.0, + "FallSpeedMaxXFactor": 1.0, + "FallSpeedMaxYFactor": 1.0, + "Gravity": 1.0, + "IsInstanceMap": false, + "TileMapMode": 0, + "WalkAccelerationFactor": 1.0, + "WalkDrag": 1.0, + "Enable": true + }, + { + "@type": "MOD.Core.FootholdComponent", + "FootholdsByLayer": { + "1": [ + { + "Length": 1.27999973, + "NextFootholdId": 2, + "PreviousFootholdId": 27, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 1, + "StartPoint": { + "x": -8.93, + "y": -0.04000002 + }, + "EndPoint": { + "x": -7.65000057, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 3, + "PreviousFootholdId": 1, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 2, + "StartPoint": { + "x": -7.64999962, + "y": -0.04000002 + }, + "EndPoint": { + "x": -6.75, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 4, + "PreviousFootholdId": 2, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 3, + "StartPoint": { + "x": -6.74999952, + "y": -0.04000002 + }, + "EndPoint": { + "x": -5.85, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 5, + "PreviousFootholdId": 3, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 4, + "StartPoint": { + "x": -5.84999943, + "y": -0.04000002 + }, + "EndPoint": { + "x": -4.95, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 6, + "PreviousFootholdId": 4, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 5, + "StartPoint": { + "x": -4.95, + "y": -0.04000002 + }, + "EndPoint": { + "x": -4.05, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.900000334, + "NextFootholdId": 7, + "PreviousFootholdId": 5, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 6, + "StartPoint": { + "x": -4.05, + "y": -0.04000002 + }, + "EndPoint": { + "x": -3.14999986, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.9000001, + "NextFootholdId": 8, + "PreviousFootholdId": 6, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 7, + "StartPoint": { + "x": -3.14999986, + "y": -0.04000002 + }, + "EndPoint": { + "x": -2.24999976, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.899999738, + "NextFootholdId": 9, + "PreviousFootholdId": 7, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 8, + "StartPoint": { + "x": -2.24999976, + "y": -0.04000002 + }, + "EndPoint": { + "x": -1.35, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.9000001, + "NextFootholdId": 10, + "PreviousFootholdId": 8, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 9, + "StartPoint": { + "x": -1.35, + "y": -0.04000002 + }, + "EndPoint": { + "x": -0.449999958, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.9, + "NextFootholdId": 11, + "PreviousFootholdId": 9, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 10, + "StartPoint": { + "x": -0.45, + "y": -0.04000002 + }, + "EndPoint": { + "x": 0.449999958, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.9, + "NextFootholdId": 12, + "PreviousFootholdId": 10, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 11, + "StartPoint": { + "x": 0.450000018, + "y": -0.04000002 + }, + "EndPoint": { + "x": 1.35, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.9000002, + "NextFootholdId": 13, + "PreviousFootholdId": 11, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 12, + "StartPoint": { + "x": 1.34999979, + "y": -0.04000002 + }, + "EndPoint": { + "x": 2.25, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.9000001, + "NextFootholdId": 14, + "PreviousFootholdId": 12, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 13, + "StartPoint": { + "x": 2.25, + "y": -0.04000002 + }, + "EndPoint": { + "x": 3.15, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.899999857, + "NextFootholdId": 15, + "PreviousFootholdId": 13, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 14, + "StartPoint": { + "x": 3.14999986, + "y": -0.04000002 + }, + "EndPoint": { + "x": 4.04999971, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 16, + "PreviousFootholdId": 14, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 15, + "StartPoint": { + "x": 4.05, + "y": -0.04000002 + }, + "EndPoint": { + "x": 4.95, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 17, + "PreviousFootholdId": 15, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 16, + "StartPoint": { + "x": 4.95000029, + "y": -0.04000002 + }, + "EndPoint": { + "x": 5.85, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.8999996, + "NextFootholdId": 18, + "PreviousFootholdId": 16, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 17, + "StartPoint": { + "x": 5.85, + "y": -0.04000002 + }, + "EndPoint": { + "x": 6.74999952, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 1.27999973, + "NextFootholdId": 19, + "PreviousFootholdId": 17, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 18, + "StartPoint": { + "x": 6.75, + "y": -0.04000002 + }, + "EndPoint": { + "x": 8.03, + "y": -0.04000002 + }, + "Variance": { + "x": 1.0, + "y": 0.0 + } + }, + { + "Length": 0.859999955, + "NextFootholdId": 20, + "PreviousFootholdId": 18, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 19, + "StartPoint": { + "x": 8.03, + "y": -0.04000002 + }, + "EndPoint": { + "x": 8.03, + "y": -0.9 + }, + "Variance": { + "x": 0.0, + "y": -1.0 + } + }, + { + "Length": 0.6, + "NextFootholdId": 21, + "PreviousFootholdId": 19, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 20, + "StartPoint": { + "x": 8.03, + "y": -0.9000001 + }, + "EndPoint": { + "x": 8.03, + "y": -1.50000012 + }, + "Variance": { + "x": 0.0, + "y": -1.0 + } + }, + { + "Length": 0.6, + "NextFootholdId": 22, + "PreviousFootholdId": 20, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 21, + "StartPoint": { + "x": 8.03, + "y": -1.50000012 + }, + "EndPoint": { + "x": 8.03, + "y": -2.10000014 + }, + "Variance": { + "x": 0.0, + "y": -1.0 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 23, + "PreviousFootholdId": 21, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 22, + "StartPoint": { + "x": 8.03, + "y": -2.10000014 + }, + "EndPoint": { + "x": 8.03, + "y": -2.7 + }, + "Variance": { + "x": 0.0, + "y": -1.0 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 24, + "PreviousFootholdId": 22, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 23, + "StartPoint": { + "x": 8.03, + "y": -2.70000029 + }, + "EndPoint": { + "x": 8.03, + "y": -3.30000019 + }, + "Variance": { + "x": 0.0, + "y": -1.0 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 25, + "PreviousFootholdId": 23, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 24, + "StartPoint": { + "x": 8.03, + "y": -3.30000019 + }, + "EndPoint": { + "x": 8.03, + "y": -3.9 + }, + "Variance": { + "x": 0.0, + "y": -1.0 + } + }, + { + "Length": 0.600000143, + "NextFootholdId": 26, + "PreviousFootholdId": 24, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 25, + "StartPoint": { + "x": 8.03, + "y": -3.90000033 + }, + "EndPoint": { + "x": 8.03, + "y": -4.50000048 + }, + "Variance": { + "x": 0.0, + "y": -1.0 + } + }, + { + "Length": 0.6000004, + "NextFootholdId": 0, + "PreviousFootholdId": 25, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 26, + "StartPoint": { + "x": 8.03, + "y": -4.5 + }, + "EndPoint": { + "x": 8.03, + "y": -5.10000038 + }, + "Variance": { + "x": 0.0, + "y": -1.0 + } + }, + { + "Length": 0.859999955, + "NextFootholdId": 1, + "PreviousFootholdId": 28, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 27, + "StartPoint": { + "x": -8.93, + "y": -0.9 + }, + "EndPoint": { + "x": -8.93, + "y": -0.04000002 + }, + "Variance": { + "x": 0.0, + "y": 1.0 + } + }, + { + "Length": 0.6, + "NextFootholdId": 27, + "PreviousFootholdId": 29, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 28, + "StartPoint": { + "x": -8.93, + "y": -1.50000012 + }, + "EndPoint": { + "x": -8.93, + "y": -0.9000001 + }, + "Variance": { + "x": 0.0, + "y": 1.0 + } + }, + { + "Length": 0.6, + "NextFootholdId": 28, + "PreviousFootholdId": 30, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 29, + "StartPoint": { + "x": -8.93, + "y": -2.10000014 + }, + "EndPoint": { + "x": -8.93, + "y": -1.50000012 + }, + "Variance": { + "x": 0.0, + "y": 1.0 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 29, + "PreviousFootholdId": 31, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 30, + "StartPoint": { + "x": -8.93, + "y": -2.7 + }, + "EndPoint": { + "x": -8.93, + "y": -2.10000014 + }, + "Variance": { + "x": 0.0, + "y": 1.0 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 30, + "PreviousFootholdId": 32, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 31, + "StartPoint": { + "x": -8.93, + "y": -3.30000019 + }, + "EndPoint": { + "x": -8.93, + "y": -2.70000029 + }, + "Variance": { + "x": 0.0, + "y": 1.0 + } + }, + { + "Length": 0.5999999, + "NextFootholdId": 31, + "PreviousFootholdId": 33, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 32, + "StartPoint": { + "x": -8.93, + "y": -3.9 + }, + "EndPoint": { + "x": -8.93, + "y": -3.30000019 + }, + "Variance": { + "x": 0.0, + "y": 1.0 + } + }, + { + "Length": 0.600000143, + "NextFootholdId": 32, + "PreviousFootholdId": 34, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 33, + "StartPoint": { + "x": -8.93, + "y": -4.50000048 + }, + "EndPoint": { + "x": -8.93, + "y": -3.90000033 + }, + "Variance": { + "x": 0.0, + "y": 1.0 + } + }, + { + "Length": 0.6000004, + "NextFootholdId": 33, + "PreviousFootholdId": 0, + "groupID": 1, + "layer": 1, + "sortingLayerName": "MapLayer0", + "attribute": { + "walk": 1.0, + "force": 0.0, + "drag": 1.0, + "isBlockVertical": false, + "isDynamic": false, + "isCustomFoothold": false, + "inertiaOption": 0 + }, + "OwnerId": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "Id": 34, + "StartPoint": { + "x": -8.93, + "y": -5.10000038 + }, + "EndPoint": { + "x": -8.93, + "y": -4.5 + }, + "Variance": { + "x": 0.0, + "y": 1.0 + } + } + ] + }, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "7ee4456d-3399-46c6-b9eb-fbf5228839e1", + "path": "/maps/map01/Background", + "componentNames": "MOD.Core.BackgroundComponent", + "jsonString": { + "name": "Background", + "path": "/maps/map01/Background", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 0, + "pathConstraints": "///", + "revision": 1, + "modelId": null, + "@components": [ + { + "@type": "MOD.Core.BackgroundComponent", + "SolidColor": { + "r": 0.5019608, + "g": 0.5019608, + "b": 0.5019608, + "a": 0.7058824 + }, + "TemplateRUID": "1cad0eb694dd415dbf11a74e0e91bae1", + "Type": 1, + "WebUrl": "", + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "21ab86fc-7e59-4230-acbb-881856f9bc30", + "path": "/maps/map01/MapleMapLayer", + "componentNames": "MOD.Core.MapLayerComponent", + "jsonString": { + "name": "MapleMapLayer", + "path": "/maps/map01/MapleMapLayer", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 1, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "maplemaplayer", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "maplemaplayer", + "@components": [ + { + "@type": "MOD.Core.MapLayerComponent", + "IsVisible": true, + "LayerSortOrder": 0, + "Locked": false, + "MapLayerName": "Layer1", + "Thumbnail": "", + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "c9a3018a-f6fa-4c4b-b91e-404ac5ce9858", + "path": "/maps/map01/TileMap", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.TileMapComponent", + "jsonString": { + "name": "TileMap", + "path": "/maps/map01/TileMap", + "nameEditable": false, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 2, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "tilemap", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "tilemap", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": -0.225, + "y": -0.15, + "z": 1000.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.TileMapComponent", + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "FootholdDrag": 1.0, + "FootholdForce": 0.0, + "FootholdWalkSpeedFactor": 1.0, + "IgnoreMapLayerCheck": false, + "IsOddGridPosition": false, + "OrderInLayer": 1, + "SortingLayer": "MapLayer0", + "TileMapVersion": 1, + "TileSetRUID": { + "DataId": "9dfea3808bbd49a5877d8624df21b1c7" + }, + "Tiles": [ + { + "type": 5, + "position": { + "x": -16, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -4 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -4 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -3 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -4 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -6 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -3 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -3 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -4 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -4 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -4 + }, + "tileIndex": 5 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -4 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -5 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 9, + "position": { + "x": -16, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 9, + "position": { + "x": -14, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -12, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -10, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -8, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 9, + "position": { + "x": -6, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -4, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": -2, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 9, + "position": { + "x": 0, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 9, + "position": { + "x": 2, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 9, + "position": { + "x": 4, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 9, + "position": { + "x": 6, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 9, + "position": { + "x": 8, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -2 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 9, + "position": { + "x": 10, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": 12, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -3 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -4 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -5 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -4 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -3 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -2 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -6 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -6 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -7 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -6 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -7 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -6 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -6 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -7 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -6 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -7 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -3 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -3 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": 14, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -2 + }, + "tileIndex": 0 + }, + { + "type": 9, + "position": { + "x": 16, + "y": -1 + }, + "tileIndex": 3 + }, + { + "type": 11, + "position": { + "x": 17, + "y": -1 + }, + "tileIndex": 2 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -3 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -4 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -6 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -7 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -6 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -5 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -4 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -2 + }, + "tileIndex": 4 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -10 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 16, + "y": -15 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 6, + "position": { + "x": 17, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -14 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -14 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -15 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -15 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -16 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -2, + "y": -17 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -4, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -15 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -16 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -6, + "y": -17 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -16 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -8, + "y": -17 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -16 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -10, + "y": -17 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -16 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -12, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -14, + "y": -17 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -16 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": -16, + "y": -17 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -15 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -15 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -11 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -17, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -3 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -3 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -5 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -5 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -4 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -7 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -7 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -6 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -18, + "y": -15 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -15 + }, + "tileIndex": -1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 7, + "position": { + "x": -18, + "y": -17 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -19, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 8, + "position": { + "x": -19, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 6, + "position": { + "x": -19, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 11, + "position": { + "x": -19, + "y": -1 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -18, + "y": -2 + }, + "tileIndex": 1 + }, + { + "type": 9, + "position": { + "x": -18, + "y": -1 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -10 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -11 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -10 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -11 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -9 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -9 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -8 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -9 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -8 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -8 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -12 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -10 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -16, + "y": -9 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -15, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -12, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -12 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -13 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -8, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -14, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -16, + "y": -14 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -13 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -13 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -13 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -13 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -14 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -14 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 2, + "y": -17 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -16 + }, + "tileIndex": 5 + }, + { + "type": 7, + "position": { + "x": 0, + "y": -17 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 4, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 6, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 8, + "y": -17 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 16, + "y": -16 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 16, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 17, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 15, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 8, + "position": { + "x": 17, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -16 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 14, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -16 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -16 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -17 + }, + "tileIndex": -1 + }, + { + "type": 7, + "position": { + "x": 12, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 7, + "position": { + "x": 10, + "y": -17 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -14 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -14 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -12 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -13, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -14, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -7, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -10, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -9, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -8 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": -12, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -11, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -10 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -6, + "y": -11 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": -5, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": -4, + "y": -11 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -12 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": -3, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -10, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -8, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -4, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": -6, + "y": -12 + }, + "tileIndex": 4 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -14 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -11 + }, + "tileIndex": 3 + }, + { + "type": 0, + "position": { + "x": -2, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": -1, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -10 + }, + "tileIndex": 4 + }, + { + "type": 5, + "position": { + "x": -2, + "y": -14 + }, + "tileIndex": 4 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 0, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -12 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 1, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 0, + "y": -14 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 4, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 3, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -10 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 2, + "y": -9 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 2, + "y": -8 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 5, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -8 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 6, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 6, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 7, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 4, + "y": -12 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -8 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -9 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -8 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -10 + }, + "tileIndex": 5 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 10, + "y": -11 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -10 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 9, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 8, + "y": -11 + }, + "tileIndex": 2 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -10 + }, + "tileIndex": 4 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -9 + }, + "tileIndex": 2 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -9 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 12, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -11 + }, + "tileIndex": -1 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 11, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -12 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 13, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -9 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -10 + }, + "tileIndex": 1 + }, + { + "type": 0, + "position": { + "x": 14, + "y": -11 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -8 + }, + "tileIndex": 0 + }, + { + "type": 5, + "position": { + "x": 12, + "y": -8 + }, + "tileIndex": 3 + }, + { + "type": 5, + "position": { + "x": 14, + "y": -12 + }, + "tileIndex": 5 + }, + { + "type": 5, + "position": { + "x": 10, + "y": -12 + }, + "tileIndex": 1 + }, + { + "type": 5, + "position": { + "x": 8, + "y": -12 + }, + "tileIndex": 5 + } + ], + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "5acc8562-5a0a-4065-98f9-2806f15facca", + "path": "/maps/map01/SpawnLocation", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.SpriteRendererComponent,MOD.Core.SpawnLocationComponent", + "jsonString": { + "name": "SpawnLocation", + "path": "/maps/map01/SpawnLocation", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 3, + "pathConstraints": "///", + "revision": 1, + "modelId": null, + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Rotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "Position": { + "x": 0.0, + "y": 0.0, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "ZRotation": 0.0, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "DrawMode": 0, + "EndFrameIndex": 2147483647, + "FlipX": false, + "FlipY": false, + "IgnoreMapLayerCheck": false, + "OrderInLayer": 0, + "PlayRate": 1.0, + "RenderSetting": 0, + "SortingLayer": "Default", + "SpriteRUID": "8ef238e0d0ca4bb783aca526cff35d11", + "StartFrameIndex": 0, + "TiledSize": { + "x": 1.0, + "y": 1.0 + }, + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpawnLocationComponent", + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "2da3fe39-a00f-48df-b9a9-9a01f5009b30", + "path": "/maps/map01/StaticMonsterTemplate", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "jsonString": { + "name": "StaticMonsterTemplate", + "path": "/maps/map01/StaticMonsterTemplate", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 4, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "StaticMonster", + "sub_entity_id": null, + "root_entity_id": "2da3fe39-a00f-48df-b9a9-9a01f5009b30", + "replaced_model_id": null + }, + "modelId": "staticmonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": 1.61286092, + "y": 0.03499998, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "4b1d55e35ae9462b944297691025429a", + "hit": "35c14328c2a6446eb5464dc85c39ab56", + "die": "770cfcbab36448999137d25e8ace707e" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "6c7130f51a654803a1c39cbe30e2f427", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.DamageSkinSettingComponent", + "DamageSkinId": { + "DataId": "02c22d93421b4038b3c413b3e40b57ec" + }, + "Enable": true + }, + { + "@type": "MOD.Core.HitComponent", + "BoxSize": { + "x": 0.78, + "y": 0.86 + }, + "ColliderOffset": { + "x": 0.03999999, + "y": 0.43 + }, + "CollisionGroup": { + "Id": "8992acd1e8cd45838db6f10a7b41df09" + }, + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.DamageSkinSpawnerComponent", + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.RigidbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "RealMoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.KinematicbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SideviewbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.MovementComponent", + "Enable": true + }, + { + "@type": "script.Monster", + "Enable": true, + "IsDead": false + }, + { + "@type": "script.MonsterAttack", + "Enable": true, + "SpriteSize": { + "x": 0.0, + "y": 0.0 + }, + "PositionOffset": { + "x": 0.0, + "y": 0.0 + } + } + ], + "@version": 1 + } + }, + { + "id": "03928039-6972-4aec-bb07-64aea430561e", + "path": "/maps/map01/MoveMonsterTemplate", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.AIWanderComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.DamageSkinSettingComponent", + "jsonString": { + "name": "MoveMonsterTemplate", + "path": "/maps/map01/MoveMonsterTemplate", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 5, + "pathConstraints": "///", + "revision": 3, + "origin": { + "type": "Model", + "entry_id": "MoveMonster", + "sub_entity_id": null, + "root_entity_id": "03928039-6972-4aec-bb07-64aea430561e", + "replaced_model_id": null + }, + "modelId": "movemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": 4.46158028, + "y": 0.03499998, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "move": "969f52dd34934009b5c687af97c8435b", + "stand": "3e76c89ae8e7477ca871f5bbcd6f6f29", + "attack": "44b6336ac84a4091a9adb5f0aa0c02b7", + "attack2": "3c66552bd7ff48f98482e417be3e3772", + "attack3": "20d46f5a9b9641e0b3703dc95ac5fbc2", + "skill": "022d41ea8ce247639fd4f0fa83563c96", + "hit": "0bcbc0ec869245d4a454e00d635fc64d", + "die": "4e38904690784278a50fa378086b65a7" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "3e76c89ae8e7477ca871f5bbcd6f6f29", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.RigidbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "RealMoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.MovementComponent", + "InputSpeed": 1.0, + "JumpForce": 0.0, + "Enable": true + }, + { + "@type": "MOD.Core.AIWanderComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.HitComponent", + "BoxSize": { + "x": 1.6, + "y": 1.56 + }, + "ColliderOffset": { + "x": 0.0, + "y": 0.78 + }, + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.DamageSkinSpawnerComponent", + "Enable": true + }, + { + "@type": "script.Monster", + "Enable": true, + "IsDead": false + }, + { + "@type": "script.MonsterAttack", + "Enable": true, + "SpriteSize": { + "x": 0.0, + "y": 0.0 + }, + "PositionOffset": { + "x": 0.0, + "y": 0.0 + } + }, + { + "@type": "MOD.Core.KinematicbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SideviewbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.DamageSkinSettingComponent", + "DamageSkinId": { + "DataId": "02c22d93421b4038b3c413b3e40b57ec" + }, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "595374e9-e49a-4733-b00f-77e8e61dad59", + "path": "/maps/map01/ChaseMonsterTemplate", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.AIChaseComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.DamageSkinSettingComponent", + "jsonString": { + "name": "ChaseMonsterTemplate", + "path": "/maps/map01/ChaseMonsterTemplate", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 6, + "pathConstraints": "///", + "revision": 2, + "origin": { + "type": "Model", + "entry_id": "ChaseMonster", + "sub_entity_id": null, + "root_entity_id": "595374e9-e49a-4733-b00f-77e8e61dad59", + "replaced_model_id": null + }, + "modelId": "chasemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": 2.87478113, + "y": 0.03499998, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "move": "573fe938562a4abf91eebf951f21afd5", + "stand": "6d381bea1bcb4504b518a1fbfa0904ac", + "jump": "59823e146a034e48b8667ebb6f0724b1", + "hit": "642ece38d8d449b29ce4479100e37a54", + "die": "3c99d6b9b89b4295a9c2749eb02e28e9" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "6d381bea1bcb4504b518a1fbfa0904ac", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.RigidbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "RealMoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.MovementComponent", + "InputSpeed": 1.5, + "JumpForce": 6.0, + "Enable": true + }, + { + "@type": "MOD.Core.AIChaseComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.HitComponent", + "BoxSize": { + "x": 0.63, + "y": 0.58 + }, + "ColliderOffset": { + "x": 0.0449999869, + "y": 0.29 + }, + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.DamageSkinSpawnerComponent", + "Enable": true + }, + { + "@type": "script.Monster", + "Enable": true, + "IsDead": false + }, + { + "@type": "script.MonsterAttack", + "Enable": true, + "SpriteSize": { + "x": 0.0, + "y": 0.0 + }, + "PositionOffset": { + "x": 0.0, + "y": 0.0 + } + }, + { + "@type": "MOD.Core.KinematicbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SideviewbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.DamageSkinSettingComponent", + "DamageSkinId": { + "DataId": "02c22d93421b4038b3c413b3e40b57ec" + }, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "a6d1d4be-0b0a-4581-b2a8-a3cddecb44bd", + "path": "/maps/map01/monster-43", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.AIWanderComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent", + "jsonString": { + "name": "monster-43", + "path": "/maps/map01/monster-43", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": false, + "displayOrder": 7, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "MoveMonster", + "sub_entity_id": null, + "root_entity_id": "a6d1d4be-0b0a-4581-b2a8-a3cddecb44bd", + "replaced_model_id": null + }, + "modelId": "movemonster", + "@components": [ + { + "@type": "MOD.Core.TransformComponent", + "Position": { + "x": -1.84943926, + "y": 1.27528822, + "z": 999.999 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.StateAnimationComponent", + "ActionSheet": { + "stand": "3eb72eab0a394c78b13e88c8dc4a5ed0", + "move": "c96c11f9a3f845a4b6a27d9ca10ab103", + "hit": "4b67b539c09d4ce183ae6a73f908511f", + "die": "7681817f225a4245a27943da77d5f5b1", + "skill": "75c873675b6d45c38f24c8d7b98b4800", + "attack": "9db703c9da694490965897db7f2d4d92", + "skill2": "beabf049b5e34c25907ae69d2c1f835e", + "skill3": "e84c350104ca436b93db6c502faf53b3", + "skill4": "a5fb992ff4c04431a171bdd2fbfb372c", + "skillAfter4": "53de30457ceb44eca4ef2a81396e6adb", + "attack2": "52c1da942bec459b9d46c81c03233c0c" + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteRendererComponent", + "ActionSheet": {}, + "EndFrameIndex": 0, + "RenderSetting": 1, + "SortingLayer": "MapLayer0", + "SpriteRUID": "c96c11f9a3f845a4b6a27d9ca10ab103", + "StartFrameIndex": 0, + "Enable": true + }, + { + "@type": "MOD.Core.RigidbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "RealMoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.MovementComponent", + "InputSpeed": 1.0, + "JumpForce": 0.0, + "Enable": true + }, + { + "@type": "MOD.Core.AIWanderComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.StateComponent", + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.HitComponent", + "BoxSize": { + "x": 0.87, + "y": 1.04 + }, + "ColliderOffset": { + "x": 0.0150000155, + "y": 0.669999957 + }, + "IsLegacy": false, + "Enable": true + }, + { + "@type": "MOD.Core.DamageSkinSpawnerComponent", + "Enable": true + }, + { + "@type": "script.Monster", + "Enable": true, + "IsDead": false + }, + { + "@type": "script.MonsterAttack", + "Enable": true, + "SpriteSize": { + "x": 0.0, + "y": 0.0 + }, + "PositionOffset": { + "x": 0.0, + "y": 0.0 + } + }, + { + "@type": "MOD.Core.KinematicbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SideviewbodyComponent", + "MoveVelocity": { + "x": 0.0, + "y": 0.0 + }, + "Enable": true + } + ], + "@version": 1 + } + } + ] + } +} \ No newline at end of file diff --git a/ui/DefaultGroup.ui b/ui/DefaultGroup.ui new file mode 100644 index 0000000..d28010b --- /dev/null +++ b/ui/DefaultGroup.ui @@ -0,0 +1,1070 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "ui://c0bbe0ec-770a-4147-9f6f-a38cc4a53ca6", + "ContentType": "x-mod/ui", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Binary", + "Entities": [ + { + "id": "c0bbe0ec-770a-4147-9f6f-a38cc4a53ca6", + "path": "/ui/DefaultGroup", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.UIGroupComponent,MOD.Core.CanvasGroupComponent", + "jsonString": { + "name": "DefaultGroup", + "path": "/ui/DefaultGroup", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "//", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "uigroup", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uigroup", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 15, + "AnchorsMax": { + "x": 1.0, + "y": 1.0 + }, + "AnchorsMin": { + "x": 0.0, + "y": 0.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 0.0, + "y": 0.0 + }, + "OffsetMin": { + "x": 0.0, + "y": 0.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 1920.0, + "y": 1080.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0.0, + "y": 0.0 + }, + "Position": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.UIGroupComponent", + "DefaultShow": true, + "GroupOrder": 0, + "GroupType": 1, + "Enable": true + }, + { + "@type": "MOD.Core.CanvasGroupComponent", + "BlocksRaycasts": true, + "GroupAlpha": 1.0, + "Interactable": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "7f861a16-e1f5-4513-85a2-c9b56503efcd", + "path": "/ui/DefaultGroup/Button_Attack", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent", + "jsonString": { + "name": "Button_Attack", + "path": "/ui/DefaultGroup/Button_Attack", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIButton", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uibutton", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 2, + "AlignmentOption": 8, + "AnchorsMax": { + "x": 1.0, + "y": 0.0 + }, + "AnchorsMin": { + "x": 1.0, + "y": 0.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": -72.8999939, + "y": 434.0 + }, + "OffsetMin": { + "x": -276.9, + "y": 230.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 204.0, + "y": 204.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -174.9, + "y": 332.0 + }, + "Position": { + "x": 785.1, + "y": -208.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "cd0560c4fc7f3b14994b90a502f00a21" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 0, + "Enable": true + }, + { + "@type": "MOD.Core.ButtonComponent", + "Colors": { + "NormalColor": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "HighlightedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1.0 + }, + "PressedColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 1.0 + }, + "SelectedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1.0 + }, + "DisabledColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 0.5019608 + }, + "ColorMultiplier": 1.0, + "FadeDuration": 0.1 + }, + "ImageRUIDs": { + "HighlightedSprite": null, + "PressedSprite": null, + "SelectedSprite": null, + "DisabledSprite": null + }, + "KeyCode": 306, + "OverrideSorting": false, + "Transition": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "9f931bac-d6f5-491a-a96a-01b839b6e15e", + "path": "/ui/DefaultGroup/Button_Attack/UISprite", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "UISprite", + "path": "/ui/DefaultGroup/Button_Attack/UISprite", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 52.0, + "y": 53.5 + }, + "OffsetMin": { + "x": -56.0, + "y": -55.5 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 108.0, + "y": 109.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -2.0, + "y": -1.0 + }, + "Position": { + "x": -2.0, + "y": -1.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "cc55ed79f099cc94fae152e754984ddd" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 0, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "6b1820f5-0c0c-4a55-b0c5-338f5b5192f7", + "path": "/ui/DefaultGroup/Button_Jump", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent", + "jsonString": { + "name": "Button_Jump", + "path": "/ui/DefaultGroup/Button_Jump", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 1, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIButton", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uibutton", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 2, + "AlignmentOption": 8, + "AnchorsMax": { + "x": 1.0, + "y": 0.0 + }, + "AnchorsMin": { + "x": 1.0, + "y": 0.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": -290.0, + "y": 295.57 + }, + "OffsetMin": { + "x": -494.0, + "y": 91.57001 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 204.0, + "y": 204.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -392.0, + "y": 193.57 + }, + "Position": { + "x": 568.0, + "y": -346.43, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "cd0560c4fc7f3b14994b90a502f00a21" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 0, + "Enable": true + }, + { + "@type": "MOD.Core.ButtonComponent", + "Colors": { + "NormalColor": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "HighlightedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1.0 + }, + "PressedColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 1.0 + }, + "SelectedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1.0 + }, + "DisabledColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 0.5019608 + }, + "ColorMultiplier": 1.0, + "FadeDuration": 0.1 + }, + "ImageRUIDs": { + "HighlightedSprite": null, + "PressedSprite": null, + "SelectedSprite": null, + "DisabledSprite": null + }, + "KeyCode": 32, + "OverrideSorting": false, + "Transition": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "a9526f99-5b9b-4149-9b74-d9a1f7933eb7", + "path": "/ui/DefaultGroup/Button_Jump/UISprite", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "UISprite", + "path": "/ui/DefaultGroup/Button_Jump/UISprite", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 71.5, + "y": 68.0 + }, + "OffsetMin": { + "x": -81.5, + "y": -66.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 153.0, + "y": 134.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -5.0, + "y": 1.0 + }, + "Position": { + "x": -5.0, + "y": 1.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "b44742a7c3de2604ba4999a54ae0b4ed" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 0, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "2f850b97-b76e-432a-a22e-09f62343f7c7", + "path": "/ui/DefaultGroup/UIJoystick", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.JoystickComponent", + "jsonString": { + "name": "UIJoystick", + "path": "/ui/DefaultGroup/UIJoystick", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 2, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 2, + "AlignmentOption": 7, + "AnchorsMax": { + "x": 0.0, + "y": 0.0 + }, + "AnchorsMin": { + "x": 0.0, + "y": 0.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 410.0, + "y": 330.0001 + }, + "OffsetMin": { + "x": 210.0, + "y": 129.999908 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 200.0, + "y": 200.0002 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 310.0, + "y": 230.0 + }, + "Position": { + "x": -650.0, + "y": -310.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.JoystickComponent", + "Axis": 0, + "DynamicStick": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "7c0f8bb5-cf19-437c-9bb8-97e81f836dce", + "path": "/ui/DefaultGroup/UIChat", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ChatComponent", + "jsonString": { + "name": "UIChat", + "path": "/ui/DefaultGroup/UIChat", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 3, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIEmpty", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uiempty", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 4, + "AnchorsMax": { + "x": 0.0, + "y": 1.0 + }, + "AnchorsMin": { + "x": 0.0, + "y": 1.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 717.8341, + "y": -32.4276428 + }, + "OffsetMin": { + "x": 20.1109619, + "y": -471.1826 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 697.723145, + "y": 438.754944 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 368.972534, + "y": -251.805115 + }, + "Position": { + "x": -591.027466, + "y": 288.1949, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.ChatComponent", + "Expand": true, + "UseChatBalloon": true, + "UseChatEmotion": true, + "Enable": true + } + ], + "@version": 1 + } + } + ] + } +} \ No newline at end of file diff --git a/ui/PopupGroup.ui b/ui/PopupGroup.ui new file mode 100644 index 0000000..ba9a8c9 --- /dev/null +++ b/ui/PopupGroup.ui @@ -0,0 +1,1198 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "ui://fb7a3b06-7026-4590-8efe-bb33416dd8f9", + "ContentType": "x-mod/ui", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Binary", + "Entities": [ + { + "id": "fb7a3b06-7026-4590-8efe-bb33416dd8f9", + "path": "/ui/PopupGroup", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.UIGroupComponent,MOD.Core.CanvasGroupComponent", + "jsonString": { + "name": "PopupGroup", + "path": "/ui/PopupGroup", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 1, + "pathConstraints": "//", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIGroup", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uigroup", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 15, + "AnchorsMax": { + "x": 1.0, + "y": 1.0 + }, + "AnchorsMin": { + "x": 0.0, + "y": 0.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": -3.81469727E-06, + "y": 0.0 + }, + "OffsetMin": { + "x": -3.81469727E-06, + "y": 0.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 1920.0, + "y": 1080.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -3.81469727E-06, + "y": 0.0 + }, + "Position": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.UIGroupComponent", + "DefaultShow": false, + "GroupOrder": 1, + "GroupType": 1, + "Enable": true + }, + { + "@type": "MOD.Core.CanvasGroupComponent", + "BlocksRaycasts": true, + "GroupAlpha": 1.0, + "Interactable": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "e25e8e41-5cb9-4fae-8dc0-ea7dca85a91d", + "path": "/ui/PopupGroup/PopupBack", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "PopupBack", + "path": "/ui/PopupGroup/PopupBack", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 15, + "AnchorsMax": { + "x": 1.0, + "y": 1.0 + }, + "AnchorsMin": { + "x": 0.0, + "y": 0.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 220.724091, + "y": 200.0 + }, + "OffsetMin": { + "x": -220.724152, + "y": -200.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 2361.44824, + "y": 1480.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -2.28881836E-05, + "y": 0.0 + }, + "Position": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.600646734 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "aa954759-0e39-430f-85fa-80bf2e5fe31d", + "path": "/ui/PopupGroup/PopupBack/PopupPanel", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "PopupPanel", + "path": "/ui/PopupGroup/PopupBack/PopupPanel", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 490.5, + "y": 254.0 + }, + "OffsetMin": { + "x": -490.5, + "y": -254.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 981.0, + "y": 508.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0.0, + "y": 0.0 + }, + "Position": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "499c70eab41cfeb418a3ad9f87fd0285" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "3606e39d-32de-427e-8d23-b38af810a3b4", + "path": "/ui/PopupGroup/PopupBack/PopupPanel/PopupMessage", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "PopupMessage", + "path": "/ui/PopupGroup/PopupBack/PopupPanel/PopupMessage", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 389.999969, + "y": 216.440643 + }, + "OffsetMin": { + "x": -390.000031, + "y": -43.5593567 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 780.0, + "y": 260.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -2.11927636E-05, + "y": 86.44064 + }, + "Position": { + "x": -2.11927636E-05, + "y": 86.44064, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 0.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": false, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "Font": 0, + "FontColor": { + "r": 0.4509804, + "g": 0.4509804, + "b": 0.4509804, + "a": 1.0 + }, + "FontSize": 36, + "MaxSize": 40, + "MinSize": 10, + "OutlineColor": { + "r": 0.698039234, + "g": 0.698039234, + "b": 0.698039234, + "a": 1.0 + }, + "OutlineDistance": { + "x": 1.0, + "y": -1.0 + }, + "OutlineWidth": 1.0, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "팝업 메시지", + "UseOutLine": false, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "94a274e4-4111-40f1-924d-c95a3a1f14d5", + "path": "/ui/PopupGroup/PopupBack/PopupPanel/PopupBtnOK", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "PopupBtnOK", + "path": "/ui/PopupGroup/PopupBack/PopupPanel/PopupBtnOK", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 1, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIButton", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uibutton", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": -12.0, + "y": -81.0 + }, + "OffsetMin": { + "x": -420.0, + "y": -197.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 408.0, + "y": 116.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -216.0, + "y": -139.0 + }, + "Position": { + "x": -216.0, + "y": -139.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "83b7e4bf01f5ba14abf3adaa68cb3ad3" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.3019608, + "g": 0.3019608, + "b": 0.3019608, + "a": 1.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.ButtonComponent", + "Colors": { + "NormalColor": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "HighlightedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1.0 + }, + "PressedColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 1.0 + }, + "SelectedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1.0 + }, + "DisabledColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 0.5019608 + }, + "ColorMultiplier": 1.0, + "FadeDuration": 0.1 + }, + "ImageRUIDs": { + "HighlightedSprite": null, + "PressedSprite": null, + "SelectedSprite": null, + "DisabledSprite": null + }, + "KeyCode": 0, + "OverrideSorting": false, + "Transition": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": false, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "Font": 0, + "FontColor": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "FontSize": 38, + "MaxSize": 40, + "MinSize": 10, + "OutlineColor": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 1.0 + }, + "OutlineDistance": { + "x": 1.0, + "y": -1.0 + }, + "OutlineWidth": 1.0, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "확인", + "UseOutLine": false, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0f5de49b-2adc-409a-816d-15aa43df8e0d", + "path": "/ui/PopupGroup/PopupBack/PopupPanel/PopupBtnCancel", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "PopupBtnCancel", + "path": "/ui/PopupGroup/PopupBack/PopupPanel/PopupBtnCancel", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 2, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIButton", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uibutton", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 420.0, + "y": -81.0 + }, + "OffsetMin": { + "x": 12.0, + "y": -197.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 408.0, + "y": 116.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 216.0, + "y": -139.0 + }, + "Position": { + "x": 216.0, + "y": -139.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "83b7e4bf01f5ba14abf3adaa68cb3ad3" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.9254902, + "g": 0.9254902, + "b": 0.9254902, + "a": 1.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.ButtonComponent", + "Colors": { + "NormalColor": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "HighlightedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1.0 + }, + "PressedColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 1.0 + }, + "SelectedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1.0 + }, + "DisabledColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 0.5019608 + }, + "ColorMultiplier": 1.0, + "FadeDuration": 0.1 + }, + "ImageRUIDs": { + "HighlightedSprite": null, + "PressedSprite": null, + "SelectedSprite": null, + "DisabledSprite": null + }, + "KeyCode": 0, + "OverrideSorting": false, + "Transition": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": false, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "Font": 0, + "FontColor": { + "r": 0.3019608, + "g": 0.3019608, + "b": 0.3019608, + "a": 1.0 + }, + "FontSize": 38, + "MaxSize": 40, + "MinSize": 10, + "OutlineColor": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 1.0 + }, + "OutlineDistance": { + "x": 1.0, + "y": -1.0 + }, + "OutlineWidth": 1.0, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "취소", + "UseOutLine": false, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "d57e4ae3-8b17-4cbf-bc44-e7c737743117", + "path": "/ui/PopupGroup/PopupBack/PopupPanel/deco_line", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "deco_line", + "path": "/ui/PopupGroup/PopupBack/PopupPanel/deco_line", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 3, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 10, + "AnchorsMax": { + "x": 1.0, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.0, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": -18.0, + "y": -44.0 + }, + "OffsetMin": { + "x": 18.0, + "y": -46.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 945.0, + "y": 2.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0.0, + "y": -45.0 + }, + "Position": { + "x": 0.0, + "y": -45.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.9254902, + "g": 0.9254902, + "b": 0.9254902, + "a": 1.0 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + } + ] + } +} \ No newline at end of file diff --git a/ui/ToastGroup.ui b/ui/ToastGroup.ui new file mode 100644 index 0000000..d56b208 --- /dev/null +++ b/ui/ToastGroup.ui @@ -0,0 +1,312 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "ui://0bc398f9-29cb-4d89-a78d-f24742b117e8", + "ContentType": "x-mod/ui", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "0.1.0.0", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Binary", + "Entities": [ + { + "id": "0bc398f9-29cb-4d89-a78d-f24742b117e8", + "path": "/ui/ToastGroup", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.UIGroupComponent,MOD.Core.CanvasGroupComponent", + "jsonString": { + "name": "ToastGroup", + "path": "/ui/ToastGroup", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 2, + "pathConstraints": "//", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "uigroup", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uigroup", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 15, + "AnchorsMax": { + "x": 1.0, + "y": 1.0 + }, + "AnchorsMin": { + "x": 0.0, + "y": 0.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 0.0, + "y": 0.0 + }, + "OffsetMin": { + "x": 0.0, + "y": 0.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 1920.0, + "y": 1080.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0.0, + "y": 0.0 + }, + "Position": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.UIGroupComponent", + "DefaultShow": false, + "GroupOrder": 2, + "GroupType": 1, + "Enable": true + }, + { + "@type": "MOD.Core.CanvasGroupComponent", + "BlocksRaycasts": true, + "GroupAlpha": 1.0, + "Interactable": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "7af9e538-1713-49f7-a83e-711c0f4b4a3c", + "path": "/ui/ToastGroup/Toast_message", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent,MOD.Core.CanvasGroupComponent", + "jsonString": { + "name": "Toast_message", + "path": "/ui/ToastGroup/Toast_message", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "///", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 3, + "AnchorsMax": { + "x": 0.5, + "y": 1.0 + }, + "AnchorsMin": { + "x": 0.5, + "y": 1.0 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 106.5, + "y": -24.0 + }, + "OffsetMin": { + "x": -106.5, + "y": -104.0 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 213.0, + "y": 80.0 + }, + "UIMode": 1, + "UIScale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0.0, + "y": -64.0 + }, + "Position": { + "x": 0.0, + "y": 476.0, + "z": 0.0 + }, + "QuaternionRotation": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "7d614552ba7843049bb48ebd4509fb8f" + }, + "LocalPosition": { + "x": 0.0, + "y": 0.0 + }, + "LocalScale": { + "x": 1.0, + "y": 1.0 + }, + "OverrideSorting": false, + "PlayRate": 1.0, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 0.6 + }, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "FillAmount": 1.0, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "OutlineWidth": 3.0, + "RaycastTarget": true, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": false, + "DropShadow": false, + "DropShadowAngle": 30.0, + "DropShadowColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.72 + }, + "DropShadowDistance": 32.0, + "Font": 0, + "FontColor": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "FontSize": 27, + "MaxSize": 40, + "MinSize": 10, + "OutlineColor": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 1.0 + }, + "OutlineDistance": { + "x": 1.0, + "y": -1.0 + }, + "OutlineWidth": 1.0, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 50, + "right": 50, + "top": 20, + "bottom": 20 + }, + "SizeFit": true, + "Text": "message", + "UseOutLine": false, + "Enable": true + }, + { + "@type": "MOD.Core.CanvasGroupComponent", + "BlocksRaycasts": true, + "GroupAlpha": 1.0, + "Interactable": true, + "Enable": true + } + ], + "@version": 1 + } + } + ] + } +} \ No newline at end of file