fix: resolve compilation errors, add tests, fix configs, update docs

- Fix 9 CS0101 duplicate classes between Mono/ and Mono/Classic/
  - BoardManager -> ClassicBoardManager, SquareClick -> ClassicSquareClick
  - Delete duplicate Piece/Pawn/King/Queen/Rook/Bishop/Knight from Classic/
  - Merge GetAttackSquares into Piece base class with overrides
- Fix King castling: reject castling through/while in check
- Assign URP pipeline to QualitySettings (6 levels) and GraphicsSettings
- Fix template identifiers (DefaultCompany -> EarthGenesisGames)
- Delete orphaned SampleScene.unity and duplicate URP assets
- Fix test assembly reference (Assembly-CSharp -> AjedrezPurgatorio.Runtime)
- Remove 11 unused packages (multiplayer, visualscripting, terrain, etc.)
- Update BoardInputSystemSpike for ClassicSquareClick
- Write unit tests: CheckDetector, DrawDetector, MoveValidator
- Fix BalanceConfig JSON structure to match C# class fields
- Update stale documentation (~30 files)
  - architecture.md, ADR-0001, roadmap, gate-check, EPIC.md
  - PROJECT_STATUS.md, BLOQUEADORES_JUGABILIDAD.md
  - tech-debt-register.md
- Add Unity Editor setup guide (production/UNITY_EDITOR_SETUP.md)
This commit is contained in:
2026-08-17 20:40:02 -03:00
parent 29446f95eb
commit b539aa403e
568 changed files with 41810 additions and 1302 deletions
+1
View File
@@ -0,0 +1 @@
{"sessionId":"8af39b73-92f0-40ce-85a3-934d4686b4a7","pid":28828,"acquiredAt":1782012372047}
-141
View File
@@ -1,141 +0,0 @@
# === IDE and Editor ===
.vs/
.vscode/settings.json
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db
Desktop.ini
# === Claude Code Local ===
.claude/settings.local.json
CLAUDE.local.md
production/session-logs/
# === Internal Planning (not for public) ===
expansions/
# === Runtime Artifacts (auto-generated, start empty on fresh clone) ===
# Created on first use by /consistency-check and /architecture-review
docs/consistency-failures.md
# === Build Output ===
build/
builds/
bin/
obj/
out/
dist/
*.exe
*.dll
*.so
*.dylib
*.app
# === Engine: Godot ===
.godot/
*.translation
export_presets.cfg
# Uncomment if using Godot:
# *.import
# === Engine: Unity ===
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
[Ll]ogs/
[Uu]ser[Ss]ettings/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
crashlytics-buildid.txt
sysinfo.txt
# Uncomment if using Unity:
# [Aa]ssets/[Aa]sset[Ss]tore[Tt]ools/
# === Engine: Unreal ===
Binaries/
DerivedDataCache/
Intermediate/
Saved/
*.VC.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
# Uncomment if using Unreal:
# *.uasset
# *.umap
# === Compiled Shaders ===
*.spv
*.cso
*.dxbc
# === Temporary and Cache ===
*.tmp
*.temp
*.cache
*.log
__pycache__/
*.pyc
node_modules/
.npm/
# === Archives ===
*.zip
*.tar.gz
*.rar
*.7z
# === Secrets and Environment ===
.env
.env.local
.env.*.local
*.pem
*.key
credentials.json
secrets.json
# === Large Binary Assets (use Git LFS instead) ===
# Uncomment and configure with Git LFS for your project:
# *.png
# *.jpg
# *.jpeg
# *.wav
# *.mp3
# *.ogg
# *.fbx
# *.blend
# *.psd
# *.tga
# *.exr
# *.hdr
# === OS Generated ===
ehthumbs.db
ehthumbs_vista.db
[Dd]esktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk
+32
View File
@@ -1,4 +1,36 @@
<Solution> <Solution>
<Project Path="AjedrezPurgatorio.Runtime.csproj" />
<Project Path="Unity.Multiplayer.Center.Editor.csproj" />
<Project Path="Unity.VisualScripting.Core.Editor.csproj" />
<Project Path="Unity.Notifications.iOS.csproj" />
<Project Path="Unity.VisualScripting.Flow.Editor.csproj" />
<Project Path="Unity.Notifications.Android.csproj" />
<Project Path="Unity.VisualScripting.Core.csproj" />
<Project Path="Unity.VisualScripting.State.Editor.csproj" />
<Project Path="Unity.VisualScripting.Flow.csproj" />
<Project Path="Assembly-CSharp.csproj" /> <Project Path="Assembly-CSharp.csproj" />
<Project Path="Unity.Mobile.AndroidLogcat.Editor.csproj" />
<Project Path="Unity.VisualScripting.State.csproj" />
<Project Path="Unity.Notifications.csproj" />
<Project Path="Unity.AdaptivePerformance.csproj" />
<Project Path="Assembly-CSharp-Editor.csproj" /> <Project Path="Assembly-CSharp-Editor.csproj" />
<Project Path="Unity.Multiplayer.Center.Common.csproj" />
<Project Path="Unity.Notifications.Unified.csproj" />
<Project Path="Unity.Multiplayer.Center.Editor.Tests.csproj" />
<Project Path="Unity.Mobile.AndroidLogcat.Editor.Tests.csproj" />
<Project Path="Unity.VisualScripting.SettingsProvider.Editor.csproj" />
<Project Path="Unity.Notifications.Tests.csproj" />
<Project Path="Unity.VisualScripting.Shared.Editor.csproj" />
<Project Path="Unity.iOS.Notifications.Tests.csproj" />
<Project Path="Unity.Mobile.AndroidLogcat.Integration.Editor.Tests.csproj" />
<Project Path="Unity.AdaptivePerformance.Tests.csproj" />
<Project Path="EditModeTests.csproj" />
<Project Path="Unity.Multiplayer.Center.Tests.csproj" />
<Project Path="Unity.Mobile.AndroidLogcat.Shared.Editor.Tests.csproj" />
<Project Path="Unity.VisualScripting.DocCodeExamples.csproj" />
<Project Path="Unity.Mobile.AndroidLogcat.Runtime.Tests.csproj" />
<Project Path="Unity.Android.Notifications.Tests.csproj" />
<Project Path="Unity.Notifications.Unified.Tests.csproj" />
<Project Path="Unity.Mobile.AndroidLogcat.Performance.Editor.Tests.csproj" />
<Project Path="AjedrezPurgatorio.Spikes.csproj" />
</Solution> </Solution>
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e1953ea688dfb834d9a994f2a710897d
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: dec6c37343b99e1429451df8da20cb81
+30 -89
View File
@@ -1,102 +1,43 @@
{ {
"balance_version": "1.0", "deadKings": {
"last_updated": "2026-05-10", "baseChance": 0.2,
"chapterMultiplier": 0.2,
"dead_kings": { "maxPoolSize": 100,
"spawn_probabilities": { "maxNameLength": 20,
"base_chance": 0.2, "maxMessageLength": 100
"chapter_multiplier": 0.2,
"comment": "Ch0: 20%, Ch1: 40%, Ch2: 60%"
},
"pool_settings": {
"max_pool_size": 100,
"rotation_method": "FIFO"
},
"input_limits": {
"max_name_length": 20,
"max_message_length": 100
}
}, },
"aiDifficulty": [
"ai_difficulty": { {
"chapter_0": {
"strategy": "random_with_capture_priority", "strategy": "random_with_capture_priority",
"minimax_depth": 1, "minimaxDepth": 1,
"think_time_ms": 500, "thinkTimeMs": 500
"comment": "Easy - Factory"
}, },
"chapter_1": { {
"strategy": "material_and_center", "strategy": "material_and_center",
"minimax_depth": 2, "minimaxDepth": 2,
"think_time_ms": 1000, "thinkTimeMs": 1000
"comment": "Medium - Hospital"
}, },
"chapter_2": { {
"strategy": "minimax_full", "strategy": "minimax_full",
"minimax_depth": 3, "minimaxDepth": 3,
"think_time_ms": 2000, "thinkTimeMs": 2000
"special_rules": ["death_judge_mode"],
"comment": "Hard - Court"
} }
}, ],
"dialogue": { "dialogue": {
"typewriter_speed_chars_per_second": 33, "typewriterSpeedCharsPerSecond": 33,
"continue_indicator_blink_rate": 0.5, "continueIndicatorBlinkRate": 0.5,
"fade_in_duration": 0.3, "fadeInDuration": 0.3,
"fade_out_duration": 0.2 "fadeOutDuration": 0.2
}, },
"uiTimings": {
"ui": { "feedbackDisplayTime": 2.0,
"dead_king_input": { "submitDebounceTime": 0.5,
"feedback_display_time": 2.0, "fadeInDuration": 0.5,
"submit_debounce_time": 0.5, "fadeOutDuration": 0.5
"fade_in_duration": 0.5,
"fade_out_duration": 0.5
},
"dead_king_reveal": {
"fade_in_duration": 1.0,
"fade_out_duration": 0.5,
"display_min_time": 3.0
},
"pause_menu": {
"fade_duration": 0.2
}
}, },
"saveSystem": {
"save_system": { "maxSaveSlots": 3,
"max_save_slots": 3, "autoSaveAfterChapter": true,
"auto_save_after_chapter": true, "saveVersion": 1
"save_version": 1
},
"purgatorio": {
"dice_modifiers": {
"base_roll_range": [1, 6],
"luck_bonus_per_ally": 0,
"desperation_bonus_pieces_lost": 0,
"comment": "Neutral - no modifiers for Vertical Slice"
},
"mini_game_settings": {
"time_limit_seconds": 30,
"win_condition": "higher_roll",
"tie_handling": "player_wins"
}
},
"performance": {
"target_fps": 60,
"vsync_enabled": true,
"quality_preset": "Medium"
},
"tuning_notes": {
"comment": "Adjust these values based on playtesting feedback",
"priority_areas": [
"AI difficulty curve (Ch2 may be too hard)",
"Dead King spawn rates (may need tweaking per chapter)",
"Typewriter speed (some players may want faster)",
"Dialogue fade timings"
]
} }
} }
+671
View File
@@ -0,0 +1,671 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 10
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 3
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 13
m_BakeOnSceneLoad: 0
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &113697034
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 113697035}
m_Layer: 0
m_Name: Classic
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &113697035
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 113697034}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 100.00485, y: 55.30063, z: -540.32166}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1598401523}
- {fileID: 1229223785}
- {fileID: 429894531}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &410965106
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 410965108}
m_Layer: 0
m_Name: Combat
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &410965108
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 410965106}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 100.00485, y: 55.30063, z: -540.32166}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &429894530
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 429894531}
m_Layer: 0
m_Name: BoardParent
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &429894531
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 429894530}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -100.28258, y: -55.01001, z: 540.26526}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 113697035}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &519420028
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 519420032}
- component: {fileID: 519420031}
- component: {fileID: 519420029}
- component: {fileID: 519420030}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &519420029
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 519420028}
m_Enabled: 1
--- !u!114 &519420030
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 519420028}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
--- !u!20 &519420031
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 519420028}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 34
orthographic: 1
orthographic size: 45
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 0
m_HDR: 1
m_AllowMSAA: 0
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 0
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &519420032
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 519420028}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 35, y: 36, z: -214}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &619394800
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 619394802}
- component: {fileID: 619394801}
m_Layer: 0
m_Name: Global Light 2D
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &619394801
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 619394800}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ComponentVersion: 2
m_LightType: 4
m_BlendStyleIndex: 0
m_FalloffIntensity: 0.5
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Intensity: 1
m_LightVolumeIntensity: 1
m_LightVolumeEnabled: 0
m_ApplyToSortingLayers: 00000000
m_LightCookieSprite: {fileID: 0}
m_DeprecatedPointLightCookieSprite: {fileID: 0}
m_LightOrder: 0
m_AlphaBlendOnOverlap: 0
m_OverlapOperation: 0
m_NormalMapDistance: 3
m_NormalMapQuality: 2
m_UseNormalMap: 0
m_ShadowsEnabled: 0
m_ShadowIntensity: 0.75
m_ShadowSoftness: 0
m_ShadowSoftnessFalloffIntensity: 0.5
m_ShadowVolumeIntensityEnabled: 0
m_ShadowVolumeIntensity: 0.75
m_LocalBounds:
m_Center: {x: 0, y: -0.00000011920929, z: 0}
m_Extent: {x: 0.9985302, y: 0.99853027, z: 0}
m_PointLightInnerAngle: 360
m_PointLightOuterAngle: 360
m_PointLightInnerRadius: 0
m_PointLightOuterRadius: 1
m_ShapeLightParametricSides: 5
m_ShapeLightParametricAngleOffset: 0
m_ShapeLightParametricRadius: 1
m_ShapeLightFalloffSize: 0.5
m_ShapeLightFalloffOffset: {x: 0, y: 0}
m_ShapePath:
- {x: -0.5, y: -0.5, z: 0}
- {x: 0.5, y: -0.5, z: 0}
- {x: 0.5, y: 0.5, z: 0}
- {x: -0.5, y: 0.5, z: 0}
--- !u!4 &619394802
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 619394800}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1229223783
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1229223785}
- component: {fileID: 1229223784}
- component: {fileID: 1229223786}
- component: {fileID: 1229223787}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!61 &1229223784
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1229223783}
m_Enabled: 1
serializedVersion: 3
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 0
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 10.24, y: 10.24}
newSize: {x: 10.24, y: 10.24}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!4 &1229223785
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1229223783}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -143.98485, y: -56.02063, z: 540.26526}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 113697035}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1229223786
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1229223783}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: -2519740732571446246, guid: 20d10ea83d757e447aa38c5e77db9d5f, type: 3}
m_Color: {r: 0.21568628, g: 0.21568628, b: 0.21568628, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 10.24, y: 10.24}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &1229223787
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1229223783}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c23a6c3771ca740beae200d91c2db263, type: 3}
m_Name:
m_EditorClassIdentifier:
position: {x: 0, y: 0}
--- !u!1 &1598401521
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1598401523}
- component: {fileID: 1598401522}
- component: {fileID: 1598401524}
m_Layer: 0
m_Name: board
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1598401522
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1598401521}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9e64f4618b0cb684d9ebdd01870e8089, type: 3}
m_Name:
m_EditorClassIdentifier:
whitePawnPrefab: {fileID: 4839719450102453836, guid: 314b98ad6af87f04b995a2963b6dece0, type: 3}
whiteRookPrefab: {fileID: 421683061016990142, guid: 7c0bcf43f072e0949b44e22faf6d89c7, type: 3}
whiteKnightPrefab: {fileID: 1041219497319770869, guid: d75b52b436d24604fbe519a4e811a9ad, type: 3}
whiteBishopPrefab: {fileID: 3436116337310627786, guid: f0cb0664b407c2b46b30cc3f7e77813a, type: 3}
whiteQueenPrefab: {fileID: 5862557536314685207, guid: 44e879c6ba4a30348bddad5621f4f788, type: 3}
whiteKingPrefab: {fileID: 728854981946252224, guid: d3abccdd8834a8d488bb64e85f1a07f3, type: 3}
blackPawnPrefab: {fileID: 3690398965028752334, guid: bf26022af485ebf4894d871ee2eaacff, type: 3}
blackRookPrefab: {fileID: 606859959840155736, guid: a4670a5a19525954a83d15ffa8e8c092, type: 3}
blackKnightPrefab: {fileID: 6303868409224350045, guid: 40216cc139956394c9c48c6ce43e5660, type: 3}
blackBishopPrefab: {fileID: 2192278787647510673, guid: eea577693c378de469fe920332dd8cdf, type: 3}
blackQueenPrefab: {fileID: 3123405151575453274, guid: ba3412a2f32dd264682017f86d25136f, type: 3}
blackKingPrefab: {fileID: 1673858317397921791, guid: 16e05df0bc66c724cbf583767c77e85c, type: 3}
brownPrefab: {fileID: 7499455593434025941, guid: 39ed7c0e02bdc9848a4a460964541f0b, type: 3}
grayPrefab: {fileID: 4764571787950824796, guid: 8b7e3d08bfcaf1841b88a178e4fdf776, type: 3}
moveIndicatorPrefab: {fileID: 3432395634358156766, guid: 56d9528e8b72645bcaafd6d809e82d64, type: 3}
boardParent: {fileID: 1598401523}
tileSize: 10.24
--- !u!4 &1598401523
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1598401521}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -94.37277, y: -50.08042, z: 540.27057}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 113697035}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1598401524
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1598401521}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1203a8c50abf9ee4a8e6a24cf93b3b89, type: 3}
m_Name:
m_EditorClassIdentifier:
modoIA: 1
whiteTurn: 1
selectedPiece: {fileID: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 519420032}
- {fileID: 619394802}
- {fileID: 113697035}
- {fileID: 410965108}
@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8c9cfa26abfee488c85f1582747f6a02 guid: adb1f16b68f0742fa8f23502b2d06994
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:
@@ -0,0 +1,17 @@
{
"name": "AjedrezPurgatorio.Runtime",
"rootNamespace": "",
"references": [
"Unity.TextMeshPro",
"UnityEngine.UI"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3cbc09a58d49f504db3099d3568136e3
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7749e6bb676e04490922dd3079ac287a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,157 @@
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class ClassicBoardManager : MonoBehaviour
{
[Header("Prefabs de Piezas")]
public GameObject whitePawnPrefab;
public GameObject whiteRookPrefab;
public GameObject whiteKnightPrefab;
public GameObject whiteBishopPrefab;
public GameObject whiteQueenPrefab;
public GameObject whiteKingPrefab;
public GameObject blackPawnPrefab;
public GameObject blackRookPrefab;
public GameObject blackKnightPrefab;
public GameObject blackBishopPrefab;
public GameObject blackQueenPrefab;
public GameObject blackKingPrefab;
[Header("Prefabs de Casillas")]
public GameObject brownPrefab;
public GameObject grayPrefab;
[Header("Indicadores de Movimiento")]
public GameObject moveIndicatorPrefab;
public GameObject[,] indicators = new GameObject[8, 8];
public Transform boardParent;
public float tileSize = 10.24f;
public GameObject[,] squares = new GameObject[8, 8];
public static ClassicBoardManager Instance;
void Awake()
{
if (Instance == null) Instance = this;
else Destroy(gameObject);
}
void Start()
{
GenerateBoard();
GenerateIndicators();
PlacePieces();
}
void GenerateBoard()
{
for (int x = 0; x < 8; x++)
{
for (int y = 0; y < 8; y++)
{
bool isBrown = (x + y) % 2 == 0;
GameObject prefabToUse = isBrown ? brownPrefab : grayPrefab;
Vector3 position = new Vector3(x * tileSize, y * tileSize, 0f);
GameObject square = Instantiate(prefabToUse, position, Quaternion.identity, boardParent);
square.name = $"Square_{x}_{y}";
squares[x, y] = square;
var squareClick = square.AddComponent<ClassicSquareClick>();
squareClick.position = new Vector2Int(x, y);
}
}
}
void PlacePiece(GameObject prefab, int x, int y, bool isWhite)
{
if (prefab == null)
{
string message = $"ClassicBoardManager: falta asignar el prefab en ({x}, {y}).";
Debug.LogError(message);
#if UNITY_EDITOR
EditorApplication.isPlaying = false;
#endif
throw new System.InvalidOperationException(message);
}
Vector3 position = new Vector3(x * tileSize, y * tileSize, -1f);
GameObject pieceObj = Instantiate(prefab, position, Quaternion.identity);
Piece piece = pieceObj.GetComponent<Piece>();
if (piece == null)
{
Debug.LogError($"El prefab '{prefab.name}' no tiene el script 'Piece'");
return;
}
piece.currentPos = new Vector2Int(x, y);
piece.isWhite = isWhite;
GameManagerClassic.Instance.board[x, y] = piece;
}
void PlacePieces()
{
for (int x = 0; x < 8; x++)
{
PlacePiece(whitePawnPrefab, x, 1, true);
PlacePiece(blackPawnPrefab, x, 6, false);
}
PlacePiece(whiteRookPrefab, 0, 0, true);
PlacePiece(whiteKnightPrefab, 1, 0, true);
PlacePiece(whiteBishopPrefab, 2, 0, true);
PlacePiece(whiteQueenPrefab, 3, 0, true);
PlacePiece(whiteKingPrefab, 4, 0, true);
PlacePiece(whiteBishopPrefab, 5, 0, true);
PlacePiece(whiteKnightPrefab, 6, 0, true);
PlacePiece(whiteRookPrefab, 7, 0, true);
PlacePiece(blackRookPrefab, 0, 7, false);
PlacePiece(blackKnightPrefab, 1, 7, false);
PlacePiece(blackBishopPrefab, 2, 7, false);
PlacePiece(blackQueenPrefab, 3, 7, false);
PlacePiece(blackKingPrefab, 4, 7, false);
PlacePiece(blackBishopPrefab, 5, 7, false);
PlacePiece(blackKnightPrefab, 6, 7, false);
PlacePiece(blackRookPrefab, 7, 7, false);
}
public void ShowIndicator(Vector2Int pos)
{
if (IsInsideBoard(pos))
indicators[pos.x, pos.y].SetActive(true);
}
public void HideAllIndicators()
{
foreach (var indicator in indicators)
{
if (indicator != null)
indicator.SetActive(false);
}
}
private bool IsInsideBoard(Vector2Int pos)
{
return pos.x >= 0 && pos.x < 8 && pos.y >= 0 && pos.y < 8;
}
public void GenerateIndicators()
{
for (int x = 0; x < 8; x++)
{
for (int y = 0; y < 8; y++)
{
Vector3 position = new Vector3(x * tileSize, y * tileSize, -0.5f);
GameObject indicator = Instantiate(moveIndicatorPrefab, position, Quaternion.identity, boardParent);
indicator.SetActive(false);
indicators[x, y] = indicator;
}
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 0db4ad0b948333d4d9acca111aadd412
@@ -0,0 +1,225 @@
using UnityEngine;
using System.Linq;
using System.Collections.Generic;
public class GameManagerClassic : MonoBehaviour
{
public static GameManagerClassic Instance;
public bool modoIA = true;
public bool whiteTurn = true;
[Header("UI de Promoción")]
public GameObject promotionPanel;
private Piece pawnToPromote;
private bool isPromotionPending = false;
[Header("Estado del Tablero")]
public Piece[,] board = new Piece[8, 8];
public Piece selectedPiece = null;
private bool waitingForAIMove = false;
void Awake()
{
if (Instance == null) Instance = this;
else Destroy(gameObject);
}
private void Update()
{
if (modoIA && !whiteTurn && !waitingForAIMove && !isPromotionPending)
{
waitingForAIMove = true;
Invoke("MakeAIMove", 0.6f);
}
}
public void SelectPiece(Piece piece)
{
if (isPromotionPending || (modoIA && !whiteTurn)) return;
if (selectedPiece == piece) { HidePieceMoves(selectedPiece); selectedPiece = null; return; }
if (piece != null && piece.isWhite == whiteTurn)
{
if (selectedPiece != null) HidePieceMoves(selectedPiece);
selectedPiece = piece;
ShowPieceMoves(selectedPiece);
}
}
public void TryMoveTo(Vector2Int targetPos)
{
if (selectedPiece == null || isPromotionPending) return;
var availableMoves = selectedPiece.GetAvailableMoves(board);
if (availableMoves.Contains(targetPos) && IsLegalMove(selectedPiece, targetPos))
{
HidePieceMoves(selectedPiece);
MovePiece(selectedPiece, targetPos);
selectedPiece = null;
}
}
private void ShowPieceMoves(Piece piece)
{
if (ClassicBoardManager.Instance == null) return;
var moves = piece.GetAvailableMoves(board);
ClassicBoardManager.Instance.HideAllIndicators();
foreach (var move in moves)
{
ClassicBoardManager.Instance.ShowIndicator(move);
}
}
private void HidePieceMoves(Piece piece)
{
if (ClassicBoardManager.Instance == null) return;
ClassicBoardManager.Instance.HideAllIndicators();
}
public void MovePiece(Piece piece, Vector2Int newPos)
{
Vector2Int oldPos = piece.currentPos;
bool isCastling = (piece is King) && Mathf.Abs(newPos.x - oldPos.x) == 2;
// --- Lógica de Captura y Puntaje ---
Piece captured = board[newPos.x, newPos.y];
if (captured != null)
{
if (ScoreManager.Instance != null)
ScoreManager.Instance.RegisterCapture(piece, captured);
Destroy(captured.gameObject);
}
board[oldPos.x, oldPos.y] = null;
board[newPos.x, newPos.y] = piece;
piece.transform.position = new Vector3(newPos.x * ClassicBoardManager.Instance.tileSize, newPos.y * ClassicBoardManager.Instance.tileSize, -1f);
piece.currentPos = newPos;
piece.hasMoved = true;
if (isCastling) HandleCastlingRook(newPos);
if (piece is Pawn && (newPos.y == 7 || newPos.y == 0))
{
if (piece.isWhite) { PreparePromotion(piece); return; }
else { pawnToPromote = piece; OnSelectPromotion("Queen"); return; }
}
FinishTurn();
}
private void HandleCastlingRook(Vector2Int kingPos)
{
int rookOldX = (kingPos.x == 6) ? 7 : 0;
int rookNewX = (kingPos.x == 6) ? 5 : 3;
Piece rook = board[rookOldX, kingPos.y];
board[rookOldX, kingPos.y] = null;
board[rookNewX, kingPos.y] = rook;
rook.transform.position = new Vector3(rookNewX * ClassicBoardManager.Instance.tileSize, kingPos.y * ClassicBoardManager.Instance.tileSize, -1f);
rook.currentPos = new Vector2Int(rookNewX, kingPos.y);
rook.hasMoved = true;
}
// --- PARCHE DE PROMOCIÓN CORREGIDO ---
public void OnSelectPromotion(string pieceType)
{
Vector2Int pos = pawnToPromote.currentPos;
bool isWhiteFlag = pawnToPromote.isWhite;
Destroy(pawnToPromote.gameObject);
GameObject prefab = pieceType switch {
"Queen" => isWhiteFlag ? ClassicBoardManager.Instance.whiteQueenPrefab : ClassicBoardManager.Instance.blackQueenPrefab,
"Rook" => isWhiteFlag ? ClassicBoardManager.Instance.whiteRookPrefab : ClassicBoardManager.Instance.blackRookPrefab,
"Knight" => isWhiteFlag ? ClassicBoardManager.Instance.whiteKnightPrefab : ClassicBoardManager.Instance.blackKnightPrefab,
"Bishop" => isWhiteFlag ? ClassicBoardManager.Instance.whiteBishopPrefab : ClassicBoardManager.Instance.blackBishopPrefab,
_ => isWhiteFlag ? ClassicBoardManager.Instance.whiteQueenPrefab : ClassicBoardManager.Instance.blackQueenPrefab
};
GameObject newPieceObj = Instantiate(prefab, new Vector3(pos.x * ClassicBoardManager.Instance.tileSize, pos.y * ClassicBoardManager.Instance.tileSize, -1f), Quaternion.identity);
Piece newPiece = newPieceObj.GetComponent<Piece>();
newPiece.currentPos = pos;
newPiece.isWhite = isWhiteFlag;
board[pos.x, pos.y] = newPiece;
if (promotionPanel != null) promotionPanel.SetActive(false);
isPromotionPending = false;
pawnToPromote = null;
if (ScoreManager.Instance != null) ScoreManager.Instance.AddPromotionScore(isWhiteFlag);
FinishTurn();
}
private void PreparePromotion(Piece pawn)
{
isPromotionPending = true;
pawnToPromote = pawn;
if (promotionPanel != null) promotionPanel.SetActive(true);
}
public void FinishTurn()
{
whiteTurn = !whiteTurn;
if (IsCheckmate(whiteTurn)) Debug.LogWarning("JAQUE MATE");
}
public bool IsLegalMove(Piece piece, Vector2Int move)
{
Vector2Int oldPos = piece.currentPos;
Piece target = board[move.x, move.y];
board[oldPos.x, oldPos.y] = null;
board[move.x, move.y] = piece;
piece.currentPos = move;
bool inCheck = IsInCheck(piece.isWhite);
piece.currentPos = oldPos;
board[oldPos.x, oldPos.y] = piece;
board[move.x, move.y] = target;
return !inCheck;
}
public bool IsInCheck(bool forWhite)
{
Vector2Int kingPos = Vector2Int.zero;
bool found = false;
foreach (var p in board) if (p is King && p.isWhite == forWhite) { kingPos = p.currentPos; found = true; break; }
return found && IsSquareUnderAttack(kingPos, !forWhite);
}
public bool IsSquareUnderAttack(Vector2Int pos, bool byWhite)
{
// Each piece defines its own attack squares (TD-003/TD-008) -- King and
// Pawn override GetAttackSquares because their attack set differs from
// GetAvailableMoves; everything else's attack set equals its move set.
foreach (var p in board)
{
if (p != null && p.isWhite == byWhite && p.GetAttackSquares(board).Contains(pos))
return true;
}
return false;
}
public bool IsCheckmate(bool forWhite)
{
if (!IsInCheck(forWhite)) return false;
foreach (var p in board) if (p != null && p.isWhite == forWhite) if (p.GetAvailableMoves(board).Any(m => IsLegalMove(p, m))) return false;
return true;
}
void MakeAIMove()
{
waitingForAIMove = false;
List<Piece> blackPieces = new List<Piece>();
foreach (var p in board) if (p != null && !p.isWhite) blackPieces.Add(p);
System.Random rand = new System.Random();
foreach (var piece in blackPieces.OrderBy(x => rand.Next()))
{
var moves = piece.GetAvailableMoves(board);
var legalMoves = moves.Where(m => IsLegalMove(piece, m)).ToList();
if (legalMoves.Count > 0)
{
var captures = legalMoves.Where(m => board[m.x, m.y] != null).ToList();
MovePiece(piece, captures.Count > 0 ? captures[rand.Next(captures.Count)] : legalMoves[rand.Next(legalMoves.Count)]);
return;
}
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e2d4f1d894458eb42bcef62be12813ef
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 73b59f24ffd515f48a9c750c9738b704
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
using UnityEngine;
public class ClassicSquareClick : MonoBehaviour
{
public Vector2Int position;
void OnMouseDown()
{
Piece piece = GameManagerClassic.Instance.board[position.x, position.y];
if (piece != null && piece.isWhite == GameManagerClassic.Instance.whiteTurn)
{
GameManagerClassic.Instance.SelectPiece(piece);
}
else
{
GameManagerClassic.Instance.TryMoveTo(position);
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ba179e0832ea8a74899f21f052e17812
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 82e5907bab8464dac9fa936c26570738
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,126 @@
// ✅ BoardManagerCombat.cs
using UnityEngine;
public class BoardManagerCombat : MonoBehaviour
{
[Header("Prefabs de Piezas")]
public GameObject whitePawnPrefab, whiteRookPrefab, whiteKnightPrefab, whiteBishopPrefab, whiteQueenPrefab, whiteKingPrefab;
public GameObject blackPawnPrefab, blackRookPrefab, blackKnightPrefab, blackBishopPrefab, blackQueenPrefab, blackKingPrefab;
[Header("Prefabs de Casillas")]
public GameObject brownPrefab, grayPrefab;
[Header("Indicadores de Movimiento")]
public GameObject moveIndicatorPrefab;
public GameObject[,] indicators = new GameObject[8, 8];
public Transform boardParent;
public float tileSize = 10.24f;
public GameObject[,] squares = new GameObject[8, 8];
public static BoardManagerCombat Instance;
void Awake()
{
if (Instance == null) Instance = this;
else Destroy(gameObject);
}
void Start()
{
GenerateBoard();
GenerateIndicators();
PlacePieces();
}
void GenerateBoard()
{
for (int x = 0; x < 8; x++)
{
for (int y = 0; y < 8; y++)
{
GameObject prefabToUse = (x + y) % 2 == 0 ? brownPrefab : grayPrefab;
Vector3 pos = new(x * tileSize, y * tileSize, 0f);
GameObject square = Instantiate(prefabToUse, pos, Quaternion.identity, boardParent);
square.name = $"Square_{x}_{y}";
squares[x, y] = square;
var click = square.AddComponent<SquareClickCombat>();
click.position = new Vector2Int(x, y);
}
}
}
void PlacePiece(GameObject prefab, int x, int y, bool isWhite)
{
if (!prefab) { Debug.LogError($"Prefab faltante en ({x},{y})"); return; }
Vector3 pos = new(x * tileSize, y * tileSize, -1f);
GameObject pieceObj = Instantiate(prefab, pos, Quaternion.identity);
PieceCombat piece = pieceObj.GetComponent<PieceCombat>();
if (!piece) { Debug.LogError($"El prefab {prefab.name} no tiene el script PieceCombat"); return; }
piece.currentPos = new Vector2Int(x, y);
piece.isWhite = isWhite;
GameManagerCombat.Instance.board[x, y] = piece;
}
void PlacePieces()
{
for (int x = 0; x < 8; x++)
{
PlacePiece(whitePawnPrefab, x, 1, true);
PlacePiece(blackPawnPrefab, x, 6, false);
}
PlacePiece(whiteRookPrefab, 0, 0, true);
PlacePiece(whiteKnightPrefab, 1, 0, true);
PlacePiece(whiteBishopPrefab, 2, 0, true);
PlacePiece(whiteQueenPrefab, 3, 0, true);
PlacePiece(whiteKingPrefab, 4, 0, true);
PlacePiece(whiteBishopPrefab, 5, 0, true);
PlacePiece(whiteKnightPrefab, 6, 0, true);
PlacePiece(whiteRookPrefab, 7, 0, true);
PlacePiece(blackRookPrefab, 0, 7, false);
PlacePiece(blackKnightPrefab, 1, 7, false);
PlacePiece(blackBishopPrefab, 2, 7, false);
PlacePiece(blackQueenPrefab, 3, 7, false);
PlacePiece(blackKingPrefab, 4, 7, false);
PlacePiece(blackBishopPrefab, 5, 7, false);
PlacePiece(blackKnightPrefab, 6, 7, false);
PlacePiece(blackRookPrefab, 7, 7, false);
}
public void ShowIndicator(Vector2Int pos)
{
if (IsInsideBoard(pos)) indicators[pos.x, pos.y].SetActive(true);
}
public void HideAllIndicators()
{
foreach (var indicator in indicators)
if (indicator != null) indicator.SetActive(false);
}
bool IsInsideBoard(Vector2Int pos)
{
return pos.x >= 0 && pos.x < 8 && pos.y >= 0 && pos.y < 8;
}
void GenerateIndicators()
{
for (int x = 0; x < 8; x++)
for (int y = 0; y < 8; y++)
{
Vector3 pos = new(x * tileSize, y * tileSize, -0.5f);
GameObject indicator = Instantiate(moveIndicatorPrefab, pos, Quaternion.identity, boardParent);
indicator.SetActive(false);
indicators[x, y] = indicator;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9b4e7cad7eaff4b03bf65d07561643d1
@@ -0,0 +1,142 @@
// ✅ GameManagerCombat.cs
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class GameManagerCombat : MonoBehaviour
{
public static GameManagerCombat Instance;
public PieceCombat[,] board = new PieceCombat[8, 8];
public bool whiteTurn = true;
public bool modoIA = true;
public PieceCombat selectedPiece = null;
private bool waitingForAIMove = false;
void Awake()
{
if (Instance == null) Instance = this;
else Destroy(gameObject);
}
void Update()
{
if (modoIA && !whiteTurn && !waitingForAIMove)
{
waitingForAIMove = true;
Invoke(nameof(MakeAIMove), 0.5f);
}
}
void MakeAIMove()
{
waitingForAIMove = false;
var pieces = board.Cast<PieceCombat>().Where(p => p != null && !p.isWhite).ToList();
System.Random rand = new();
foreach (var piece in pieces.OrderBy(_ => rand.Next()))
{
var moves = piece.GetAvailableMoves(board);
foreach (var move in moves.Where(m => board[m.x, m.y] != null && board[m.x, m.y].isWhite))
{
if (IsLegalMove(piece, move)) { MovePiece(piece, move); return; }
}
foreach (var move in moves)
{
if (IsLegalMove(piece, move)) { MovePiece(piece, move); return; }
}
}
Debug.Log("La IA no tiene movimientos legales.");
}
public void SelectPiece(PieceCombat piece)
{
if (selectedPiece == piece) { piece.HideMoves(); selectedPiece = null; return; }
if (piece.isWhite == whiteTurn)
{
selectedPiece?.HideMoves();
selectedPiece = piece;
piece.ShowMoves();
}
}
public void TryMoveTo(Vector2Int targetPos)
{
if (selectedPiece == null) return;
var available = selectedPiece.GetAvailableMoves(board);
if (!available.Contains(targetPos)) return;
Vector2Int oldPos = selectedPiece.currentPos;
PieceCombat captured = board[targetPos.x, targetPos.y];
board[oldPos.x, oldPos.y] = null;
board[targetPos.x, targetPos.y] = selectedPiece;
selectedPiece.currentPos = targetPos;
if (IsInCheck(selectedPiece.isWhite))
{
board[targetPos.x, targetPos.y] = captured;
board[oldPos.x, oldPos.y] = selectedPiece;
selectedPiece.currentPos = oldPos;
Debug.Log("Movimiento inválido: deja en jaque.");
return;
}
MovePiece(selectedPiece, targetPos);
selectedPiece.HideMoves();
selectedPiece = null;
}
public void MovePiece(PieceCombat piece, Vector2Int newPos)
{
Vector2Int oldPos = piece.currentPos;
PieceCombat captured = board[newPos.x, newPos.y];
if (captured != null) Destroy(captured.gameObject);
board[oldPos.x, oldPos.y] = null;
board[newPos.x, newPos.y] = piece;
piece.transform.position = new Vector3(newPos.x * BoardManagerCombat.Instance.tileSize, newPos.y * BoardManagerCombat.Instance.tileSize, -1f);
piece.currentPos = newPos;
piece.hasMoved = true;
whiteTurn = !whiteTurn;
}
bool IsLegalMove(PieceCombat piece, Vector2Int move)
{
Vector2Int oldPos = piece.currentPos;
PieceCombat target = board[move.x, move.y];
board[oldPos.x, oldPos.y] = null;
board[move.x, move.y] = piece;
piece.currentPos = move;
bool legal = !IsInCheck(piece.isWhite);
board[move.x, move.y] = target;
board[oldPos.x, oldPos.y] = piece;
piece.currentPos = oldPos;
return legal;
}
public bool IsInCheck(bool forWhite)
{
PieceCombat king = null;
foreach (var p in board)
{
if (p != null && p is KingCombat && p.isWhite == forWhite)
{
king = p;
break;
}
}
if (king == null) return false;
foreach (var p in board)
{
if (p != null && p.isWhite != forWhite)
{
var moves = p.GetAvailableMoves(board);
if (moves.Contains(king.currentPos)) return true;
}
}
return false;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 3a8a81294d85a4108a35e3575c0615f9
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 701633aafea0440bba720154c9e7683c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,36 @@
// ✅ BishopCombat.cs
using System.Collections.Generic;
using UnityEngine;
public class BishopCombat : PieceCombat
{
public override List<Vector2Int> GetAvailableMoves(PieceCombat[,] board)
{
List<Vector2Int> moves = new();
Vector2Int[] directions = {
new Vector2Int(1, 1), new Vector2Int(-1, 1),
new Vector2Int(1, -1), new Vector2Int(-1, -1)
};
foreach (var dir in directions)
{
Vector2Int pos = currentPos + dir;
while (IsInsideBoard(pos))
{
if (board[pos.x, pos.y] == null)
{
moves.Add(pos);
}
else
{
if (board[pos.x, pos.y].isWhite != isWhite)
moves.Add(pos);
break;
}
pos += dir;
}
}
return moves;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d8dbb7d72c7644c11b5979f910e4c411
@@ -0,0 +1,31 @@
// ✅ KingCombat.cs
using System.Collections.Generic;
using UnityEngine;
public class KingCombat : PieceCombat
{
public override List<Vector2Int> GetAvailableMoves(PieceCombat[,] board)
{
List<Vector2Int> moves = new();
Vector2Int[] directions = {
Vector2Int.up, Vector2Int.down, Vector2Int.left, Vector2Int.right,
new Vector2Int(1, 1), new Vector2Int(-1, 1),
new Vector2Int(1, -1), new Vector2Int(-1, -1)
};
foreach (var dir in directions)
{
Vector2Int pos = currentPos + dir;
if (IsInsideBoard(pos))
{
var target = board[pos.x, pos.y];
if (target == null || target.isWhite != isWhite)
moves.Add(pos);
}
}
return moves;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 121922d110a00437192c99f34fa110ef
@@ -0,0 +1,30 @@
// ✅ KnightCombat.cs
using System.Collections.Generic;
using UnityEngine;
public class KnightCombat : PieceCombat
{
public override List<Vector2Int> GetAvailableMoves(PieceCombat[,] board)
{
List<Vector2Int> moves = new();
Vector2Int[] offsets = {
new Vector2Int(1, 2), new Vector2Int(2, 1),
new Vector2Int(-1, 2), new Vector2Int(-2, 1),
new Vector2Int(1, -2), new Vector2Int(2, -1),
new Vector2Int(-1, -2), new Vector2Int(-2, -1)
};
foreach (var offset in offsets)
{
Vector2Int target = currentPos + offset;
if (IsInsideBoard(target))
{
var piece = board[target.x, target.y];
if (piece == null || piece.isWhite != isWhite)
moves.Add(target);
}
}
return moves;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 8026fb1c1cc6b4b1083da1badd854898
@@ -0,0 +1,36 @@
// ✅ PawnCombat.cs
using System.Collections.Generic;
using UnityEngine;
public class PawnCombat : PieceCombat
{
public override List<Vector2Int> GetAvailableMoves(PieceCombat[,] board)
{
List<Vector2Int> moves = new();
int dir = isWhite ? 1 : -1;
Vector2Int fwd = new(currentPos.x, currentPos.y + dir);
if (IsInsideBoard(fwd) && board[fwd.x, fwd.y] == null)
{
moves.Add(fwd);
Vector2Int dblFwd = new(currentPos.x, currentPos.y + 2 * dir);
if (!hasMoved && board[dblFwd.x, dblFwd.y] == null)
moves.Add(dblFwd);
}
Vector2Int[] diagonals =
{
new(currentPos.x - 1, currentPos.y + dir),
new(currentPos.x + 1, currentPos.y + dir)
};
foreach (var diag in diagonals)
{
if (IsInsideBoard(diag) && board[diag.x, diag.y] != null && board[diag.x, diag.y].isWhite != isWhite)
moves.Add(diag);
}
return moves;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 60bb34813f71b46b583da415ef0eaac7
@@ -0,0 +1,37 @@
// ✅ PieceCombat.cs
using System.Collections.Generic;
using UnityEngine;
public class PieceCombat : MonoBehaviour
{
public bool isWhite;
public Vector2Int currentPos;
public bool hasMoved = false;
public virtual List<Vector2Int> GetAvailableMoves(PieceCombat[,] board)
{
return new List<Vector2Int>();
}
protected bool IsInsideBoard(Vector2Int pos)
{
return pos.x >= 0 && pos.x < 8 && pos.y >= 0 && pos.y < 8;
}
public void ShowMoves()
{
var moves = GetAvailableMoves(GameManagerCombat.Instance.board);
BoardManagerCombat.Instance.HideAllIndicators();
foreach (var move in moves)
{
BoardManagerCombat.Instance.ShowIndicator(move);
}
}
public void HideMoves()
{
BoardManagerCombat.Instance.HideAllIndicators();
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 27e6e8cfa73124e5f87784b32f771be4
@@ -0,0 +1,38 @@
// ✅ QueenCombat.cs
using System.Collections.Generic;
using UnityEngine;
public class QueenCombat : PieceCombat
{
public override List<Vector2Int> GetAvailableMoves(PieceCombat[,] board)
{
List<Vector2Int> moves = new();
Vector2Int[] directions = {
Vector2Int.up, Vector2Int.down, Vector2Int.left, Vector2Int.right,
new Vector2Int(1, 1), new Vector2Int(-1, 1),
new Vector2Int(1, -1), new Vector2Int(-1, -1)
};
foreach (var dir in directions)
{
Vector2Int pos = currentPos + dir;
while (IsInsideBoard(pos))
{
if (board[pos.x, pos.y] == null)
{
moves.Add(pos);
}
else
{
if (board[pos.x, pos.y].isWhite != isWhite)
moves.Add(pos);
break;
}
pos += dir;
}
}
return moves;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 84575b4c987514e94abe4faea4a1803f
@@ -0,0 +1,35 @@
// ✅ RookCombat.cs
using System.Collections.Generic;
using UnityEngine;
public class RookCombat : PieceCombat
{
public override List<Vector2Int> GetAvailableMoves(PieceCombat[,] board)
{
List<Vector2Int> moves = new();
Vector2Int[] directions = {
Vector2Int.up, Vector2Int.down, Vector2Int.left, Vector2Int.right
};
foreach (var dir in directions)
{
Vector2Int pos = currentPos + dir;
while (IsInsideBoard(pos))
{
if (board[pos.x, pos.y] == null)
{
moves.Add(pos);
}
else
{
if (board[pos.x, pos.y].isWhite != isWhite)
moves.Add(pos);
break;
}
pos += dir;
}
}
return moves;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7d87f7bee90a64b318144f022a563709
@@ -0,0 +1,22 @@
// ✅ SquareClickCombat.cs
using UnityEngine;
public class SquareClickCombat : MonoBehaviour
{
public Vector2Int position;
void OnMouseDown()
{
PieceCombat piece = GameManagerCombat.Instance.board[position.x, position.y];
if (piece != null && piece.isWhite == GameManagerCombat.Instance.whiteTurn)
{
GameManagerCombat.Instance.SelectPiece(piece);
}
else
{
GameManagerCombat.Instance.TryMoveTo(position);
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e17439df402a6492faca34a655b7657e
+52 -37
View File
@@ -4,22 +4,16 @@ using AjedrezPurgatorio.Data;
public class King : Piece public class King : Piece
{ {
/// <summary>
/// Optional Dead King data. Set when this King represents a defeated player.
/// </summary>
[Header("Dead King")] [Header("Dead King")]
[Tooltip("If set, this King is a Dead King with player data")] [Tooltip("If set, this King is a Dead King with player data")]
public DeadKingData deadKingData = null; public DeadKingData deadKingData = null;
/// <summary>
/// Returns true if this King is a Dead King (has player data).
/// </summary>
public bool IsDeadKing => deadKingData != null; public bool IsDeadKing => deadKingData != null;
public override List<Vector2Int> GetAvailableMoves(Piece[,] board) public override List<Vector2Int> GetAvailableMoves(Piece[,] board)
{ {
List<Vector2Int> moves = new List<Vector2Int>(); List<Vector2Int> moves = new List<Vector2Int>();
// Movimientos normales (1 casilla alrededor)
Vector2Int[] directions = { Vector2Int[] directions = {
Vector2Int.up, Vector2Int.down, Vector2Int.left, Vector2Int.right, Vector2Int.up, Vector2Int.down, Vector2Int.left, Vector2Int.right,
new Vector2Int(1, 1), new Vector2Int(-1, 1), new Vector2Int(1, -1), new Vector2Int(-1, -1) new Vector2Int(1, 1), new Vector2Int(-1, 1), new Vector2Int(1, -1), new Vector2Int(-1, -1)
@@ -36,50 +30,71 @@ public class King : Piece
} }
} }
// Enroque (si el rey no se ha movido) bool kingInCheck = false;
if (!hasMoved) if (GameManager.Instance != null)
kingInCheck = GameManager.Instance.IsInCheck(isWhite);
else if (GameManagerClassic.Instance != null)
kingInCheck = GameManagerClassic.Instance.IsInCheck(isWhite);
if (!hasMoved && !kingInCheck)
{ {
int y = currentPos.y; int y = currentPos.y;
if (CanCastle(board, 7, y, new int[] { 5, 6 }))
// Enroque corto (torre derecha) moves.Add(new Vector2Int(6, y));
if (IsClearAndSafeForCastling(board, currentPos, new Vector2Int(7, y))) if (CanCastle(board, 0, y, new int[] { 1, 2, 3 }))
moves.Add(new Vector2Int(6, y)); // El rey va a x=6 moves.Add(new Vector2Int(2, y));
// Enroque largo (torre izquierda)
if (IsClearAndSafeForCastling(board, currentPos, new Vector2Int(0, y)))
moves.Add(new Vector2Int(2, y)); // El rey va a x=2
} }
return moves; return moves;
} }
private bool IsClearAndSafeForCastling(Piece[,] board, Vector2Int kingPos, Vector2Int rookPos) public override List<Vector2Int> GetAttackSquares(Piece[,] board)
{ {
Piece rook = board[rookPos.x, rookPos.y]; List<Vector2Int> attacks = new List<Vector2Int>();
Vector2Int[] directions = {
Vector2Int.up, Vector2Int.down, Vector2Int.left, Vector2Int.right,
new Vector2Int(1, 1), new Vector2Int(-1, 1), new Vector2Int(1, -1), new Vector2Int(-1, -1)
};
foreach (var dir in directions)
{
Vector2Int pos = currentPos + dir;
if (IsInsideBoard(pos)) attacks.Add(pos);
}
return attacks;
}
private bool CanCastle(Piece[,] board, int rookX, int y, int[] middleSquares)
{
Piece rook = board[rookX, y];
if (rook == null || !(rook is Rook) || rook.hasMoved || rook.isWhite != isWhite) if (rook == null || !(rook is Rook) || rook.hasMoved || rook.isWhite != isWhite)
return false; return false;
int direction = (rookPos.x - kingPos.x) > 0 ? 1 : -1; foreach (int x in middleSquares)
for (int i = 1; i < Mathf.Abs(rookPos.x - kingPos.x); i++)
{ {
int x = kingPos.x + direction * i; if (board[x, y] != null) return false;
Vector2Int checkPos = new Vector2Int(x, kingPos.y);
if (board[x, kingPos.y] != null)
return false;
// Simula movimiento y verifica si el rey estaría en jaque en el trayecto
if (i <= 2)
{
Vector2Int simPos = new Vector2Int(x, kingPos.y);
Piece[,] simBoard = (Piece[,])board.Clone();
simBoard[kingPos.x, kingPos.y] = null;
simBoard[simPos.x, simPos.y] = this;
if (GameManager.Instance.IsInCheckSimulated(simBoard, isWhite))
return false;
}
} }
int checkX1 = (rookX == 7) ? 5 : 3;
int checkX2 = (rookX == 7) ? 6 : 2;
if (IsSquareAttackedBy(board, new Vector2Int(checkX1, y), !isWhite)) return false;
if (IsSquareAttackedBy(board, new Vector2Int(checkX2, y), !isWhite)) return false;
return true; return true;
} }
private bool IsSquareAttackedBy(Piece[,] board, Vector2Int pos, bool byWhite)
{
foreach (var piece in board)
{
if (piece != null && piece.isWhite == byWhite)
{
if (piece.GetAttackSquares(board).Contains(pos))
return true;
}
}
return false;
}
} }
+14
View File
@@ -63,4 +63,18 @@ public class Pawn : Piece
return moves; return moves;
} }
public override List<Vector2Int> GetAttackSquares(Piece[,] board)
{
List<Vector2Int> attacks = new List<Vector2Int>();
int direction = isWhite ? 1 : -1;
Vector2Int diagLeft = new Vector2Int(currentPos.x - 1, currentPos.y + direction);
Vector2Int diagRight = new Vector2Int(currentPos.x + 1, currentPos.y + direction);
if (IsInsideBoard(diagLeft)) attacks.Add(diagLeft);
if (IsInsideBoard(diagRight)) attacks.Add(diagRight);
return attacks;
}
} }
+24 -8
View File
@@ -33,23 +33,42 @@ public class Piece : MonoBehaviour
set => _identity = value; set => _identity = value;
} }
public int pieceValue
{
get
{
return this switch
{
Pawn => 1,
Knight => 3,
Bishop => 3,
Rook => 5,
Queen => 9,
King => 0,
_ => 0
};
}
}
public virtual List<Vector2Int> GetAvailableMoves(Piece[,] board) public virtual List<Vector2Int> GetAvailableMoves(Piece[,] board)
{ {
return new List<Vector2Int>(); return new List<Vector2Int>();
} }
public virtual List<Vector2Int> GetAttackSquares(Piece[,] board)
{
return GetAvailableMoves(board);
}
protected bool IsInsideBoard(Vector2Int pos) protected bool IsInsideBoard(Vector2Int pos)
{ {
return pos.x >= 0 && pos.x < 8 && pos.y >= 0 && pos.y < 8; return pos.x >= 0 && pos.x < 8 && pos.y >= 0 && pos.y < 8;
} }
public void ShowMoves() public virtual void ShowMoves()
{ {
if (GameManager.Instance == null || BoardManager.Instance == null) if (GameManager.Instance == null || BoardManager.Instance == null)
{
Debug.LogError("[Piece] GameManager o BoardManager no disponible.");
return; return;
}
var moves = GetAvailableMoves(GameManager.Instance.board); var moves = GetAvailableMoves(GameManager.Instance.board);
BoardManager.Instance.HideAllIndicators(); BoardManager.Instance.HideAllIndicators();
@@ -59,13 +78,10 @@ public class Piece : MonoBehaviour
} }
} }
public void HideMoves() public virtual void HideMoves()
{ {
if (BoardManager.Instance == null) if (BoardManager.Instance == null)
{
Debug.LogError("[Piece] BoardManager no disponible.");
return; return;
}
BoardManager.Instance.HideAllIndicators(); BoardManager.Instance.HideAllIndicators();
} }
+83
View File
@@ -0,0 +1,83 @@
using UnityEngine;
using TMPro;
using System.Collections.Generic;
using UnityEngine.UI;
public class ScoreManager : MonoBehaviour
{
public static ScoreManager Instance;
[Header("UI de Puntuación")]
public TextMeshProUGUI whiteScoreText;
public TextMeshProUGUI blackScoreText;
public TextMeshProUGUI advantageText; // Campo para el texto de ventaja (+3, -2, etc)
[Header("Contenedores de Capturas")]
public Transform whiteCapturedContainer; // Julian (Blancas)
public Transform blackCapturedContainer; // Coleccionista (Negras)
[Header("Prefabs de UI")]
public GameObject capturedImagePrefab; // Prefab con un componente Image
private int whiteScore = 0;
private int blackScore = 0;
void Awake() { Instance = this; }
public void RegisterCapture(Piece attacker, Piece victim)
{
// Usamos el pieceValue que agregaste en Piece.cs
int value = victim.pieceValue;
if (attacker.isWhite)
{
whiteScore += value;
AddPieceToUI(victim, whiteCapturedContainer);
}
else
{
blackScore += value;
AddPieceToUI(victim, blackCapturedContainer);
}
UpdateScoreUI();
}
public void AddPromotionScore(bool isWhite)
{
// Al promocionar, el peón (1) se vuelve Reina (9). Sumamos la diferencia.
if (isWhite) whiteScore += 8;
else blackScore += 8;
UpdateScoreUI();
}
void AddPieceToUI(Piece victim, Transform container)
{
if (capturedImagePrefab == null || container == null) return;
GameObject icon = Instantiate(capturedImagePrefab, container);
Image img = icon.GetComponent<Image>();
SpriteRenderer sr = victim.GetComponent<SpriteRenderer>();
if (img != null && sr != null)
{
img.sprite = sr.sprite;
img.color = sr.color; // Mantiene el color original
}
}
void UpdateScoreUI()
{
if (whiteScoreText != null) whiteScoreText.text = "Julian: " + whiteScore;
if (blackScoreText != null) blackScoreText.text = "Coleccionista: " + blackScore;
if (advantageText != null)
{
int ventaja = whiteScore - blackScore;
if (ventaja > 0) advantageText.text = "+" + ventaja;
else if (ventaja < 0) advantageText.text = "-" + Mathf.Abs(ventaja);
else advantageText.text = "0";
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 22dfaaa0c1cda4726b42d73c801b9146
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e6a2caa0923674cf2a750447c2bb5e02
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f72d895826b6d2e40b074114f2907c37
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,17 @@
{
"name": "AjedrezPurgatorio.Spikes",
"rootNamespace": "",
"references": [
"AjedrezPurgatorio.Runtime",
"Unity.InputSystem"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b860f1a5967c1734d85d562db8fad1f3
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,61 @@
using UnityEngine;
using UnityEngine.InputSystem;
// SPIKE (TD-005 / Sprint 1 S1-6) -- exploratory only.
//
// Demonstrates replacing the legacy OnMouseDown collider-click path
// (SquareClick.cs) with com.unity.inputsystem for Classic Mode square
// selection. Not wired into any scene or prefab -- SquareClick.cs is
// untouched and remains the active input path. See
// production/session-logs/spike-input-system-2026-06-20.md for the
// feasibility write-up.
//
// To try it manually: add this component to the same GameObject as
// BoardManager (or any always-active object in the scene) and assign a
// camera, then enter Play Mode and click a square.
public class BoardInputSystemSpike : MonoBehaviour
{
[SerializeField] private Camera _boardCamera;
private void Update()
{
if (Mouse.current == null) return;
if (!Mouse.current.leftButton.wasPressedThisFrame) return;
Camera cam = _boardCamera != null ? _boardCamera : Camera.main;
if (cam == null) return;
Vector2 screenPos = Mouse.current.position.ReadValue();
Vector3 worldPos = cam.ScreenToWorldPoint(screenPos);
worldPos.z = 0f;
Collider2D hit = Physics2D.OverlapPoint(worldPos);
if (hit == null) return;
SquareClick square = hit.GetComponent<SquareClick>();
if (square == null)
{
ClassicSquareClick classicSquare = hit.GetComponent<ClassicSquareClick>();
if (classicSquare == null) return;
HandleSquareClicked(classicSquare.position);
return;
}
HandleSquareClicked(square.position);
}
private void HandleSquareClicked(Vector2Int position)
{
if (GameManagerClassic.Instance == null) return;
Piece piece = GameManagerClassic.Instance.board[position.x, position.y];
if (piece != null && piece.isWhite == GameManagerClassic.Instance.whiteTurn)
{
GameManagerClassic.Instance.SelectPiece(piece);
}
else
{
GameManagerClassic.Instance.TryMoveTo(position);
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 286db7fd05b098f498937f15f0faa0e3
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8daa53a07fd03fd4191e9ea5a4e84e41
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: adf5e0ae7cb449148aef9a14d78ded06
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d0c356576d27f3f488943376ced6b28c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: f28df1c5e8fd98a4585885f81f65327e
TextureImporter:
internalIDToNameTable:
- first:
213: -7921491113015432025
second: b_bishop_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_bishop_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1015
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7ac2d457dc5311290800000000000000
internalID: -7921491113015432025
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_bishop_png_1024px_0: -7921491113015432025
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 1cd4f48b374303242a266b93d1dd6517
TextureImporter:
internalIDToNameTable:
- first:
213: 8600704616591882556
second: b_king_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_king_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1015
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c397502c747db5770800000000000000
internalID: 8600704616591882556
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_king_png_1024px_0: 8600704616591882556
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: e25efa84f8ce9c848bfddeb34505601e
TextureImporter:
internalIDToNameTable:
- first:
213: 340016479037207662
second: b_knight_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_knight_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 915
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e64bacaaf2bf7b400800000000000000
internalID: 340016479037207662
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_knight_png_1024px_0: 340016479037207662
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: ad74aa59a316d874eb6b12ef5917f8a2
TextureImporter:
internalIDToNameTable:
- first:
213: 9026024012879746661
second: b_pawn_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_pawn_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 833
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 566d7dd8401e24d70800000000000000
internalID: 9026024012879746661
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_pawn_png_1024px_0: 9026024012879746661
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 048cc27d8aaa25742a71d440fa33bb42
TextureImporter:
internalIDToNameTable:
- first:
213: -650391372391266118
second: b_queen_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_queen_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1125
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: ab8c3a32e7859f6f0800000000000000
internalID: -650391372391266118
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_queen_png_1024px_0: -650391372391266118
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 9852829f5c6b3b149b3a971a0a7d5736
TextureImporter:
internalIDToNameTable:
- first:
213: 4526067542927487269
second: b_rook_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_rook_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 926
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 5213e9d3372dfce30800000000000000
internalID: 4526067542927487269
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_rook_png_1024px_0: 4526067542927487269
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: abe46172bf112f849bbd6de942b62371
TextureImporter:
internalIDToNameTable:
- first:
213: -2086979313893530553
second: square brown dark_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: square brown dark_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1024
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 744a9cd0f5f8903e0800000000000000
internalID: -2086979313893530553
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
square brown dark_png_1024px_0: -2086979313893530553
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 3a696903c9db8cc49a662beebebf001d
TextureImporter:
internalIDToNameTable:
- first:
213: 345263811703815417
second: square brown light_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: square brown light_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1024
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 9fc37628b9f9ac400800000000000000
internalID: 345263811703815417
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
square brown light_png_1024px_0: 345263811703815417
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: c70d09b2d2136bb4192f4ccb5610cb2b
TextureImporter:
internalIDToNameTable:
- first:
213: -5266751872302951651
second: square gray dark _png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: square gray dark _png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1024
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: d13524b931db8e6b0800000000000000
internalID: -5266751872302951651
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
square gray dark _png_1024px_0: -5266751872302951651
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: e4800b194bcd6b346bed51fd5df07a3d
TextureImporter:
internalIDToNameTable:
- first:
213: 3459189932451035568
second: square gray light _png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: square gray light _png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1024
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 0b9f95e7ae2810030800000000000000
internalID: 3459189932451035568
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
square gray light _png_1024px_0: 3459189932451035568
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 7b703642a78739947b5706f2410e9199
TextureImporter:
internalIDToNameTable:
- first:
213: 5836018782226795806
second: w_bishop_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: w_bishop_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1015
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e1dc2217924bdf050800000000000000
internalID: 5836018782226795806
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
w_bishop_png_1024px_0: 5836018782226795806
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 982f6b123641ef541a56bcfa32271cde
TextureImporter:
internalIDToNameTable:
- first:
213: 9110431674015954440
second: w_king_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: w_king_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1015
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 8063030a651ce6e70800000000000000
internalID: 9110431674015954440
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
w_king_png_1024px_0: 9110431674015954440
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: a335974c35eeb404fac850a484c2cda6
TextureImporter:
internalIDToNameTable:
- first:
213: -2706337781334706035
second: w_knight_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: w_knight_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 915
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: d88735d6028217ad0800000000000000
internalID: -2706337781334706035
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
w_knight_png_1024px_0: -2706337781334706035
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 6e41dbab498187448af4d759499f5023
TextureImporter:
internalIDToNameTable:
- first:
213: 8296851697420669007
second: w_pawn_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: w_pawn_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 833
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: f401bd209a6542370800000000000000
internalID: 8296851697420669007
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
w_pawn_png_1024px_0: 8296851697420669007
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 39e27c5145855d64f9cc13424a011130
TextureImporter:
internalIDToNameTable:
- first:
213: -1499403466613191896
second: w_queen_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: w_queen_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1125
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 82b0885cd7c013be0800000000000000
internalID: -1499403466613191896
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
w_queen_png_1024px_0: -1499403466613191896
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 3d01a1cd4f3af794780362f1b9f2bcee
TextureImporter:
internalIDToNameTable:
- first:
213: -8124210861950425003
second: w_rook_png_1024px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: w_rook_png_1024px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 926
height: 1024
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 5582315d341014f80800000000000000
internalID: -8124210861950425003
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
w_rook_png_1024px_0: -8124210861950425003
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2e77740909cd25f45b610f7c407c666d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 3d310ae3b4dc5df48bbdd94009238432
TextureImporter:
internalIDToNameTable:
- first:
213: 816014114880868158
second: b_bishop_png_128px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_bishop_png_128px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 127
height: 128
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e3fcd299380135b00800000000000000
internalID: 816014114880868158
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_bishop_png_128px_0: 816014114880868158
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: a7cf0c6ad8221494fa021191160644dd
TextureImporter:
internalIDToNameTable:
- first:
213: -4962242470506266145
second: b_king_png_128px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_king_png_128px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 127
height: 128
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: fd10e10a3c2922bb0800000000000000
internalID: -4962242470506266145
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_king_png_128px_0: -4962242470506266145
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: cefea1207f94f3145910b284f9b73386
TextureImporter:
internalIDToNameTable:
- first:
213: 2486460698689547381
second: b_knight_png_128px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_knight_png_128px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 115
height: 128
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 57c2c55e4dea18220800000000000000
internalID: 2486460698689547381
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_knight_png_128px_0: 2486460698689547381
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 1469c9dff942a19419f9536be590d272
TextureImporter:
internalIDToNameTable:
- first:
213: -8928637496743939054
second: b_pawn_png_128px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_pawn_png_128px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 105
height: 128
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 214385ea08b171480800000000000000
internalID: -8928637496743939054
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_pawn_png_128px_0: -8928637496743939054
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 7bb08593dc284af40a52fd8c8d8f40fa
TextureImporter:
internalIDToNameTable:
- first:
213: -4899613061650751899
second: b_queen_png_128px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_queen_png_128px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 141
height: 128
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 56e517331e3110cb0800000000000000
internalID: -4899613061650751899
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_queen_png_128px_0: -4899613061650751899
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 03a300e3615ad0742ac569b16f50bb0f
TextureImporter:
internalIDToNameTable:
- first:
213: 247264735202899838
second: b_rook_png_128px_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: b_rook_png_128px_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 116
height: 128
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e77ff3377f57e6300800000000000000
internalID: 247264735202899838
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
b_rook_png_128px_0: 247264735202899838
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Some files were not shown because too many files have changed in this diff Show More