From 60aa8e85d058fccb1fa5e3952975d03d99778c6a Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Wed, 27 Dec 2023 03:44:34 +0000
Subject: [PATCH] Added ironOre + dropable + pickup creation

---
 Assets/TileSets/Ores/Ore/IronOre.png                |    0 
 Assets/Scripts/Drilling/Dropable.cs.meta            |   11 +
 Assets/Scripts/PlayerController.cs                  |    1 
 Assets/Sprites/sprite_atlas.spriteatlasv2           |    1 
 Assets/TileSets/Ores/Ore.meta                       |    8 
 Assets/Prefabs/Ore/IronOrePickup.prefab.meta        |    7 
 Assets/Scenes/GameplayScene.unity                   |   78 +-----
 Assets/TileSets/Palettes/IronOreRuleTile.asset      |   39 +++
 Assets/TileSets/Ores.meta                           |    8 
 Assets/TileSets/Ores/Ore/IronOre.png.meta           |  127 +++++++++++
 Assets/Scripts/Drilling/Drillable.cs.meta           |    0 
 Assets/Prefabs/Ore.meta                             |    8 
 Assets/TileSets/Palettes/IronOreRuleTile.asset.meta |    8 
 Assets/Scripts/Managers/GameManager.cs              |   21 +
 Assets/TileSets/Palettes/DrillIronOre.prefab.meta   |    7 
 Assets/Scripts/Drilling.meta                        |    8 
 Assets/TileSets/Palettes/Files/Ores.meta            |    8 
 Assets/Scripts/GenerateTileMap.cs                   |   69 +++++
 Assets/Scripts/Drilling/Dropable.cs                 |    9 
 Assets/TileSets/Palettes/DrillIronOre.prefab        |   62 +++++
 Assets/Prefabs/Ore/IronOrePickup.prefab             |  138 ++++++++++++
 Assets/Scripts/Drilling/Drillable.cs                |    0 
 22 files changed, 543 insertions(+), 75 deletions(-)

diff --git a/Assets/Prefabs/Ore.meta b/Assets/Prefabs/Ore.meta
new file mode 100644
index 0000000..4961c98
--- /dev/null
+++ b/Assets/Prefabs/Ore.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85df91999950a354f81ecce7b79614f4
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/Ore/IronOrePickup.prefab b/Assets/Prefabs/Ore/IronOrePickup.prefab
new file mode 100644
index 0000000..fd00e96
--- /dev/null
+++ b/Assets/Prefabs/Ore/IronOrePickup.prefab
@@ -0,0 +1,138 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2334861655815823944
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3069410814361871794}
+  - component: {fileID: 1402301655574187689}
+  - component: {fileID: 7365313445004679860}
+  - component: {fileID: 7542207600701139278}
+  m_Layer: 10
+  m_Name: IronOrePickup
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3069410814361871794
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2334861655815823944}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.75, y: 0.75, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &1402301655574187689
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2334861655815823944}
+  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_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: -1
+  m_Sprite: {fileID: 21300000, guid: e4f16322cf13bfe45be37ce9446c921c, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!114 &7365313445004679860
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2334861655815823944}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fa7fec04fbeb92a41b697f2f020a7618, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  healthRestore: 20
+  spinRotatationSpeed: {x: 0, y: 180, z: 0}
+  soundName: 4
+--- !u!58 &7542207600701139278
+CircleCollider2D:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2334861655815823944}
+  m_Enabled: 1
+  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: 1
+  m_UsedByEffector: 0
+  m_UsedByComposite: 0
+  m_Offset: {x: 0, y: 0}
+  serializedVersion: 2
+  m_Radius: 0.5
diff --git a/Assets/Prefabs/Ore/IronOrePickup.prefab.meta b/Assets/Prefabs/Ore/IronOrePickup.prefab.meta
new file mode 100644
index 0000000..d1a908f
--- /dev/null
+++ b/Assets/Prefabs/Ore/IronOrePickup.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cd5330e6f2360684bbdaec64d8423c1d
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/GameplayScene.unity b/Assets/Scenes/GameplayScene.unity
index 647535c..7aad4c7 100644
--- a/Assets/Scenes/GameplayScene.unity
+++ b/Assets/Scenes/GameplayScene.unity
@@ -1120,68 +1120,6 @@
     m_AddedGameObjects: []
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 6b54c0762333ea34a93ec05ccbb1330f, type: 3}
---- !u!1001 &391227262
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    serializedVersion: 3
-    m_TransformParent: {fileID: 1409843026}
-    m_Modifications:
-    - target: {fileID: 2334861655815823944, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_Name
-      value: HealthPickup
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 7.09
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: -0.97
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-    m_RemovedGameObjects: []
-    m_AddedGameObjects: []
-    m_AddedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
---- !u!4 &427702723 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 3069410814361871794, guid: 5549e8180a8b1ba49bf0de3848e7bcf9, type: 3}
-  m_PrefabInstance: {fileID: 391227262}
-  m_PrefabAsset: {fileID: 0}
 --- !u!1 &487206665
 GameObject:
   m_ObjectHideFlags: 0
@@ -3651,11 +3589,10 @@
   m_GameObject: {fileID: 1409843025}
   serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 4.0902042, y: 0.8252689, z: 0}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
-  m_Children:
-  - {fileID: 427702723}
+  m_Children: []
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1504282390
@@ -4743,6 +4680,13 @@
   maxGroundHeight: 256
   forestRuleTile: {fileID: 11400000, guid: e77c00aec3ec74f4a9ec15ef63c3f9a7, type: 2}
   borderTile: {fileID: 11400000, guid: dcef846474e534b45ab3b175559c19a2, type: 2}
+  ores:
+  - name: Iron
+    weight: 7
+    clusterWeight: 40
+    tile: {fileID: 11400000, guid: 4d8deb60103293942a07fd9361be5e8f, type: 2}
+    maxSpawnHeight: 250
+    minSpawnHeight: 150
 --- !u!1 &1990316377
 GameObject:
   m_ObjectHideFlags: 0
@@ -5152,6 +5096,10 @@
       value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 6908574976455911116, guid: 7296d9a2424531f4ba42c0c75e9c48a0, type: 3}
+      propertyPath: pickups
+      value: 
+      objectReference: {fileID: 1409843025}
+    - target: {fileID: 6908574976455911116, guid: 7296d9a2424531f4ba42c0c75e9c48a0, type: 3}
       propertyPath: tileMap
       value: 
       objectReference: {fileID: 1919262559}
diff --git a/Assets/Scripts/Drilling.meta b/Assets/Scripts/Drilling.meta
new file mode 100644
index 0000000..4e8321d
--- /dev/null
+++ b/Assets/Scripts/Drilling.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 20832d200c8eec140b427c0070e441fb
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Drillable.cs b/Assets/Scripts/Drilling/Drillable.cs
similarity index 100%
rename from Assets/Scripts/Drillable.cs
rename to Assets/Scripts/Drilling/Drillable.cs
diff --git a/Assets/Scripts/Drillable.cs.meta b/Assets/Scripts/Drilling/Drillable.cs.meta
similarity index 100%
rename from Assets/Scripts/Drillable.cs.meta
rename to Assets/Scripts/Drilling/Drillable.cs.meta
diff --git a/Assets/Scripts/Drilling/Dropable.cs b/Assets/Scripts/Drilling/Dropable.cs
new file mode 100644
index 0000000..8cf199a
--- /dev/null
+++ b/Assets/Scripts/Drilling/Dropable.cs
@@ -0,0 +1,9 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Dropable : MonoBehaviour
+{
+    public bool isDropable = true;
+    public GameObject dropable;
+}
diff --git a/Assets/Scripts/Drilling/Dropable.cs.meta b/Assets/Scripts/Drilling/Dropable.cs.meta
new file mode 100644
index 0000000..fdec5de
--- /dev/null
+++ b/Assets/Scripts/Drilling/Dropable.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1643cf9d83d42164f93c8b7a916f9cd3
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/GenerateTileMap.cs b/Assets/Scripts/GenerateTileMap.cs
index 136a14d..231f61a 100644
--- a/Assets/Scripts/GenerateTileMap.cs
+++ b/Assets/Scripts/GenerateTileMap.cs
@@ -1,9 +1,33 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using Unity.VisualScripting;
 using UnityEngine;
 using UnityEngine.Tilemaps;
 using UnityEngine.UIElements;
+
+[Serializable]
+public class Ore
+{
+    public string name;
+    /// <summary>
+    /// The lower the numer the higher the amount of ores that will spawn
+    /// Higher number means less ore
+    /// </summary>
+    [Tooltip("The lower the numer the higher the amount of ores that will spawn. Higher number means less ore.")]
+    [Range(1, 100000)]
+    public int weight;
+    /// <summary>
+    /// The lower the number the more dense the ore will spawn (big clusters
+    /// Higher number means little clusters (more spread)
+    /// </summary>
+    [Tooltip("The lower the number the more dense the ore will spawn (big clusters. Higher number means little clusters (more spread).")]
+    [Range(10, 100000)]
+    public int clusterWeight;
+    public RuleTile tile;
+    public int maxSpawnHeight;
+    public int minSpawnHeight;
+}
 
 public class GenerateTileMap : MonoBehaviour
 {
@@ -17,13 +41,14 @@
     Tilemap tilemap;
     public RuleTile forestRuleTile;
     public TileBase borderTile;
+    public List<Ore> ores;
     //public List<TileBase> tiles;
 
     private void Awake()
     {
         tilemap = GetComponent<Tilemap>();
 #if DEBUG
-        //seed = 0123456789;
+        seed = 0123456789;
 #endif
         if (seed == null)
         {
@@ -60,6 +85,7 @@
 
     public IEnumerator GenerateTiles(Action finishedCallback, List<Vector3Int> destroyedTiles)
     {
+        // generate ground
         for (int x = 1; x < maxWidth; x++)
         {
             for (int y = 1; y < maxGroundHeight; y++)
@@ -68,11 +94,12 @@
                 float yPerlin = ((float)y / maxHeight) * scale + offsetY;
                 float perlinNoise = Mathf.PerlinNoise(xPerlin, yPerlin);
 
-                if (perlinNoise >= 0.3f)
+                if (perlinNoise <= 0.7f)
                 {
-                    if (!destroyedTiles.Contains(new Vector3Int(x, y, 0)))
+                    Vector3Int tileSpawnCoord = new Vector3Int(x, y);
+                    if (!destroyedTiles.Contains(tileSpawnCoord))
                     {
-                        tilemap.SetTile(new Vector3Int(x, y), forestRuleTile);
+                        tilemap.SetTile(tileSpawnCoord, forestRuleTile);
                     }
                 }
 
@@ -84,6 +111,40 @@
                 yield return null;
             }
         }
+
+        if (ores != null)
+        {
+            foreach (Ore ore in ores)
+            {
+                for (int x = 0; x < maxWidth; x++)
+                {
+                    for (int y = ore.minSpawnHeight; y < ore.maxSpawnHeight; y++)
+                    {
+                        float xPerlin = ((float)x / maxWidth) * (float)ore.clusterWeight + offsetX;
+                        float yPerlin = ((float)y / maxHeight) * (float)ore.clusterWeight + offsetY;
+                        float perlinNoise = Mathf.PerlinNoise(xPerlin, yPerlin);
+
+                        if (perlinNoise <= (1f / (float)ore.weight))
+                        {
+                            Vector3Int tileSpawnCoord = new Vector3Int(x, y);
+                            if (!destroyedTiles.Contains(tileSpawnCoord) && tilemap.HasTile(tileSpawnCoord))
+                            {
+                                tilemap.SetTile(tileSpawnCoord, ore.tile);
+                            }
+                        }
+
+                    }
+
+                    // Update UI every 8 lines
+                    if ((x % 8) == 0)
+                    {
+                        yield return null;
+                    }
+                }
+            }
+        }
+
+        // generate borders
         for (int x = 0; x <= maxWidth; x += maxWidth)
         {
             for (int y = 0; y <= maxHeight; y++)
diff --git a/Assets/Scripts/Managers/GameManager.cs b/Assets/Scripts/Managers/GameManager.cs
index 61f90f9..00a5bc0 100644
--- a/Assets/Scripts/Managers/GameManager.cs
+++ b/Assets/Scripts/Managers/GameManager.cs
@@ -20,6 +20,7 @@
     public GenerateTileMap generateTileMap;
     [NonSerialized]
     public List<Vector3Int> destroyedTiles = new List<Vector3Int>();
+    public GameObject pickups;
 
     private void Awake()
     {
@@ -129,15 +130,23 @@
         //Debug.Log(tilemap.HasTile(cellCoord));
         if (tilemap.HasTile(cellCoord))
         {
-            if (tilemap.GetInstantiatedObject(cellCoord)?.GetComponent<Drillable>()?.isDrillable ?? false)
+            GameObject tileGameObject = tilemap.GetInstantiatedObject(cellCoord);
+            if (tileGameObject?.GetComponent<Drillable>()?.isDrillable ?? false)
             {
+                Vector3 cellWorldPosition = grid.CellToWorld(cellCoord);
+                // middle of tile
+                cellWorldPosition.x += 0.5f;
+                cellWorldPosition.y += 0.5f;
+                if (tileGameObject?.GetComponent<Dropable>()?.isDropable ?? false)
+                {
+                    Instantiate(tileGameObject?.GetComponent<Dropable>().dropable, cellWorldPosition, Quaternion.identity, pickups.transform);
+                    //Debug.Log(.name);
+
+                }
                 tilemap.SetTile(cellCoord, null);
                 destroyedTiles.Add(cellCoord);
-                Vector3 moveToPosition = grid.CellToWorld(cellCoord);
-                moveToPosition.x += 0.5f;
-                moveToPosition.y += 0.5f;
-                CharacterEvents.characterDrillingToPosition.Invoke(moveToPosition, drillDirection);
-            } 
+                CharacterEvents.characterDrillingToPosition.Invoke(cellWorldPosition, drillDirection);
+            }
             else
             {
                 //CharacterEvents.characterDrillingToPositionAbort.Invoke(moveToPosition);
diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs
index dd88855..4d7ab47 100644
--- a/Assets/Scripts/PlayerController.cs
+++ b/Assets/Scripts/PlayerController.cs
@@ -25,6 +25,7 @@
     TouchingDirections touchingDirections;
 
     // Time it takes to drill
+    [SerializeField]
     private float drillingTime = 1f;
     private float timeSinceDrill = 0f;
     private bool drillToPosition;
diff --git a/Assets/Sprites/sprite_atlas.spriteatlasv2 b/Assets/Sprites/sprite_atlas.spriteatlasv2
index fd481fb..bf91d81 100644
--- a/Assets/Sprites/sprite_atlas.spriteatlasv2
+++ b/Assets/Sprites/sprite_atlas.spriteatlasv2
@@ -13,4 +13,5 @@
     packables:
     - {fileID: 2800000, guid: 42962cf14c23fee4baaaea0cd52d52e0, type: 3}
     - {fileID: 2800000, guid: 118553c8864a2bf4abaf757c357494e5, type: 3}
+    - {fileID: 2800000, guid: 83ee72e0f385a7641b729c9f5c288e74, type: 3}
   m_IsVariant: 0
diff --git a/Assets/TileSets/Ores.meta b/Assets/TileSets/Ores.meta
new file mode 100644
index 0000000..759a4ef
--- /dev/null
+++ b/Assets/TileSets/Ores.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9255beb20b79e514e9fbe58c535ea97d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/TileSets/Ores/Ore.meta b/Assets/TileSets/Ores/Ore.meta
new file mode 100644
index 0000000..0a69bc4
--- /dev/null
+++ b/Assets/TileSets/Ores/Ore.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7020d01712fb78c48a66dfb5ac66c40f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/TileSets/Ores/Ore/IronOre.png b/Assets/TileSets/Ores/Ore/IronOre.png
new file mode 100644
index 0000000..693ac0a
--- /dev/null
+++ b/Assets/TileSets/Ores/Ore/IronOre.png
Binary files differ
diff --git a/Assets/TileSets/Ores/Ore/IronOre.png.meta b/Assets/TileSets/Ores/Ore/IronOre.png.meta
new file mode 100644
index 0000000..493cdbf
--- /dev/null
+++ b/Assets/TileSets/Ores/Ore/IronOre.png.meta
@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 83ee72e0f385a7641b729c9f5c288e74
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  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: 0
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 16
+  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: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 4096
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    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
+  - serializedVersion: 3
+    buildTarget: Server
+    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: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/TileSets/Palettes/DrillIronOre.prefab b/Assets/TileSets/Palettes/DrillIronOre.prefab
new file mode 100644
index 0000000..16202fa
--- /dev/null
+++ b/Assets/TileSets/Palettes/DrillIronOre.prefab
@@ -0,0 +1,62 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3549545049718014148
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8973229189939374991}
+  - component: {fileID: -776302461885629690}
+  - component: {fileID: 3926666667628910059}
+  m_Layer: 0
+  m_Name: DrillIronOre
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &8973229189939374991
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3549545049718014148}
+  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!114 &-776302461885629690
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3549545049718014148}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e273e4680f5bb884cad50c1fbda3d211, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  isDrillable: 1
+--- !u!114 &3926666667628910059
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3549545049718014148}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1643cf9d83d42164f93c8b7a916f9cd3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  isDropable: 1
+  dropable: {fileID: 2334861655815823944, guid: cd5330e6f2360684bbdaec64d8423c1d, type: 3}
diff --git a/Assets/TileSets/Palettes/DrillIronOre.prefab.meta b/Assets/TileSets/Palettes/DrillIronOre.prefab.meta
new file mode 100644
index 0000000..954dffc
--- /dev/null
+++ b/Assets/TileSets/Palettes/DrillIronOre.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 858e9987645c29748a5b0990923da82f
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/TileSets/Palettes/Files/Ores.meta b/Assets/TileSets/Palettes/Files/Ores.meta
new file mode 100644
index 0000000..6cfdfeb
--- /dev/null
+++ b/Assets/TileSets/Palettes/Files/Ores.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3b5518d1c77ab344a82e04e828ea8530
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/TileSets/Palettes/IronOreRuleTile.asset b/Assets/TileSets/Palettes/IronOreRuleTile.asset
new file mode 100644
index 0000000..aa9971c
--- /dev/null
+++ b/Assets/TileSets/Palettes/IronOreRuleTile.asset
@@ -0,0 +1,39 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9d1514134bc4fbd41bb739b1b9a49231, type: 3}
+  m_Name: IronOreRuleTile
+  m_EditorClassIdentifier: 
+  m_DefaultSprite: {fileID: 0}
+  m_DefaultGameObject: {fileID: 3549545049718014148, guid: 858e9987645c29748a5b0990923da82f, type: 3}
+  m_DefaultColliderType: 1
+  m_TilingRules:
+  - m_Id: 0
+    m_Sprites:
+    - {fileID: 21300000, guid: 83ee72e0f385a7641b729c9f5c288e74, type: 3}
+    m_GameObject: {fileID: 3549545049718014148, guid: 858e9987645c29748a5b0990923da82f, type: 3}
+    m_MinAnimationSpeed: 1
+    m_MaxAnimationSpeed: 1
+    m_PerlinScale: 0.5
+    m_Output: 0
+    m_ColliderType: 1
+    m_RandomTransform: 0
+    m_Neighbors: 
+    m_NeighborPositions:
+    - {x: -1, y: 1, z: 0}
+    - {x: 0, y: 1, z: 0}
+    - {x: 1, y: 1, z: 0}
+    - {x: -1, y: 0, z: 0}
+    - {x: 1, y: 0, z: 0}
+    - {x: -1, y: -1, z: 0}
+    - {x: 0, y: -1, z: 0}
+    - {x: 1, y: -1, z: 0}
+    m_RuleTransform: 0
diff --git a/Assets/TileSets/Palettes/IronOreRuleTile.asset.meta b/Assets/TileSets/Palettes/IronOreRuleTile.asset.meta
new file mode 100644
index 0000000..3ecaaf5
--- /dev/null
+++ b/Assets/TileSets/Palettes/IronOreRuleTile.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4d8deb60103293942a07fd9361be5e8f
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

--
Gitblit v1.9.3