From 03e726c146eb47fa205375d9fdf37e9278e45cfa Mon Sep 17 00:00:00 2001
From: Moritz Meyerhof <moritz.meyerhof@rub.de>
Date: Wed, 14 Apr 2021 00:56:36 +0200
Subject: [PATCH] Added Enemy Spawn (Drag & Drop)

---
 Assets/Asset Store/Enemy Spawn.meta           |   8 +
 Assets/Asset Store/Enemy Spawn/Crate 2.png    |   3 +
 .../Asset Store/Enemy Spawn/Crate 2.png.meta  |  96 ++++++
 .../Asset Store/Enemy Spawn/Crate 3 BS12.png  |   3 +
 .../Enemy Spawn/Crate 3 BS12.png.meta         |  96 ++++++
 .../Asset Store/Enemy Spawn/Crate 3 BS13.png  |   3 +
 .../Enemy Spawn/Crate 3 BS13.png.meta         |  96 ++++++
 Assets/Asset Store/Enemy Spawn/Crate 3.png    |   3 +
 .../Asset Store/Enemy Spawn/Crate 3.png.meta  |  96 ++++++
 Assets/EnemySpawnController.cs                | 100 ++++++
 Assets/EnemySpawnController.cs.meta           |  11 +
 Assets/Prefabs/Drag Prefab.prefab             |  77 +++++
 Assets/Prefabs/Drag Prefab.prefab.meta        |   7 +
 Assets/Scenes/Forest.unity                    | 308 +++++++++++++++++-
 Assets/Scripts/Fighters/Bandit.asset          |  18 +
 Assets/Scripts/Fighters/Bandit.asset.meta     |   8 +
 Assets/Scripts/Fighters/Opponent.cs           |  10 +
 Assets/Scripts/Fighters/Opponent.cs.meta      |  11 +
 Assets/Scripts/Fighters/Tank.asset            |  18 +
 Assets/Scripts/Fighters/Tank.asset.meta       |   8 +
 Assets/SpawnEnemy.cs                          |  29 ++
 Assets/SpawnEnemy.cs.meta                     |  11 +
 22 files changed, 1018 insertions(+), 2 deletions(-)
 create mode 100644 Assets/Asset Store/Enemy Spawn.meta
 create mode 100644 Assets/Asset Store/Enemy Spawn/Crate 2.png
 create mode 100644 Assets/Asset Store/Enemy Spawn/Crate 2.png.meta
 create mode 100644 Assets/Asset Store/Enemy Spawn/Crate 3 BS12.png
 create mode 100644 Assets/Asset Store/Enemy Spawn/Crate 3 BS12.png.meta
 create mode 100644 Assets/Asset Store/Enemy Spawn/Crate 3 BS13.png
 create mode 100644 Assets/Asset Store/Enemy Spawn/Crate 3 BS13.png.meta
 create mode 100644 Assets/Asset Store/Enemy Spawn/Crate 3.png
 create mode 100644 Assets/Asset Store/Enemy Spawn/Crate 3.png.meta
 create mode 100644 Assets/EnemySpawnController.cs
 create mode 100644 Assets/EnemySpawnController.cs.meta
 create mode 100644 Assets/Prefabs/Drag Prefab.prefab
 create mode 100644 Assets/Prefabs/Drag Prefab.prefab.meta
 create mode 100644 Assets/Scripts/Fighters/Bandit.asset
 create mode 100644 Assets/Scripts/Fighters/Bandit.asset.meta
 create mode 100644 Assets/Scripts/Fighters/Opponent.cs
 create mode 100644 Assets/Scripts/Fighters/Opponent.cs.meta
 create mode 100644 Assets/Scripts/Fighters/Tank.asset
 create mode 100644 Assets/Scripts/Fighters/Tank.asset.meta
 create mode 100644 Assets/SpawnEnemy.cs
 create mode 100644 Assets/SpawnEnemy.cs.meta

diff --git a/Assets/Asset Store/Enemy Spawn.meta b/Assets/Asset Store/Enemy Spawn.meta
new file mode 100644
index 0000000..8398432
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn.meta	
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 22226310d64dfaa489c2610fd7b2f14c
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Asset Store/Enemy Spawn/Crate 2.png b/Assets/Asset Store/Enemy Spawn/Crate 2.png
new file mode 100644
index 0000000..35bcfdd
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn/Crate 2.png	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:36350c227acdb9775a27ee22c73bed123677b9e471efe495631542de532bc100
+size 63250
diff --git a/Assets/Asset Store/Enemy Spawn/Crate 2.png.meta b/Assets/Asset Store/Enemy Spawn/Crate 2.png.meta
new file mode 100644
index 0000000..d642e99
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn/Crate 2.png.meta	
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 9253193d90ba12b4aa444403abad66fe
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  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
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    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: 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
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Asset Store/Enemy Spawn/Crate 3 BS12.png b/Assets/Asset Store/Enemy Spawn/Crate 3 BS12.png
new file mode 100644
index 0000000..9d3833c
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn/Crate 3 BS12.png	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1b442ebbb28bd382e80b92a3e36d1d906a35ceab7fe11feb0b7878821f8ef75f
+size 22630
diff --git a/Assets/Asset Store/Enemy Spawn/Crate 3 BS12.png.meta b/Assets/Asset Store/Enemy Spawn/Crate 3 BS12.png.meta
new file mode 100644
index 0000000..064eaa8
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn/Crate 3 BS12.png.meta	
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 2c421cfd6346b1943a1a64b80b323e90
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  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
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    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: 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
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Asset Store/Enemy Spawn/Crate 3 BS13.png b/Assets/Asset Store/Enemy Spawn/Crate 3 BS13.png
new file mode 100644
index 0000000..1b40f47
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn/Crate 3 BS13.png	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4add32823419e4410dde2df3bd2a0f44c640e285da469bd8a80815022e5641f7
+size 19785
diff --git a/Assets/Asset Store/Enemy Spawn/Crate 3 BS13.png.meta b/Assets/Asset Store/Enemy Spawn/Crate 3 BS13.png.meta
new file mode 100644
index 0000000..f99ebec
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn/Crate 3 BS13.png.meta	
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 8e825f4a98eed974d9ba72f817bfaf95
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  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
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    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: 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
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Asset Store/Enemy Spawn/Crate 3.png b/Assets/Asset Store/Enemy Spawn/Crate 3.png
new file mode 100644
index 0000000..b5e0ede
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn/Crate 3.png	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:54929a45c291ed94a635b0dff52cdee5287a5250e933503de551dfb02885ce6f
+size 28269
diff --git a/Assets/Asset Store/Enemy Spawn/Crate 3.png.meta b/Assets/Asset Store/Enemy Spawn/Crate 3.png.meta
new file mode 100644
index 0000000..5105ae3
--- /dev/null
+++ b/Assets/Asset Store/Enemy Spawn/Crate 3.png.meta	
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 42919ef454752ff4d85b3a4f78a95da0
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  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
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    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: 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
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/EnemySpawnController.cs b/Assets/EnemySpawnController.cs
new file mode 100644
index 0000000..25e14df
--- /dev/null
+++ b/Assets/EnemySpawnController.cs
@@ -0,0 +1,100 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class EnemySpawnController : MonoBehaviour
+{
+    [SerializeField] List<Opponent> enemyList;
+    [SerializeField] List<Image> enemySprites;
+
+    Dictionary<Opponent, Image> enemys = new Dictionary<Opponent, Image>();
+
+    StatsManager statsManager;
+    float mana;
+
+    Opponent activeSpawn;
+    [SerializeField] GameObject dragObject;
+    GameObject enemyImage;
+
+    private void Awake()
+    {
+        statsManager = FindObjectOfType<StatsManager>();
+        mana = -1;
+
+        for (int i = 0; i < enemyList.Count; i++)
+        {
+            enemys.Add(enemyList[i], enemySprites[i]);
+        }
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (mana != statsManager.GetMana())
+        {
+            mana = statsManager.GetMana();
+            ChangeActiveState();
+        }
+    }
+
+    void ChangeActiveState()
+    {
+        foreach (KeyValuePair<Opponent, Image> enemy in enemys)
+        {
+            if (enemy.Key.enemyCost > mana)
+            {
+                enemy.Value.color = new Color(0.3f,0.3f,0.3f,1f);
+            }
+            else
+            {
+                enemy.Value.color = new Color(1f,1f,1f,1f);
+            }
+        }
+    }
+
+    void SetEnemyToSpawnObject(string enemyName)
+    {
+        foreach (Opponent enemy in enemyList)
+        {
+            if (enemy.Name == enemyName)
+            {
+                activeSpawn = enemy;
+            }
+        }
+    }
+
+    public void OnEnemyMouseDown(string enemyName)
+    {
+        SetEnemyToSpawnObject(enemyName);
+        if (statsManager.ModifyMana(-1*(int)activeSpawn.enemyCost))
+        {
+            dragObject.GetComponent<Image>().sprite = activeSpawn.EnemySprite;
+            enemyImage = Instantiate(dragObject, PositionPrefab(), Quaternion.identity,transform);
+        }
+    }
+    
+    Vector3 PositionPrefab()
+    {
+        Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
+        pos.z = 0;
+        return pos;
+    }
+
+    public void OnEnemyDrag()
+    {
+        if (enemyImage != null)
+        {
+            enemyImage.transform.position = PositionPrefab();
+        }
+
+    }
+
+    public void OnEnemyDrop()
+    {
+        Destroy(enemyImage);
+        enemyImage = null;
+        Instantiate(activeSpawn.enemyPrefab,PositionPrefab(),Quaternion.identity);
+    }
+}
diff --git a/Assets/EnemySpawnController.cs.meta b/Assets/EnemySpawnController.cs.meta
new file mode 100644
index 0000000..aa0787f
--- /dev/null
+++ b/Assets/EnemySpawnController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a74bab05f62e65e4fa16307dee3e5827
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/Drag Prefab.prefab b/Assets/Prefabs/Drag Prefab.prefab
new file mode 100644
index 0000000..acf45de
--- /dev/null
+++ b/Assets/Prefabs/Drag Prefab.prefab	
@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &4114505868302929122
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2239169736099079619}
+  - component: {fileID: 1394439765298628289}
+  - component: {fileID: 1247758896975151695}
+  m_Layer: 5
+  m_Name: Drag Prefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2239169736099079619
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4114505868302929122}
+  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_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 160, y: 160}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1394439765298628289
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4114505868302929122}
+  m_CullTransparentMesh: 1
+--- !u!114 &1247758896975151695
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4114505868302929122}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: f2ed27d6c1c3ccc48959bcca269d88f0, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
diff --git a/Assets/Prefabs/Drag Prefab.prefab.meta b/Assets/Prefabs/Drag Prefab.prefab.meta
new file mode 100644
index 0000000..5d61912
--- /dev/null
+++ b/Assets/Prefabs/Drag Prefab.prefab.meta	
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1ce923bc556ae99439295bb42b64f115
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/Forest.unity b/Assets/Scenes/Forest.unity
index 56e5569..ad57552 100644
--- a/Assets/Scenes/Forest.unity
+++ b/Assets/Scenes/Forest.unity
@@ -375,7 +375,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 6628969328331147427, guid: afeb708bd829d8a4aa0310ed2cd87a74, type: 3}
       propertyPath: m_RootOrder
-      value: 5
+      value: 4
       objectReference: {fileID: 0}
     - target: {fileID: 6628969328331147427, guid: afeb708bd829d8a4aa0310ed2cd87a74, type: 3}
       propertyPath: m_LocalPosition.x
@@ -607,6 +607,7 @@ RectTransform:
   - {fileID: 436317215}
   - {fileID: 1387767650}
   - {fileID: 1599829695}
+  - {fileID: 1642190546}
   m_Father: {fileID: 0}
   m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -899,6 +900,143 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+--- !u!1 &845306550
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 845306551}
+  - component: {fileID: 845306554}
+  - component: {fileID: 845306553}
+  - component: {fileID: 845306552}
+  m_Layer: 5
+  m_Name: Light Bandit
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &845306551
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 845306550}
+  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_Children: []
+  m_Father: {fileID: 1871073115}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 9.5}
+  m_SizeDelta: {x: 160, y: 160}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &845306552
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 845306550}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Delegates:
+  - eventID: 5
+    callback:
+      m_PersistentCalls:
+        m_Calls:
+        - m_Target: {fileID: 1642190547}
+          m_TargetAssemblyTypeName: EnemySpawnController, Assembly-CSharp
+          m_MethodName: OnEnemyDrag
+          m_Mode: 1
+          m_Arguments:
+            m_ObjectArgument: {fileID: 0}
+            m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+            m_IntArgument: 0
+            m_FloatArgument: 0
+            m_StringArgument: Bandit
+            m_BoolArgument: 0
+          m_CallState: 2
+  - eventID: 13
+    callback:
+      m_PersistentCalls:
+        m_Calls:
+        - m_Target: {fileID: 1642190547}
+          m_TargetAssemblyTypeName: EnemySpawnController, Assembly-CSharp
+          m_MethodName: OnEnemyMouseDown
+          m_Mode: 5
+          m_Arguments:
+            m_ObjectArgument: {fileID: 0}
+            m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+            m_IntArgument: 0
+            m_FloatArgument: 0
+            m_StringArgument: Bandit
+            m_BoolArgument: 0
+          m_CallState: 2
+  - eventID: 14
+    callback:
+      m_PersistentCalls:
+        m_Calls:
+        - m_Target: {fileID: 1642190547}
+          m_TargetAssemblyTypeName: EnemySpawnController, Assembly-CSharp
+          m_MethodName: OnEnemyDrop
+          m_Mode: 1
+          m_Arguments:
+            m_ObjectArgument: {fileID: 0}
+            m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+            m_IntArgument: 0
+            m_FloatArgument: 0
+            m_StringArgument: Bandit
+            m_BoolArgument: 0
+          m_CallState: 2
+--- !u!114 &845306553
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 845306550}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: f2ed27d6c1c3ccc48959bcca269d88f0, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &845306554
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 845306550}
+  m_CullTransparentMesh: 1
 --- !u!1001 &996834900
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -1353,6 +1491,81 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1109124351}
   m_CullTransparentMesh: 1
+--- !u!1 &1173899898
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1173899899}
+  - component: {fileID: 1173899901}
+  - component: {fileID: 1173899900}
+  m_Layer: 5
+  m_Name: Crate
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1173899899
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1173899898}
+  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_Children: []
+  m_Father: {fileID: 1871073115}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 170, y: 170}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1173899900
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1173899898}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 8e825f4a98eed974d9ba72f817bfaf95, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1173899901
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1173899898}
+  m_CullTransparentMesh: 1
 --- !u!1 &1260345377 stripped
 GameObject:
   m_CorrespondingSourceObject: {fileID: 1386842959478205139, guid: 63cbedde58198bc489f5906809647d41, type: 3}
@@ -2154,6 +2367,60 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: 60}
   m_SizeDelta: {x: 100, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1642190545
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1642190546}
+  - component: {fileID: 1642190547}
+  m_Layer: 5
+  m_Name: Spawn Objects Container
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1642190546
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1642190545}
+  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_Children:
+  - {fileID: 1871073115}
+  m_Father: {fileID: 528503314}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 490, y: -374}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1642190547
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1642190545}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a74bab05f62e65e4fa16307dee3e5827, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  enemyList:
+  - {fileID: 11400000, guid: 04f4312cb383f994b86681b9c72debc3, type: 2}
+  enemySprites:
+  - {fileID: 845306553}
+  dragObject: {fileID: 4114505868302929122, guid: 1ce923bc556ae99439295bb42b64f115, type: 3}
 --- !u!1001 &1658971858
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -2691,6 +2958,43 @@ RectTransform:
   m_AnchoredPosition: {x: 269, y: 169}
   m_SizeDelta: {x: 100, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1871073114
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1871073115}
+  m_Layer: 5
+  m_Name: Spawn Container
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1871073115
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1871073114}
+  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_Children:
+  - {fileID: 1173899899}
+  - {fileID: 845306551}
+  m_Father: {fileID: 1642190546}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 170, y: 170}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1001 &1887419952
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -3076,7 +3380,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 4
+  m_RootOrder: 5
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &2089127098
 GameObject:
diff --git a/Assets/Scripts/Fighters/Bandit.asset b/Assets/Scripts/Fighters/Bandit.asset
new file mode 100644
index 0000000..574161e
--- /dev/null
+++ b/Assets/Scripts/Fighters/Bandit.asset
@@ -0,0 +1,18 @@
+%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: 7f638eeda9c7b0f41b8233daa8e225d6, type: 3}
+  m_Name: Bandit
+  m_EditorClassIdentifier: 
+  Name: Bandit
+  enemyPrefab: {fileID: 1689866831511430, guid: 47f4e1f4f52a8ea4e8c4afb1cce6a3f5, type: 3}
+  enemyCost: 200
+  EnemySprite: {fileID: 21300000, guid: f2ed27d6c1c3ccc48959bcca269d88f0, type: 3}
diff --git a/Assets/Scripts/Fighters/Bandit.asset.meta b/Assets/Scripts/Fighters/Bandit.asset.meta
new file mode 100644
index 0000000..81b3e08
--- /dev/null
+++ b/Assets/Scripts/Fighters/Bandit.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 04f4312cb383f994b86681b9c72debc3
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Fighters/Opponent.cs b/Assets/Scripts/Fighters/Opponent.cs
new file mode 100644
index 0000000..90a093b
--- /dev/null
+++ b/Assets/Scripts/Fighters/Opponent.cs
@@ -0,0 +1,10 @@
+using UnityEngine;
+
+[CreateAssetMenu(menuName ="Opponent")]
+public class Opponent : ScriptableObject
+{
+    public string Name;
+    public GameObject enemyPrefab;
+    public float enemyCost;
+    public Sprite EnemySprite;
+}
diff --git a/Assets/Scripts/Fighters/Opponent.cs.meta b/Assets/Scripts/Fighters/Opponent.cs.meta
new file mode 100644
index 0000000..c25b74f
--- /dev/null
+++ b/Assets/Scripts/Fighters/Opponent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7f638eeda9c7b0f41b8233daa8e225d6
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Fighters/Tank.asset b/Assets/Scripts/Fighters/Tank.asset
new file mode 100644
index 0000000..c1c28a4
--- /dev/null
+++ b/Assets/Scripts/Fighters/Tank.asset
@@ -0,0 +1,18 @@
+%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: 7f638eeda9c7b0f41b8233daa8e225d6, type: 3}
+  m_Name: Tank
+  m_EditorClassIdentifier: 
+  Name: Tank
+  enemyPrefab: {fileID: 1463392086428580, guid: 24b6178ea31b57743ac5b5b95a7d8cf8, type: 3}
+  enemyCost: 400
+  EnemySprite: {fileID: 21300000, guid: 317b8365a4649ab459f6cb58ec8f9f18, type: 3}
diff --git a/Assets/Scripts/Fighters/Tank.asset.meta b/Assets/Scripts/Fighters/Tank.asset.meta
new file mode 100644
index 0000000..dc31c3a
--- /dev/null
+++ b/Assets/Scripts/Fighters/Tank.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0377b184e14f0ab429f0fc0b885ee6b2
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/SpawnEnemy.cs b/Assets/SpawnEnemy.cs
new file mode 100644
index 0000000..d18d81e
--- /dev/null
+++ b/Assets/SpawnEnemy.cs
@@ -0,0 +1,29 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+
+public class SpawnEnemy : MonoBehaviour, IPointerDownHandler, IBeginDragHandler
+{
+    public void OnBeginDrag(PointerEventData eventData)
+    {
+        Debug.Log("Something has happend");
+    }
+
+    public void OnPointerDown(PointerEventData eventData)
+    {
+        Debug.Log("Something has happend");
+    }
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}
diff --git a/Assets/SpawnEnemy.cs.meta b/Assets/SpawnEnemy.cs.meta
new file mode 100644
index 0000000..984dcf7
--- /dev/null
+++ b/Assets/SpawnEnemy.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e1e4776ca1e2ca04b99c32d12ca966bb
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
-- 
GitLab