DEG-25-강화-기초-로직-구현 #10
BIN
Assets/KJM/KJM.unity
(Stored with Git LFS)
BIN
Assets/KJM/KJM.unity
(Stored with Git LFS)
Binary file not shown.
8
Assets/KJM/KJM_Test/Save.meta
Normal file
8
Assets/KJM/KJM_Test/Save.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a49c3aa3df10e094882d67e836247adb
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -6,11 +6,11 @@ using UnityEngine;
|
|||||||
public class DungeonSave
|
public class DungeonSave
|
||||||
{
|
{
|
||||||
// 강화 수치
|
// 강화 수치
|
||||||
public int attackLevel = 0;
|
public int attackPowerLevel = 0;
|
||||||
public int attackSpeedLevel = 0;
|
public int attackSpeedLevel = 0;
|
||||||
public int heartLevel = 0;
|
public int heartLevel = 0;
|
||||||
public int moveSpeedLevel = 0;
|
public int moveSpeedLevel = 0;
|
||||||
public int evasionTimeLevel = 0;
|
public int dashCoolDownLevel = 0;
|
||||||
|
|
||||||
// 현재 진행 중인 스테이지
|
// 현재 진행 중인 스테이지
|
||||||
public int stageLevel = 0;
|
public int stageLevel = 0;
|
||||||
@ -20,11 +20,11 @@ public class DungeonSave
|
|||||||
{
|
{
|
||||||
if (other == null) return;
|
if (other == null) return;
|
||||||
|
|
||||||
if (other.attackLevel != 0) attackLevel = other.attackLevel;
|
if (other.attackPowerLevel != 0) attackPowerLevel = other.attackPowerLevel;
|
||||||
if (other.attackSpeedLevel != 0) attackSpeedLevel = other.attackSpeedLevel;
|
if (other.attackSpeedLevel != 0) attackSpeedLevel = other.attackSpeedLevel;
|
||||||
if (other.heartLevel != 0) heartLevel = other.heartLevel;
|
if (other.heartLevel != 0) heartLevel = other.heartLevel;
|
||||||
if (other.moveSpeedLevel != 0) moveSpeedLevel = other.moveSpeedLevel;
|
if (other.moveSpeedLevel != 0) moveSpeedLevel = other.moveSpeedLevel;
|
||||||
if (other.evasionTimeLevel != 0) evasionTimeLevel = other.evasionTimeLevel;
|
if (other.dashCoolDownLevel != 0) dashCoolDownLevel = other.dashCoolDownLevel;
|
||||||
if (other.stageLevel != 0) stageLevel = other.stageLevel;
|
if (other.stageLevel != 0) stageLevel = other.stageLevel;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -18,7 +18,6 @@ public class SaveManager : Singleton<SaveManager>
|
|||||||
private Save mainSave;
|
private Save mainSave;
|
||||||
private Save backupSave;
|
private Save backupSave;
|
||||||
|
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
Load(); //저장된 메인,백업 세이브를 로드
|
Load(); //저장된 메인,백업 세이브를 로드
|
@ -11,11 +11,11 @@ using Random = UnityEngine.Random;
|
|||||||
public class TestScript : MonoBehaviour,ISaveable
|
public class TestScript : MonoBehaviour,ISaveable
|
||||||
{
|
{
|
||||||
//던전
|
//던전
|
||||||
private int attackLevel;
|
// private int attackPowerLevel;
|
||||||
private int attackSpeedLevel;
|
// private int attackSpeedLevel;
|
||||||
private int heartLevel;
|
// private int heartLevel;
|
||||||
private int moveSpeedLevel;
|
// private int moveSpeedLevel;
|
||||||
private int evasionTimeLevel;
|
// private int dashCoolDownLevel;
|
||||||
private int stageLevel;
|
private int stageLevel;
|
||||||
|
|
||||||
//일상
|
//일상
|
||||||
@ -34,10 +34,10 @@ public class TestScript : MonoBehaviour,ISaveable
|
|||||||
float floatValue = Random.Range(0f, 2f);
|
float floatValue = Random.Range(0f, 2f);
|
||||||
int intValue = Random.Range(0, 10);
|
int intValue = Random.Range(0, 10);
|
||||||
|
|
||||||
attackLevel = intValue;
|
// attackPowerLevel = intValue;
|
||||||
attackSpeedLevel = intValue;
|
// attackSpeedLevel = intValue;
|
||||||
heartLevel = intValue;
|
// heartLevel = intValue;
|
||||||
moveSpeedLevel = intValue;
|
// moveSpeedLevel = intValue;
|
||||||
stageLevel = intValue;
|
stageLevel = intValue;
|
||||||
|
|
||||||
|
|
||||||
@ -59,11 +59,11 @@ public class TestScript : MonoBehaviour,ISaveable
|
|||||||
{
|
{
|
||||||
if (save?.dungeonSave != null)
|
if (save?.dungeonSave != null)
|
||||||
{
|
{
|
||||||
attackLevel = save.dungeonSave.attackLevel;
|
// attackPowerLevel = save.dungeonSave.attackPowerLevel;
|
||||||
attackSpeedLevel = save.dungeonSave.attackSpeedLevel;
|
// attackSpeedLevel = save.dungeonSave.attackSpeedLevel;
|
||||||
heartLevel = save.dungeonSave.heartLevel;
|
// heartLevel = save.dungeonSave.heartLevel;
|
||||||
moveSpeedLevel = save.dungeonSave.moveSpeedLevel;
|
// moveSpeedLevel = save.dungeonSave.moveSpeedLevel;
|
||||||
evasionTimeLevel = save.dungeonSave.evasionTimeLevel;
|
// dashCoolDownLevel = save.dungeonSave.dashCoolDownLevel;
|
||||||
stageLevel = save.dungeonSave.stageLevel;
|
stageLevel = save.dungeonSave.stageLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,11 +90,11 @@ public class TestScript : MonoBehaviour,ISaveable
|
|||||||
{
|
{
|
||||||
dungeonSave = new DungeonSave()
|
dungeonSave = new DungeonSave()
|
||||||
{
|
{
|
||||||
attackLevel = this.attackLevel,
|
// attackPowerLevel = this.attackPowerLevel,
|
||||||
attackSpeedLevel = this.attackSpeedLevel,
|
// attackSpeedLevel = this.attackSpeedLevel,
|
||||||
heartLevel = this.heartLevel,
|
// heartLevel = this.heartLevel,
|
||||||
moveSpeedLevel = this.moveSpeedLevel,
|
// moveSpeedLevel = this.moveSpeedLevel,
|
||||||
evasionTimeLevel = this.evasionTimeLevel,
|
// dashCoolDownLevel = this.dashCoolDownLevel,
|
||||||
stageLevel = this.stageLevel,
|
stageLevel = this.stageLevel,
|
||||||
|
|
||||||
},
|
},
|
8
Assets/KJM/KJM_Test/Upgrade.meta
Normal file
8
Assets/KJM/KJM_Test/Upgrade.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8b98513ea028982479bf6eae61121fe5
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
277613
Assets/KJM/KJM_Test/Upgrade/Galmuri9 KJM.asset
Normal file
277613
Assets/KJM/KJM_Test/Upgrade/Galmuri9 KJM.asset
Normal file
File diff suppressed because one or more lines are too long
8
Assets/KJM/KJM_Test/Upgrade/Galmuri9 KJM.asset.meta
Normal file
8
Assets/KJM/KJM_Test/Upgrade/Galmuri9 KJM.asset.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b90842d6665d9444fb6e669e7f88aca3
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/KJM/KJM_Test/Upgrade/Prefabs.meta
Normal file
8
Assets/KJM/KJM_Test/Upgrade/Prefabs.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cadea41f445905f4b8d9c11723338f7c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradeCard.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradeCard.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3a5d97c3b5d9da742bcc4b683678858d
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradePanel.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Prefabs/UpgradePanel.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6f4016bf1abc62446964585074b66ff6
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/KJM/KJM_Test/Upgrade/Sprite.meta
Normal file
8
Assets/KJM/KJM_Test/Upgrade/Sprite.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b1f8dc566755f2446a76afd19a36f86b
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/AttackPower.png
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/AttackPower.png
(Stored with Git LFS)
Normal file
Binary file not shown.
150
Assets/KJM/KJM_Test/Upgrade/Sprite/AttackPower.png.meta
Normal file
150
Assets/KJM/KJM_Test/Upgrade/Sprite/AttackPower.png.meta
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f66e0be8c4c11e34e8df13202bf1f5d5
|
||||||
|
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: 175, z: 0, w: 143}
|
||||||
|
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: AttackPower_0
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 184
|
||||||
|
width: 1024
|
||||||
|
height: 1204
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 370d47848ff092a498bf01d593d2aa55
|
||||||
|
internalID: 425245915
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 1537655665
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable:
|
||||||
|
AttackPower_0: 425245915
|
||||||
|
AttackPower_1: -1293571596
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/AttackSpeed.png
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/AttackSpeed.png
(Stored with Git LFS)
Normal file
Binary file not shown.
151
Assets/KJM/KJM_Test/Upgrade/Sprite/AttackSpeed.png.meta
Normal file
151
Assets/KJM/KJM_Test/Upgrade/Sprite/AttackSpeed.png.meta
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ec0c3cf0b94621c4aac7b4b5c0cae145
|
||||||
|
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: AttackSpeed_2
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 1024
|
||||||
|
height: 1024
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: c8e8694b0c41ab6469640d70f91cf94a
|
||||||
|
internalID: 2057710573
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable:
|
||||||
|
AttackSpeed_0: 454528844
|
||||||
|
AttackSpeed_1: -1726966544
|
||||||
|
AttackSpeed_2: 2057710573
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/Card.png
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/Card.png
(Stored with Git LFS)
Normal file
Binary file not shown.
127
Assets/KJM/KJM_Test/Upgrade/Sprite/Card.png.meta
Normal file
127
Assets/KJM/KJM_Test/Upgrade/Sprite/Card.png.meta
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1c49741f6a806b14182548910bee3360
|
||||||
|
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: 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
|
||||||
|
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: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/Cooldown.png
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/Cooldown.png
(Stored with Git LFS)
Normal file
Binary file not shown.
151
Assets/KJM/KJM_Test/Upgrade/Sprite/Cooldown.png.meta
Normal file
151
Assets/KJM/KJM_Test/Upgrade/Sprite/Cooldown.png.meta
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e04e0cfb7cfe07a4a837565be2a9e814
|
||||||
|
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: Cooldown_0
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 3
|
||||||
|
y: 282
|
||||||
|
width: 1021
|
||||||
|
height: 1024
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 0e987966a87c0334cbd558b54dd2884e
|
||||||
|
internalID: -1865935854
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable:
|
||||||
|
Cooldown_0: -1865935854
|
||||||
|
Cooldown_1: -559825761
|
||||||
|
Cooldown_2: 1288966442
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/Heart.png
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/Heart.png
(Stored with Git LFS)
Normal file
Binary file not shown.
149
Assets/KJM/KJM_Test/Upgrade/Sprite/Heart.png.meta
Normal file
149
Assets/KJM/KJM_Test/Upgrade/Sprite/Heart.png.meta
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 50e1089e347a34e4391b8a7d309566aa
|
||||||
|
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: Heart_0
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 1024
|
||||||
|
height: 1024
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 3c1a37065ce3efe47a4e8751a5091442
|
||||||
|
internalID: 1911888675
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable:
|
||||||
|
Heart_0: 1911888675
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png
(Stored with Git LFS)
Normal file
Binary file not shown.
150
Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png.meta
Normal file
150
Assets/KJM/KJM_Test/Upgrade/Sprite/Max!.png.meta
Normal file
@ -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:
|
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/MoveSpeed.png
(Stored with Git LFS)
Normal file
BIN
Assets/KJM/KJM_Test/Upgrade/Sprite/MoveSpeed.png
(Stored with Git LFS)
Normal file
Binary file not shown.
152
Assets/KJM/KJM_Test/Upgrade/Sprite/MoveSpeed.png.meta
Normal file
152
Assets/KJM/KJM_Test/Upgrade/Sprite/MoveSpeed.png.meta
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: aedea94474332a34fb686424c18b3824
|
||||||
|
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: MoveSpeed_1
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 1024
|
||||||
|
height: 1024
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 17bab324354aba44c83eae0e6f5961eb
|
||||||
|
internalID: 1616989860
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable:
|
||||||
|
MoveSpeed_0: -310863518
|
||||||
|
MoveSpeed_1: 1616989860
|
||||||
|
MoveSpeed_2: 2079495695
|
||||||
|
MoveSpeed_3: -1746910826
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
95
Assets/KJM/KJM_Test/Upgrade/UpgradeCard.cs
Normal file
95
Assets/KJM/KJM_Test/Upgrade/UpgradeCard.cs
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public class UpgradeCard : MonoBehaviour
|
||||||
|
{
|
||||||
|
public Sprite[] upgradeSpriteResource;
|
||||||
|
|
||||||
|
UpgradeManager upgradeManager;
|
||||||
|
StatType currentStatType;
|
||||||
|
Image[] upgradeIcon;
|
||||||
|
TextMeshProUGUI upgradeText;
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
upgradeManager = UpgradeManager.Instance;
|
||||||
|
upgradeIcon = gameObject.GetComponentsInChildren<Image>();
|
||||||
|
upgradeText = gameObject.GetComponentInChildren<TextMeshProUGUI>();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Init(StatType statType)
|
||||||
|
{
|
||||||
|
currentStatType = statType;
|
||||||
|
|
||||||
|
//텍스트 설정
|
||||||
|
upgradeText.text = StatNameText(currentStatType) + " Lv." + UpgradeLevelText(currentStatType);
|
||||||
|
|
||||||
|
//아이콘 설정
|
||||||
|
upgradeIcon[1].sprite = upgradeSpriteResource[(int)statType-1];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 강화 요소 텍스트 반환
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statType"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private String StatNameText(StatType statType)
|
||||||
|
{
|
||||||
|
switch (statType)
|
||||||
|
{
|
||||||
|
case StatType.AttackPower:
|
||||||
|
return "공격력";
|
||||||
|
case StatType.AttackSpeed:
|
||||||
|
return "공격 속도";
|
||||||
|
case StatType.MoveSpeed:
|
||||||
|
return "이동 속도";
|
||||||
|
case StatType.DashCoolDown:
|
||||||
|
return "대시 쿨타임";
|
||||||
|
case StatType.Heart:
|
||||||
|
return "최대 하트";
|
||||||
|
case StatType.Max:
|
||||||
|
return "용사";
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 레벨 텍스트 반환
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statType"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 강화 카드 클릭
|
||||||
|
/// </summary>
|
||||||
|
public void ClickCard()
|
||||||
|
{
|
||||||
|
//레벨 증가
|
||||||
|
upgradeManager.upgradeStat.UpgradeLevel(currentStatType);
|
||||||
|
|
||||||
|
//UI 비활성화
|
||||||
|
upgradeManager.DestroyUpgradeCard();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
11
Assets/KJM/KJM_Test/Upgrade/UpgradeCard.cs.meta
Normal file
11
Assets/KJM/KJM_Test/Upgrade/UpgradeCard.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 67a6bd571702cb544b28aeb153cda686
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
238
Assets/KJM/KJM_Test/Upgrade/UpgradeManager.cs
Normal file
238
Assets/KJM/KJM_Test/Upgrade/UpgradeManager.cs
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Rendering;
|
||||||
|
using UnityEngine.SceneManagement;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public enum StatType
|
||||||
|
{
|
||||||
|
AttackPower = 1,
|
||||||
|
AttackSpeed,
|
||||||
|
MoveSpeed,
|
||||||
|
DashCoolDown,
|
||||||
|
Heart,
|
||||||
|
Max
|
||||||
|
}
|
||||||
|
|
||||||
|
public class UpgradeManager : Singleton<UpgradeManager>
|
||||||
|
{
|
||||||
|
//캔버스 프리팹 사용..?
|
||||||
|
Canvas canvas;
|
||||||
|
|
||||||
|
public GameObject backgroundPanel;
|
||||||
|
public Button upgradeButton;
|
||||||
|
|
||||||
|
public UpgradeStat upgradeStat;
|
||||||
|
|
||||||
|
private readonly List<int> statNumbers = new List<int> { 1, 2, 3, 4, 5 };
|
||||||
|
private List<int> stats = new List<int>();
|
||||||
|
|
||||||
|
private RectTransform backgroundRectTransform;
|
||||||
|
private List<Button> cards = new List<Button>();
|
||||||
|
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
if(canvas == null)
|
||||||
|
canvas = FindObjectOfType<Canvas>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartUpgrade()
|
||||||
|
{
|
||||||
|
DrawStatNumber();
|
||||||
|
|
||||||
|
//배경 패널 생성
|
||||||
|
if(backgroundRectTransform == null)
|
||||||
|
backgroundRectTransform = Instantiate(backgroundPanel,canvas.transform).GetComponent<RectTransform>();
|
||||||
|
//배경 패널 애니메이션 적용
|
||||||
|
backgroundRectTransform.gameObject.SetActive(true);
|
||||||
|
StartCoroutine(CoFade(backgroundRectTransform.gameObject, 0f,0.7f,0.2f));
|
||||||
|
|
||||||
|
EnsureCardListSize(3);
|
||||||
|
|
||||||
|
//카드 생성
|
||||||
|
if (stats.Count == 0)
|
||||||
|
{
|
||||||
|
//모든 강화가 MAX일때
|
||||||
|
if(cards[0] == null)
|
||||||
|
cards[0] = Instantiate(upgradeButton, backgroundRectTransform);
|
||||||
|
|
||||||
|
cards[0].gameObject.SetActive(true);
|
||||||
|
cards[0].GetComponent<UpgradeCard>().Init(StatType.Max);
|
||||||
|
StartCoroutine(CoFade(cards[0].gameObject, 0f,1f,0.4f, () =>
|
||||||
|
{
|
||||||
|
cards[0].GetComponent<CanvasGroup>().interactable = true;
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = 0; i < Mathf.Min(stats.Count, 3); i++)
|
||||||
|
{
|
||||||
|
if(cards[i] == null)
|
||||||
|
cards[i] = Instantiate(upgradeButton, backgroundRectTransform);
|
||||||
|
|
||||||
|
cards[i].gameObject.SetActive(true);
|
||||||
|
cards[i].GetComponent<UpgradeCard>().Init((StatType)stats[i]);
|
||||||
|
|
||||||
|
var index = i;
|
||||||
|
StartCoroutine(CoFade(cards[i].gameObject, 0f,1f,0.4f, () =>
|
||||||
|
{
|
||||||
|
cards[index].GetComponent<CanvasGroup>().interactable = true;
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 중복되지 않는 랜덤한 스탯 번호 뽑기
|
||||||
|
/// </summary>
|
||||||
|
private void DrawStatNumber()
|
||||||
|
{
|
||||||
|
stats.Clear();
|
||||||
|
|
||||||
|
//번호 셔플
|
||||||
|
for (int i = 0; i < statNumbers.Count; i++)
|
||||||
|
{
|
||||||
|
int randIndex = Random.Range(i, statNumbers.Count);
|
||||||
|
(statNumbers[i], statNumbers[randIndex]) = (statNumbers[randIndex], statNumbers[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//이미 강화 수치가 MAX이면 제외
|
||||||
|
foreach (var t in statNumbers)
|
||||||
|
{
|
||||||
|
if (upgradeStat.IsMax((StatType)t))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stats.Add(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 리스트 사이즈 보장
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="index"></param>
|
||||||
|
private void EnsureCardListSize(int index)
|
||||||
|
{
|
||||||
|
while (cards.Count <= index)
|
||||||
|
{
|
||||||
|
cards.Add(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 업그레이드 창 비활성화
|
||||||
|
/// </summary>
|
||||||
|
public void DestroyUpgradeCard()
|
||||||
|
{
|
||||||
|
// 카드 비활성화
|
||||||
|
if (stats.Count == 0)
|
||||||
|
{
|
||||||
|
StartCoroutine(CoFade(cards[0].gameObject, 1f,0f,0.4f,() =>
|
||||||
|
{
|
||||||
|
cards[0].gameObject.SetActive(false);
|
||||||
|
backgroundRectTransform.gameObject.SetActive(false);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = 0; i < Mathf.Min(stats.Count, 3); i++)
|
||||||
|
{
|
||||||
|
var index = i;
|
||||||
|
StartCoroutine(CoFade(cards[i].gameObject, 1f,0f,0.4f,() =>
|
||||||
|
{
|
||||||
|
cards[index].gameObject.SetActive(false);
|
||||||
|
if (index == Mathf.Min(stats.Count, 3) - 1)
|
||||||
|
{
|
||||||
|
backgroundRectTransform.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//배경 패널 비활성화
|
||||||
|
StartCoroutine(CoFade(backgroundRectTransform.gameObject, 0.7f,0f,0.2f));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 페이드 애니메이션 코루틴
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="target"></param>
|
||||||
|
/// <param name="fromAlpha"></param>
|
||||||
|
/// <param name="toAlpha"></param>
|
||||||
|
/// <param name="duration"></param>
|
||||||
|
/// <param name="onComplete"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public IEnumerator CoFade(GameObject target, float fromAlpha, float toAlpha, float duration,System.Action onComplete = null)
|
||||||
|
{
|
||||||
|
float elapsedTime = 0f;
|
||||||
|
|
||||||
|
CanvasGroup canvasGroup = target.GetComponent<CanvasGroup>();
|
||||||
|
Image image = target.GetComponent<Image>();
|
||||||
|
|
||||||
|
if (canvasGroup == null && image == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("CanvasGroup도 Image도 없습니다!");
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 초기 설정
|
||||||
|
if (canvasGroup != null)
|
||||||
|
{
|
||||||
|
canvasGroup.alpha = fromAlpha;
|
||||||
|
canvasGroup.interactable = false;
|
||||||
|
}
|
||||||
|
else if (image != null)
|
||||||
|
{
|
||||||
|
Color color = image.color;
|
||||||
|
color.a = fromAlpha;
|
||||||
|
image.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (elapsedTime < duration)
|
||||||
|
{
|
||||||
|
//float alpha = Mathf.Lerp(fromAlpha, toAlpha, elapsedTime / duration);
|
||||||
|
float t = Mathf.Clamp01(elapsedTime / duration);
|
||||||
|
float alpha = Mathf.Lerp(fromAlpha, toAlpha, t);
|
||||||
|
|
||||||
|
if (canvasGroup != null)
|
||||||
|
{
|
||||||
|
canvasGroup.alpha = alpha;
|
||||||
|
}
|
||||||
|
else if (image != null)
|
||||||
|
{
|
||||||
|
Color color = image.color;
|
||||||
|
color.a = alpha;
|
||||||
|
image.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
elapsedTime += Time.deltaTime;
|
||||||
|
yield return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 최종 보정 (정확한 값으로 마무리)
|
||||||
|
if (canvasGroup != null)
|
||||||
|
{
|
||||||
|
canvasGroup.alpha = toAlpha;
|
||||||
|
}
|
||||||
|
else if (image != null)
|
||||||
|
{
|
||||||
|
Color color = image.color;
|
||||||
|
color.a = toAlpha;
|
||||||
|
image.color = color;
|
||||||
|
}
|
||||||
|
onComplete?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
11
Assets/KJM/KJM_Test/Upgrade/UpgradeManager.cs.meta
Normal file
11
Assets/KJM/KJM_Test/Upgrade/UpgradeManager.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e15215ad763c32d4894a83e9260fdab5
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
119
Assets/KJM/KJM_Test/Upgrade/UpgradeStat.cs
Normal file
119
Assets/KJM/KJM_Test/Upgrade/UpgradeStat.cs
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class UpgradeStat : MonoBehaviour, ISaveable
|
||||||
|
{
|
||||||
|
private const int DEFAULT_MAX = 4;
|
||||||
|
private const int MAX_HEART = 3;
|
||||||
|
|
||||||
|
private readonly Dictionary<StatType, int> levels = new();
|
||||||
|
private readonly Dictionary<StatType, int> maxLevels = new()
|
||||||
|
{
|
||||||
|
{ StatType.AttackPower, DEFAULT_MAX },
|
||||||
|
{ StatType.AttackSpeed, DEFAULT_MAX },
|
||||||
|
{ StatType.MoveSpeed, DEFAULT_MAX },
|
||||||
|
{ StatType.DashCoolDown, DEFAULT_MAX },
|
||||||
|
{ StatType.Heart, MAX_HEART }
|
||||||
|
};
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
ResetLevel();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 레벨 리셋 함수
|
||||||
|
/// 테스트를 위해 퍼블릭으로 설정
|
||||||
|
/// </summary>
|
||||||
|
public void ResetLevel()
|
||||||
|
{
|
||||||
|
foreach (var stat in maxLevels.Keys)
|
||||||
|
{
|
||||||
|
levels[stat] = 1; // 기본값 초기화
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 강화 레벨 상승
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statType"></param>
|
||||||
|
public void UpgradeLevel(StatType statType)
|
||||||
|
{
|
||||||
|
if (!levels.ContainsKey(statType)) return;
|
||||||
|
|
||||||
|
if (levels[statType] < maxLevels[statType])
|
||||||
|
levels[statType]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 현재 강화 레벨 반환
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statType"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int CurrentUpgradeLevel(StatType statType)
|
||||||
|
{
|
||||||
|
if (!levels.ContainsKey(statType))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
int level = levels[statType];
|
||||||
|
return Mathf.Clamp(level, 1, maxLevels[statType]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 최대 수치 검증
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statType"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool IsMax(StatType statType)
|
||||||
|
{
|
||||||
|
return levels.ContainsKey(statType) && levels[statType] >= maxLevels[statType];
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 최대 수치 -1 검증
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statType"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool IsOneBeforeMax(StatType statType)
|
||||||
|
{
|
||||||
|
return levels.ContainsKey(statType) && levels[statType] == maxLevels[statType] - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 세이브 매니저에 저장
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public Save ExtractSaveData()
|
||||||
|
{
|
||||||
|
Debug.Log("UpgradeStat extracting save data");
|
||||||
|
return new Save
|
||||||
|
{
|
||||||
|
dungeonSave = new DungeonSave
|
||||||
|
{
|
||||||
|
attackPowerLevel = levels[StatType.AttackPower],
|
||||||
|
attackSpeedLevel = levels[StatType.AttackSpeed],
|
||||||
|
moveSpeedLevel = levels[StatType.MoveSpeed],
|
||||||
|
dashCoolDownLevel = levels[StatType.DashCoolDown],
|
||||||
|
heartLevel = levels[StatType.Heart]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 세이브 매니저에서 로드
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="save"></param>
|
||||||
|
public void ApplySaveData(Save save)
|
||||||
|
{
|
||||||
|
if (save?.dungeonSave == null) return;
|
||||||
|
|
||||||
|
levels[StatType.AttackPower] = save.dungeonSave.attackPowerLevel;
|
||||||
|
levels[StatType.AttackSpeed] = save.dungeonSave.attackSpeedLevel;
|
||||||
|
levels[StatType.MoveSpeed] = save.dungeonSave.moveSpeedLevel;
|
||||||
|
levels[StatType.DashCoolDown] = save.dungeonSave.dashCoolDownLevel;
|
||||||
|
levels[StatType.Heart] = save.dungeonSave.heartLevel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
11
Assets/KJM/KJM_Test/Upgrade/UpgradeStat.cs.meta
Normal file
11
Assets/KJM/KJM_Test/Upgrade/UpgradeStat.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4814816a9b65ad3448bd8bad61e38347
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
x
Reference in New Issue
Block a user