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