diff --git a/Assets/KJM/KJM.unity b/Assets/KJM/KJM.unity index 5077e333..89f759a5 100644 --- a/Assets/KJM/KJM.unity +++ b/Assets/KJM/KJM.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc53e3b14c89a301497a16817eef5445f32e4f011d347826d2c6b4dc2fc834e5 -size 62437 +oid sha256:e84ea7a63d87e4d2ba09134c9ad478802df3283c7d6f8867b70b481bbc3c1017 +size 67418 diff --git a/Assets/KJM/KJM_Test/Save/TestScript.cs b/Assets/KJM/KJM_Test/Save/TestScript.cs index 12cee8f3..1d863d71 100644 --- a/Assets/KJM/KJM_Test/Save/TestScript.cs +++ b/Assets/KJM/KJM_Test/Save/TestScript.cs @@ -11,11 +11,11 @@ using Random = UnityEngine.Random; public class TestScript : MonoBehaviour,ISaveable { //던전 - private int attackPowerLevel; - private int attackSpeedLevel; - private int heartLevel; - private int moveSpeedLevel; - private int dashCoolDownLevel; + // private int attackPowerLevel; + // private int attackSpeedLevel; + // private int heartLevel; + // private int moveSpeedLevel; + // private int dashCoolDownLevel; private int stageLevel; //일상 @@ -34,10 +34,10 @@ public class TestScript : MonoBehaviour,ISaveable float floatValue = Random.Range(0f, 2f); int intValue = Random.Range(0, 10); - attackPowerLevel = intValue; - attackSpeedLevel = intValue; - heartLevel = intValue; - moveSpeedLevel = intValue; + // attackPowerLevel = intValue; + // attackSpeedLevel = intValue; + // heartLevel = intValue; + // moveSpeedLevel = intValue; stageLevel = intValue; @@ -59,11 +59,11 @@ public class TestScript : MonoBehaviour,ISaveable { if (save?.dungeonSave != null) { - attackPowerLevel = save.dungeonSave.attackPowerLevel; - attackSpeedLevel = save.dungeonSave.attackSpeedLevel; - heartLevel = save.dungeonSave.heartLevel; - moveSpeedLevel = save.dungeonSave.moveSpeedLevel; - dashCoolDownLevel = save.dungeonSave.dashCoolDownLevel; + // attackPowerLevel = save.dungeonSave.attackPowerLevel; + // attackSpeedLevel = save.dungeonSave.attackSpeedLevel; + // heartLevel = save.dungeonSave.heartLevel; + // moveSpeedLevel = save.dungeonSave.moveSpeedLevel; + // dashCoolDownLevel = save.dungeonSave.dashCoolDownLevel; stageLevel = save.dungeonSave.stageLevel; } @@ -90,11 +90,11 @@ public class TestScript : MonoBehaviour,ISaveable { dungeonSave = new DungeonSave() { - attackPowerLevel = this.attackPowerLevel, - attackSpeedLevel = this.attackSpeedLevel, - heartLevel = this.heartLevel, - moveSpeedLevel = this.moveSpeedLevel, - dashCoolDownLevel = this.dashCoolDownLevel, + // attackPowerLevel = this.attackPowerLevel, + // attackSpeedLevel = this.attackSpeedLevel, + // heartLevel = this.heartLevel, + // moveSpeedLevel = this.moveSpeedLevel, + // dashCoolDownLevel = this.dashCoolDownLevel, stageLevel = this.stageLevel, }, diff --git a/Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradeCard.prefab b/Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradeCard.prefab index a31e90b0..bd23b5d9 100644 --- a/Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradeCard.prefab +++ b/Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradeCard.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:565d29e23a209a9ab8504aa22a39121e542a7dbbd57ac37dba3eb05718a29cd5 -size 11094 +oid sha256:582a91b348716ba20c37fdf665daae8cf2d8660493bdf9a61f069f90ca5e9437 +size 11501 diff --git a/Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradePanel.prefab b/Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradePanel.prefab index efaf3724..af5f68de 100644 --- a/Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradePanel.prefab +++ b/Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradePanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a699823988b7332d32991439e598c1b5a65da0e2ff5e0390f0d8768d4aa3a360 +oid sha256:5d9864d25215da2b694db9f1ee11d5e9f8d447bf0b529a9d38edc4790f966d85 size 2942 diff --git a/Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png b/Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png new file mode 100644 index 00000000..0d1d89cc --- /dev/null +++ b/Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:870965c46c38eb0ca75e878c521b22015834ffeef62117f753295f453a273a14 +size 2678218 diff --git a/Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png.meta b/Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png.meta new file mode 100644 index 00000000..a21f47ba --- /dev/null +++ b/Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png.meta @@ -0,0 +1,150 @@ +fileFormatVersion: 2 +guid: d32af0a170ee68a4baafe29418a7c7e7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + 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: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Max!_0 + rect: + serializedVersion: 2 + x: 4 + y: 72 + width: 1003 + height: 901 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 79aa739531277a148a344ca8f1df525f + internalID: -1446879825 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 4211bd0831b53be45a41c594c940d0ca + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Max!_0: -1446879825 + Max!_1: -1829641980 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/KJM/KJM_Test/Upgrade/UpgradeCard.cs b/Assets/KJM/KJM_Test/Upgrade/UpgradeCard.cs index 2f8e452e..7f8f0e24 100644 --- a/Assets/KJM/KJM_Test/Upgrade/UpgradeCard.cs +++ b/Assets/KJM/KJM_Test/Upgrade/UpgradeCard.cs @@ -7,16 +7,19 @@ using UnityEngine.UI; public class UpgradeCard : MonoBehaviour { - public Sprite[] upgradeSprite; + public Sprite[] upgradeSpriteResource; + UpgradeManager upgradeManager; StatType currentStatType; Image[] upgradeIcon; TextMeshProUGUI upgradeText; void Awake() { + upgradeManager = UpgradeManager.Instance; upgradeIcon = gameObject.GetComponentsInChildren(); upgradeText = gameObject.GetComponentInChildren(); + } public void Init(StatType statType) @@ -24,13 +27,18 @@ public class UpgradeCard : MonoBehaviour currentStatType = statType; //텍스트 설정 - upgradeText.text = StatNameText(currentStatType) + " Lv." + (UpgradeManager.Instance.upgradeStat.CurrentUpgradeLevel(currentStatType)); + upgradeText.text = StatNameText(currentStatType) + " Lv." + UpgradeLevelText(currentStatType); //아이콘 설정 - upgradeIcon[1].sprite = upgradeSprite[(int)statType-1]; + upgradeIcon[1].sprite = upgradeSpriteResource[(int)statType-1]; } + /// + /// 강화 요소 텍스트 반환 + /// + /// + /// private String StatNameText(StatType statType) { switch (statType) @@ -45,15 +53,43 @@ public class UpgradeCard : MonoBehaviour return "대시 쿨타임"; case StatType.Heart: return "최대 하트"; + case StatType.Max: + return "용사"; default: return ""; } } + /// + /// 레벨 텍스트 반환 + /// + /// + /// + private String UpgradeLevelText(StatType statType) + { + if (statType == StatType.Max) + return "999"; + + if (upgradeManager.upgradeStat.IsOneBeforeMax(statType)) + { + return "Max"; + } + else + { + return (upgradeManager.upgradeStat.CurrentUpgradeLevel(statType)+1).ToString(); + } + } + + /// + /// 강화 카드 클릭 + /// public void ClickCard() { //레벨 증가 - UpgradeManager.Instance.upgradeStat.UpgradeLevel(currentStatType); - Debug.Log(UpgradeManager.Instance.upgradeStat.CurrentUpgradeLevel(currentStatType)); + upgradeManager.upgradeStat.UpgradeLevel(currentStatType); + + //UI 비활성화 + upgradeManager.DestroyUpgradeCard(); } + } diff --git a/Assets/KJM/KJM_Test/Upgrade/UpgradeManager.cs b/Assets/KJM/KJM_Test/Upgrade/UpgradeManager.cs index 147c0f0c..f7bf555e 100644 --- a/Assets/KJM/KJM_Test/Upgrade/UpgradeManager.cs +++ b/Assets/KJM/KJM_Test/Upgrade/UpgradeManager.cs @@ -1,5 +1,6 @@ using System.Collections; using System.Collections.Generic; +using System.Linq; using UnityEngine; using UnityEngine.Rendering; using UnityEngine.SceneManagement; @@ -11,13 +12,14 @@ public enum StatType AttackSpeed, MoveSpeed, DashCoolDown, - Heart + Heart, + Max } public class UpgradeManager : Singleton { - //현재 캔버스 찾는 함수 설정 - public Canvas canvas; + //캔버스 프리팹 사용..? + Canvas canvas; public GameObject backgroundPanel; public Button upgradeButton; @@ -25,40 +27,212 @@ public class UpgradeManager : Singleton public UpgradeStat upgradeStat; private readonly List statNumbers = new List { 1, 2, 3, 4, 5 }; - - public void GenerateUpgradeCard() - { - //카드 번호 셔플 - ShuffleStatNumber(); - - //강화 수치가 맥스인 항목은 제외하는 로직 + private List stats = new List(); + + private RectTransform backgroundRectTransform; + private List