Commit 1ad0b0ec authored by 18손재민's avatar 18손재민

Merge remote-tracking branch 'origin/LifeStone'

# Conflicts:
#	Assets/Scripts/TetrisMap/MapManager.cs
parents 68c918fc 650f5e50
......@@ -424,6 +424,56 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &1102256969858351596
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: bowAttack1
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: be4bdbaff27cc7c46a79b3ef4e1fe3f6, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &1102309299412679616
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: bowAttack2
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 69bfec01519352f4bb1098bb45650355, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &1102478016988564962
AnimatorState:
serializedVersion: 5
......@@ -630,19 +680,25 @@ AnimatorStateMachine:
m_Position: {x: 168, y: -132, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102478016988564962}
m_Position: {x: 180, y: 408, z: 0}
m_Position: {x: -564, y: 408, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102120881417498060}
m_Position: {x: 180, y: 456, z: 0}
m_Position: {x: -564, y: 456, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102717063814967854}
m_Position: {x: 180, y: 504, z: 0}
m_Position: {x: -564, y: 504, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102227438932548068}
m_Position: {x: -24, y: 408, z: 0}
m_Position: {x: -360, y: 408, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102949526718564970}
m_Position: {x: -24, y: 456, z: 0}
m_Position: {x: -360, y: 456, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102256969858351596}
m_Position: {x: -156, y: 408, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102309299412679616}
m_Position: {x: -156, y: 456, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions:
- {fileID: 1101150420884930214}
......
......@@ -347,9 +347,20 @@ MonoBehaviour:
m_EditorClassIdentifier:
damage: 2
knockBackMultiplier: 1
debuffNum: 0
debuffType:
debuffTime: 00000000000000000000000000000000000000000000000000000000000000000000000000000000
debuffTime:
- 0
- 0
- 0
- 0
- 0
projectileType: 0
enemyLayer:
serializedVersion: 2
m_Bits: 65536
vanishLayer:
serializedVersion: 2
m_Bits: 0
attackCombo:
--- !u!114 &114880704145925944
MonoBehaviour:
m_ObjectHideFlags: 1
......@@ -364,6 +375,7 @@ MonoBehaviour:
attack: 000000
cancel: 0
playingSkill: 0
originComboTime: 1
comboTime: 1
time: {fileID: 0}
combo: {fileID: 0}
......@@ -375,7 +387,6 @@ MonoBehaviour:
- {fileID: 7400000, guid: b1bf5cd583e214e448b83335f6c2d7a6, type: 2}
- {fileID: 7400000, guid: b7ca0c87c2a73cb4e939b4d06abd4217, type: 2}
- {fileID: 7400000, guid: 9133e696bcae7294c86f6702b20b4ae7, type: 2}
inventoryManager: {fileID: 0}
lifeStoneManager: {fileID: 0}
--- !u!114 &114906702720267008
MonoBehaviour:
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_SourcePrefab: {fileID: 0}
m_RootGameObject: {fileID: 1420923890547556}
m_IsPrefabAsset: 1
--- !u!1 &1420923890547556
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 6
m_Component:
- component: {fileID: 4281661761445894}
- component: {fileID: 114772635349595938}
m_Layer: 0
m_Name: LifeStoneManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4281661761445894
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1420923890547556}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -6.9766555, y: 2.569394, z: 0.0049343775}
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}
--- !u!114 &114772635349595938
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1420923890547556}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7fe540ec78947fc449eabc76bd87823d, type: 3}
m_Name:
m_EditorClassIdentifier:
lifeStoneLocation: {x: 7, y: 7}
standardImage: {fileID: 1001509239983906, guid: a48de94a6ab80f746aec69a02812f1e3,
type: 2}
lifeStoneRowNum: 6
lifeStoneSize: 40
sprites:
- {fileID: 21300004, guid: eff441d843b9c664e97a81fcb39d8410, type: 3}
- {fileID: 21300002, guid: eff441d843b9c664e97a81fcb39d8410, type: 3}
- {fileID: 21300000, guid: eff441d843b9c664e97a81fcb39d8410, type: 3}
frameSuper: {fileID: 0}
stoneSuper: {fileID: 0}
lifeUnitPrefab: {fileID: 1274079429510600, guid: c1fa87a24452e5745859b739e4a5254b,
type: 2}
goldPotionPrefab: {fileID: 1778675533210814, guid: 57c0f65ad47e39943a69b5b0a6fa0e47,
type: 2}
vibrationVariable: 0.1
droppedLifeStonePrefab: {fileID: 1149595688849768, guid: 8255a117a93935941b32b4aed9b299a0,
type: 2}
frameBorder: 0.2
popoutStrengthMultiplier: 9
popoutTime: 0.1
fileFormatVersion: 2
guid: 7fec52078de87f74abe791494596a804
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
......@@ -50,7 +50,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 224402251087470820}
- component: {fileID: 114920782405449110}
m_Layer: 5
m_Name: LifeStoneUI
m_TagString: Untagged
......@@ -69,38 +68,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2674542376dfab04bad27caaa3ffe6a1, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &114920782405449110
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1939101680453256}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7fe540ec78947fc449eabc76bd87823d, type: 3}
m_Name:
m_EditorClassIdentifier:
lifeStoneLocation: {x: 7, y: 7}
standardImage: {fileID: 1001509239983906, guid: a48de94a6ab80f746aec69a02812f1e3,
type: 2}
lifeStoneRowNum: 6
lifeStoneSize: 40
sprites:
- {fileID: 21300004, guid: eff441d843b9c664e97a81fcb39d8410, type: 3}
- {fileID: 21300002, guid: eff441d843b9c664e97a81fcb39d8410, type: 3}
- {fileID: 21300000, guid: eff441d843b9c664e97a81fcb39d8410, type: 3}
frameSuper: {fileID: 1820862295034228}
stoneSuper: {fileID: 1874721051176178}
lifeUnitPrefab: {fileID: 1274079429510600, guid: c1fa87a24452e5745859b739e4a5254b,
type: 2}
goldPotionPrefab: {fileID: 1778675533210814, guid: 57c0f65ad47e39943a69b5b0a6fa0e47,
type: 2}
vibrationVariable: 0.1
droppedLifeStonePrefab: {fileID: 1149595688849768, guid: 8255a117a93935941b32b4aed9b299a0,
type: 2}
frameBorder: 0.2
popoutStrengthMultiplier: 9
popoutTime: 0.1
--- !u!224 &224255635903845628
RectTransform:
m_ObjectHideFlags: 1
......
This diff is collapsed.
fileFormatVersion: 2
guid: a3558d7d5929e874da44f7552971fea9
guid: 1a4a24bc670b0bd448508086de2fdab6
folderAsset: yes
DefaultImporter:
externalObjects: {}
......
fileFormatVersion: 2
guid: 00344d8b7829dbd4bae67bdf2c6bfff2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_SourcePrefab: {fileID: 0}
m_RootGameObject: {fileID: 1195629635654184}
m_IsPrefabAsset: 1
--- !u!1 &1195629635654184
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 6
m_Component:
- component: {fileID: 4022723544533402}
- component: {fileID: 212087085227815672}
- component: {fileID: 61515857285458110}
- component: {fileID: 114533681803254154}
- component: {fileID: 114988624070961888}
- component: {fileID: 50509779264120478}
m_Layer: 15
m_Name: bow_arrow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4022723544533402
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1195629635654184}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -6.168, y: 1.974, z: -0.0075726584}
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}
--- !u!50 &50509779264120478
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1195629635654184}
m_BodyType: 1
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0
m_GravityScale: 0
m_Material: {fileID: 0}
m_Interpolate: 1
m_SleepingMode: 1
m_CollisionDetection: 1
m_Constraints: 4
--- !u!61 &61515857285458110
BoxCollider2D:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1195629635654184}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.265625, y: 0.078125}
newSize: {x: 0.17, y: 0.05}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 0.265625, y: 0.078125}
m_EdgeRadius: 0
--- !u!114 &114533681803254154
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1195629635654184}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 64f948f7c7aacab409fe963a6f9e0d2a, type: 3}
m_Name:
m_EditorClassIdentifier:
damage: 3
knockBackMultiplier: 1
debuffTime:
- 0
- 0
- 0
- 0
- 0
projectileType: 1
enemyLayer:
serializedVersion: 2
m_Bits: 65536
vanishLayer:
serializedVersion: 2
m_Bits: 65792
attackCombo:
--- !u!114 &114988624070961888
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1195629635654184}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b1c781f0ca8f2446bf6ded900798c86, type: 3}
m_Name:
m_EditorClassIdentifier:
vanishDistance: 5
--- !u!212 &212087085227815672
SpriteRenderer:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1195629635654184}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 2145601713
m_SortingLayer: 9
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: 2418f9e3c1a176b4aba87f0298534132, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.17, y: 0.05}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
fileFormatVersion: 2
guid: 1c9a92f3138a12b4dafb15dfa56578d2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e30fa0eb5dba52346b437a19750953a6
guid: 54d91d656dfffb24d80ffbb349f32732
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
......@@ -31,7 +31,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
filterMode: 0
aniso: -1
mipBias: -100
wrapU: 1
......@@ -45,7 +45,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spritePixelsToUnits: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
......@@ -63,7 +63,18 @@ TextureImporter:
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
......@@ -75,7 +86,7 @@ TextureImporter:
outline: []
physicsShape: []
bones: []
spriteID: b106d014c014de14e959afa71c69a0d5
spriteID: 616f2c4de9ab01743b392f6a85561a99
vertices: []
indices:
edges: []
......
fileFormatVersion: 2
guid: 9f2400336ba3dbf4cab6ac985a3a23e9
guid: 71d413f4f4e5cee4182496bd26664738
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
......@@ -31,7 +31,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
filterMode: 0
aniso: -1
mipBias: -100
wrapU: 1
......@@ -45,7 +45,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spritePixelsToUnits: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
......@@ -63,7 +63,18 @@ TextureImporter:
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
......@@ -75,7 +86,7 @@ TextureImporter:
outline: []
physicsShape: []
bones: []
spriteID: 855ac13c3069bab4284d497eed397d4c
spriteID: 3f690a9f8a998dd40b1724577efbbebc
vertices: []
indices:
edges: []
......
......@@ -31,7 +31,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
filterMode: 0
aniso: -1
mipBias: -100
wrapU: 1
......@@ -45,7 +45,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spritePixelsToUnits: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
......@@ -63,7 +63,18 @@ TextureImporter:
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
......
fileFormatVersion: 2
guid: 9b043ff25b33dc54e8abdb4bcbd88a55
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 6
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
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: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 9942e99b0000d5a47ae0cf050d021802
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
......@@ -1039,6 +1039,11 @@ Prefab:
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114880704145925944, guid: 3d077a5f727dd1e4780e9265ed26e036,
type: 2}
propertyPath: originComboTime
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 3d077a5f727dd1e4780e9265ed26e036, type: 2}
m_IsPrefabAsset: 0
......
......@@ -6,33 +6,39 @@ public class AttackProperty : MonoBehaviour{
public float damage = 0;
public float knockBackMultiplier = 1f;
public float[] debuffTime = new float[(int)EnemyDebuffCase.END_POINTER];
public int projectileType; //0: melee attack, 1: vanish after hit
EffectManager effectManager;
PlayerAttack playerAttack;
InventoryManager inventoryManager;
public LayerMask enemyLayer;
public LayerMask vanishLayer;
public string attackCombo;
private void Awake()
{
effectManager = EffectManager.Instance;
playerAttack = transform.parent.GetComponentInChildren<PlayerAttack>();
inventoryManager = InventoryManager.Instance;
}
public void Init(string combo)
{
attackCombo = combo;
}
private void OnTriggerEnter2D(Collider2D collision)
{
Bounds tmpBounds = new Bounds();
if (collision.CompareTag("Enemy") && !collision.transform.GetChild(0).GetComponent<Enemy>().Invisible)
if ((enemyLayer == (enemyLayer | 1 << collision.gameObject.layer)) && !collision.transform.GetChild(0).GetComponent<Enemy>().Invisible)
{
PlayerAttackInfo curAttack = new PlayerAttackInfo(damage, knockBackMultiplier, debuffTime);
Enemy enemyInfo = collision.transform.GetChild(0).GetComponent<Enemy>();
string combo = playerAttack.comboArray;
foreach (Item tmpItem in inventoryManager.itemList)
for (int i = 0; i < tmpItem.skillNum; i++)
{
if (tmpItem.combo[i].Equals(combo))
if (tmpItem.combo[i].Equals(attackCombo))
{
tmpItem.AttackCalculation(curAttack, enemyInfo, combo);
tmpItem.AttackCalculation(curAttack, enemyInfo, attackCombo);
break;
}
}
......@@ -46,6 +52,11 @@ public class AttackProperty : MonoBehaviour{
if (!tmpBounds.Equals(new Bounds()))
effectManager.StartEffect(0, tmpBounds, collision.bounds);
}
if(projectileType == 1 && (vanishLayer == (vanishLayer | 1 << collision.gameObject.layer)))
{
Destroy(gameObject);
}
}
}
......@@ -50,7 +50,7 @@ public class Enemy : MonoBehaviour {
{
enemyManager = EnemyManager.Instance;
inventoryManager = InventoryManager.Instance;
lifeStoneManager = GameObject.Find("UI Canvas").transform.GetChild(0).GetComponent<LifeStoneManager>();
lifeStoneManager = LifeStoneManager.Instance;
animator = GetComponent<Animator>();
WallTest = new bool[] { false, false };
......
......@@ -13,7 +13,7 @@ public class Player : MonoBehaviour {
void Start () {
ttx = (int)(transform.position.x / 24f);
tty = (int)(transform.position.y-0.9f / 24f);
lifeStoneManager = GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>();
lifeStoneManager = LifeStoneManager.Instance;
}
// Update is called once per frame
......@@ -42,7 +42,7 @@ public class Player : MonoBehaviour {
}
ttx = tx;
tty = ty;
if (lifeStoneManager.CountType(LifeStoneType.Normal) + lifeStoneManager.CountType(LifeStoneType.Gold) + lifeStoneManager.CountType(LifeStoneType.Amethyst) == 0)
if (lifeStoneManager.CountType() == 0)
GameManager.gameState = GameState.GameOver;
}
}
......@@ -7,6 +7,7 @@ public class PlayerAttack : MonoBehaviour {
public bool cancel;
public bool playingSkill;
private bool comboEndDelay = true;
public float originComboTime;
public float comboTime;
public Text time, combo;
public string comboArray;
......@@ -15,17 +16,20 @@ public class PlayerAttack : MonoBehaviour {
public AnimatorOverrideController aoc;
public AnimationClip[] normalAttack = new AnimationClip[3];
InventoryManager inventoryManager;
public LifeStoneManager lifeStoneManager;
LifeStoneManager lifeStoneManager;
float comboEndTime;
bool comboTimeOn;
PlayerController playerController;
AttackProperty attackProperty;
void Awake ()
{
lifeStoneManager = LifeStoneManager.Instance;
inventoryManager = InventoryManager.Instance;
playerController = GetComponent<PlayerController>();
attackProperty = GetComponentInChildren<AttackProperty>();
anim = GetComponent<Animator>();
aoc = new AnimatorOverrideController(anim.runtimeAnimatorController);
anim.runtimeAnimatorController = aoc;
......@@ -51,6 +55,7 @@ public class PlayerAttack : MonoBehaviour {
if (playerController.playerState == PlayerState.GoingUp || playerController.playerState == PlayerState.GoingDown)
playerController.airAttack = false;
comboArray += (char)('A' + i);
attackProperty.Init(comboArray);
CheckCombo();
SetComboText();
break;
......@@ -116,6 +121,7 @@ public class PlayerAttack : MonoBehaviour {
IEnumerator SkillEndCoroutine()
{
comboEndTime = Time.time + comboTime;
comboTime = originComboTime;
comboTimeOn = true;
while (Time.time < comboEndTime && comboTimeOn && !playingSkill)
{
......
......@@ -251,7 +251,7 @@ public class PlayerController : MonoBehaviour
downKeyDown = false;
jump = false;
}
bool IsGrounded() // Is player grounded?
public bool IsGrounded() // Is player grounded?
{
RaycastHit2D hit = Physics2D.BoxCast(transform.position, new Vector2(Player.X, boxHeight), 0, Vector2.down, Player.Y / 2f, groundLayer);
Debug.DrawLine(transform.position + new Vector3(0, -Player.Y / 2f) + new Vector3(-Player.X, -boxHeight, 0) / 2,
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ProjectileVanish : MonoBehaviour {
public float vanishDistance;
Vector3 startPosition;
void Awake()
{
startPosition = transform.position;
}
void Update () {
if (Vector3.Distance(startPosition, transform.position) > vanishDistance)
Destroy(gameObject);
}
}
fileFormatVersion: 2
guid: ffe4f09c9db1a3a4693857c6195e8965
guid: 6b1c781f0ca8f2446bf6ded900798c86
MonoImporter:
externalObjects: {}
serializedVersion: 2
......
......@@ -10,6 +10,7 @@ public abstract class Addon {
public Sprite sprite;
public Sprite highlight;
public Vector2 sizeInventory;
public string addonDescription;
public Addon()
{
......@@ -23,35 +24,59 @@ public abstract class Addon {
sprite = null;
highlight = null;
sizeInventory = new Vector2(0, 0);
addonDescription = null;
}
public virtual float DamageAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float DamageAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 1f;
}
public virtual float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float DamageFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray;
}
public virtual float[] DebuffMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float[] DebuffMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f;
return varArray;
}
public virtual float KnockBackAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float[] DebuffFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray;
}
public virtual float KnockBackAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 1f;
}
public virtual float KnockBackFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual void OtherEffect(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
}
public virtual void OtherEffect(string combo)
{
}
}
......@@ -3,7 +3,7 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler, IPointerClickHandler
{
public int num;
InventoryUI ui;
......@@ -56,6 +56,23 @@ public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDra
}
manager.SetOnPosition();
}
public void OnPointerClick(PointerEventData eventData)
{
if (num < 9)
{
int type = (int)manager.addonList[num].type;
if (ui.selectedItem != -1 && manager.itemList[ui.selectedItem].attachable[type])
{
if (manager.itemList[ui.selectedItem].addons[type] != null)
manager.DetachAddon(ui.selectedItem, (AddonType)type);
manager.AttachAddon(ui.selectedItem, num);
}
}
else
manager.DetachAddon(ui.selectedItem, (AddonType)(num - 9));
manager.SetOnPosition();
}
bool CheckBetween(Vector3 mouse, Vector3 center, Vector2 size)
{
return Mathf.Abs(mouse.x - center.x) <= size.x / 2f && Mathf.Abs(mouse.y - center.y) <= size.y / 2f;
......
......@@ -9,11 +9,16 @@ public class ApprenticesMark : Addon
{
public override void Declare()
{
id = 1; name = "apprentice's mark";
id = 1; name = "수습생의 표식";
quality = ItemQuality.Study;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/apprentice's mark"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/apprentice's mark"); ;
sizeInventory = new Vector2(80, 80);
highlight = Resources.Load<Sprite>("Sprites/Addons/apprentice's mark_border"); ;
sizeInventory = new Vector2(65, 80);
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 1.25f;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 대장장이의 브롯치
/// 번호: 9
/// </summary>
public class BlacksmithsBrooch : Addon
{
public override void Declare()
{
id = 9; name = "대장장이의 브롯치";
quality = ItemQuality.Ordinary;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
sizeInventory = new Vector2(80, 80);
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 1.55f;
}
}
fileFormatVersion: 2
guid: 88d2d49b8f25be348858b3b79604ff7a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -9,11 +9,21 @@ public class CoollyPride : Addon
{
public override void Declare()
{
id = 10; name = "Coolly Pride";
id = 10; name = "차갑게 식은 긍지";
quality = ItemQuality.Ordinary;
type = AddonType.Theory;
sprite = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
sizeInventory = new Vector2(80, 80);
}
public override float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
if (attackInfo.damage < 4) varArray[(int)EnemyDebuffCase.ice] = 2f;
return varArray;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 라거의 문양
/// 번호: 26
/// </summary>
public class DesignofRagur : Addon
{
public override void Declare()
{
id = 26; name = "라거의 문양";
quality = ItemQuality.Superior;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
sizeInventory = new Vector2(80, 80);
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
int aNum = 0;
for (int i = 0; i < combo.Length; i++)
if (combo[i] == 'A')
aNum++;
return 1f + aNum * 0.4f;
}
}
fileFormatVersion: 2
guid: c704b40000832e742a1b53c5956dfb7d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 레아의 깃털
/// 번호: 21
/// </summary>
public class FeatherofRheA : Addon
{
public override void Declare()
{
id = 21; name = "레아의 깃털";
quality = ItemQuality.Ordinary;
type = AddonType.Matter;
sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
sizeInventory = new Vector2(80, 80);
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
if (!GameObject.Find("Player").GetComponent<PlayerController>().IsGrounded())
return 1.75f;
else
return 1f;
}
}
fileFormatVersion: 2
guid: 009f7b84f96f63d4bacf2f7128392109
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -9,11 +9,21 @@ public class GlowingHerb : Addon
{
public override void Declare()
{
id = 14; name = "Glowing Herb";
id = 14; name = "이글거리는 약초";
quality = ItemQuality.Ordinary;
type = AddonType.Matter;
sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
sizeInventory = new Vector2(80, 80);
}
public override float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
varArray[(int)EnemyDebuffCase.fire] = 3f;
return varArray;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 식탐
/// 번호: 17
/// </summary>
public class Gluttony : Addon
{
LifeStoneManager lifeStoneManager;
public override void Declare()
{
id = 17; name = "식탐";
quality = ItemQuality.Ordinary;
type = AddonType.Theory;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
lifeStoneManager = LifeStoneManager.Instance;
}
public override void OtherEffect(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
if(attackInfo.damage >= enemyInfo.currHealth)
{
lifeStoneManager.FillLifeStone(1, LifeStoneType.Normal);
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 007eade4476db14499fe59f20d9d5160
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 야누스의 동전
/// 번호: 24
/// </summary>
public class JanusCoin : Addon
{
public override void Declare()
{
id = 24; name = "야누스의 동전";
quality = ItemQuality.Superior;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
public override float DamageFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
LifeStoneManager lifeStoneManager = LifeStoneManager.Instance;
if(Random.Range(0,2) == 0)
{
lifeStoneManager.DestroyStone(2);
return 0;
}
else
{
return enemyInfo.currHealth * 0.25f;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 67b828e35a61f6842977ef133d81975b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -9,11 +9,17 @@ public class ParchmentPiece : Addon
{
public override void Declare()
{
id = 2; name = "parchment piece";
id = 2; name = "양피지 조각";
quality = ItemQuality.Study;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece_border"); ;
sizeInventory = new Vector2(70, 77.5f);
addonDescription = "쓸모없는 애드온";
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
if (attackInfo.damage < 3) return 2f;
else return 1f;
}
}
\ No newline at end of file
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 모래 주머니
/// 번호: 29
/// </summary>
public class Sandbag : Addon
{
public override void Declare()
{
id = 29; name = "모래 주머니";
quality = ItemQuality.Superior;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
public override void OtherEffect(string combo)
{
GameObject.Find("Player").GetComponent<PlayerAttack>().comboTime *= 0.5f;
}
public override float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 2f;
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 007d4fcc831b5f14a9ffc1cc3a52f49e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 소형 렌즈
/// 번호: 18
/// </summary>
public class SmallLens : Addon
{
public override void Declare()
{
id = 18; name = "소형 렌즈";
quality = ItemQuality.Ordinary;
type = AddonType.Component;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
public override void OtherEffect(string combo)
{
GameObject.Find("Player").GetComponent<PlayerAttack>().comboTime *= 1.75f;
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 8340e16c6db504548a803272ee93a223
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -2,18 +2,19 @@
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 애드온명: 기사의 등자
/// 번호: 8
/// 애드온명: 시간 톱니바퀴
/// 번호: 32
/// </summary>
public class KnightsStirrup : Addon
public class ToothedWheelofTime : Addon
{
public override void Declare()
{
id = 8; name = "Knight's stirrup";
quality = ItemQuality.Study;
type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/Knight's stirrup"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Knight's stirrup"); ;
id = 32; name = "시간 톱니바퀴";
quality = ItemQuality.Superior;
type = AddonType.Component;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80);
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: ae352da159db1ed439c6451c957125b0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -22,8 +22,11 @@ public class InventoryManager : Singleton<InventoryManager> {
player = GameObject.Find("Player");
SetPool();
ItemInstantiate("Dagger", player.transform.position, 0f);
AddonInstantiate("ParchmentPiece", player.transform.position, 0f);
AddonInstantiate("Gluttony", player.transform.position, 0f);
ItemInstantiate("Bow", player.transform.position, 0f);
StartCoroutine(TestCoroutine());
}
/// <summary>
......@@ -55,13 +58,17 @@ public class InventoryManager : Singleton<InventoryManager> {
addonPool[0].Add("ParchmentPiece");
addonPool[0].Add("KnightsStirrup");
addonPool[0].Add("ApprenticesMark");
addonPool[1].Add("GlowingHerb");
addonPool[1].Add("BlacksmithsBrooch");
addonPool[1].Add("CoollyPride");
addonPool[1].Add("GlowingHerb");
addonPool[1].Add("Gluttony");
addonPool[1].Add("SmallLens");
//addonPool[2].Add("");
addonPool[2].Add("JanusCoin");
addonPool[2].Add("DesignofRagur");
addonPool[2].Add("Sandbag");
//addonPool[3].Add("");
......@@ -85,8 +92,8 @@ public class InventoryManager : Singleton<InventoryManager> {
}
IEnumerator TestCoroutine()
{
yield return null;
yield return new WaitForSeconds(1.5f); ;
}
IEnumerator PopoutCoroutine(GameObject obj)
......@@ -226,8 +233,7 @@ public class InventoryManager : Singleton<InventoryManager> {
itemList.Add(item);
ui.SetOnPosition(itemList, addonList);
Debug.Log(itemList[0].combo[0] + " " + itemList[0].combo[1]);
return true;
}
/// <summary>
......
......@@ -30,10 +30,12 @@ public class InventoryUI : MonoBehaviour {
public GameObject[] infoAddonsFrame;
public GameObject[] comboStringFrame;
public GameObject[] comboCharPrefab;
public GameObject[] comboNameFrame;
public float pixelBetweenChar;
GameObject[,] comboChars = new GameObject[3, 8];
GameObject[] infoAddons;
public int selectedItem = -1;
string[] qualityString = new string[4] { "습작", "범작", "수작", "걸작" };
void Start () {
items = new GameObject[9];
......@@ -65,6 +67,7 @@ public class InventoryUI : MonoBehaviour {
comboChars[i, j].SetActive(false);
}
comboStringFrame[i].SetActive(false);
comboNameFrame[i].SetActive(false);
}
infoSpace.transform.Find("Frame").gameObject.SetActive(false);
......@@ -100,11 +103,15 @@ public class InventoryUI : MonoBehaviour {
frameObj.transform.Find("ItemSprite").gameObject.GetComponent<Image>().sprite = itemFrameQuality[(int)itemList[selectedItem].quality];
frameObj.transform.Find("ItemSprite").Find("Sprite").gameObject.GetComponent<Image>().sprite = itemList[selectedItem].sprite;
frameObj.transform.Find("ItemSprite").Find("Sprite").gameObject.GetComponent<RectTransform>().sizeDelta = itemList[selectedItem].sizeInventory;
frameObj.transform.Find("ItemDescription").gameObject.GetComponent<Text>().text = itemList[selectedItem].itemInfo;
frameObj.transform.Find("ItemDescription").Find("ItemQuality").gameObject.GetComponent<Text>().text = qualityString[(int)itemList[selectedItem].quality];
frameObj.transform.Find("ItemDescription").Find("ItemName").gameObject.GetComponent<Text>().text = itemList[selectedItem].name;
for (int i = 0; i < 3; i++)
{
if (i < itemList[selectedItem].skillNum)
{
comboStringFrame[i].SetActive(true);
comboNameFrame[i].SetActive(true);
float tmpx = 0;
for (int j = 0; j < 8; j++)
{
......@@ -115,6 +122,7 @@ public class InventoryUI : MonoBehaviour {
comboChars[i, j].GetComponent<RectTransform>().sizeDelta = comboCharPrefab[itemList[selectedItem].combo[i][j] - 'A'].GetComponent<RectTransform>().sizeDelta;
comboChars[i, j].GetComponent<RectTransform>().localPosition = new Vector3(tmpx, 0, 0);
tmpx = comboChars[i, j].GetComponent<RectTransform>().sizeDelta.x + pixelBetweenChar;
comboNameFrame[i].GetComponent<Text>().text = itemList[selectedItem].comboName[i];
}
else
{
......@@ -140,6 +148,11 @@ public class InventoryUI : MonoBehaviour {
infoAddons[i].transform.Find("Sprite").gameObject.GetComponent<Image>().sprite = itemList[selectedItem].addons[i].sprite;
infoAddons[i].transform.Find("Sprite").gameObject.GetComponent<RectTransform>().sizeDelta = itemList[selectedItem].addons[i].sizeInventory;
infoAddons[i].SetActive(true);
infoAddonsFrame[i].transform.Find("Quality").GetComponent<Text>().text = qualityString[(int)itemList[selectedItem].addons[i].quality];
infoAddonsFrame[i].transform.Find("Name").GetComponent<Text>().text = itemList[selectedItem].addons[i].name;
infoAddonsFrame[i].transform.Find("Description").GetComponent<Text>().text = itemList[selectedItem].addons[i].addonDescription;
}
else
{
......
......@@ -14,6 +14,8 @@ public abstract class Item {
public Sprite sprite;
public Sprite highlight;
public Vector2 sizeInventory;
public string itemInfo;
public string[] comboName = new string[3];
public bool ComboAction(string currentCombo)
{
......@@ -24,6 +26,16 @@ public abstract class Item {
if (i == 0) PlaySkill1();
else if (i == 1) PlaySkill2();
else if (i == 2) PlaySkill3();
OtherEffect(currentCombo);
for (int j = 0; j < attachable.Length; j++)
{
if (attachable[j] && addons[j] != null)
{
addons[j].OtherEffect(currentCombo);
}
}
return true;
}
}
......@@ -53,6 +65,9 @@ public abstract class Item {
animation[1] = null;
animation[2] = null;
sizeInventory = new Vector2(0, 0);
itemInfo = null;
comboName = new string[3] { "", "", "" };
}
protected virtual void PlaySkill1()
{
......@@ -69,11 +84,13 @@ public abstract class Item {
PlayerAttackInfo originInfo = new PlayerAttackInfo(attackInfo);
float[] tmpArray;
//Adder
attackInfo.damage += DamageAdder(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier += KnockBackAdder(originInfo, enemyInfo, combo);
tmpArray = DebuffAdder(originInfo, enemyInfo, combo);
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++)
attackInfo.debuffTime[i] += tmpArray[i];
for (int j = 0; j < attachable.Length; j++)
{
......@@ -87,6 +104,7 @@ public abstract class Item {
}
}
//Multiplier
attackInfo.damage *= DamageMultiplier(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier *= KnockBackMultiplier(originInfo, enemyInfo, combo);
tmpArray = DebuffMultiplier(originInfo, enemyInfo, combo);
......@@ -104,35 +122,87 @@ public abstract class Item {
attackInfo.debuffTime[i] *= tmpArray[i];
}
}
//FinalAdder
attackInfo.damage += DamageFinalAdder(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier += KnockBackFinalAdder(originInfo, enemyInfo, combo);
tmpArray = DebuffFinalAdder(originInfo, enemyInfo, combo);
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++)
attackInfo.debuffTime[i] += tmpArray[i];
for (int j = 0; j < attachable.Length; j++)
{
if (attachable[j] && addons[j] != null)
{
attackInfo.damage += addons[j].DamageFinalAdder(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier += addons[j].KnockBackFinalAdder(originInfo, enemyInfo, combo);
tmpArray = addons[j].DebuffFinalAdder(originInfo, enemyInfo, combo);
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++)
attackInfo.debuffTime[i] += tmpArray[i];
}
}
//OtherEffect
OtherEffect(attackInfo, enemyInfo, combo);
for (int j = 0; j < attachable.Length; j++)
{
if (attachable[j] && addons[j] != null)
{
addons[j].OtherEffect(attackInfo, enemyInfo, combo);
}
}
}
public virtual float DamageAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float DamageAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 1f;
}
public virtual float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float DamageFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual float[] DebuffAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i< (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray;
}
public virtual float[] DebuffMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float[] DebuffMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f;
return varArray;
}
public virtual float KnockBackAdder(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float[] DebuffFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray;
}
public virtual float KnockBackAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo)
public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 1f;
}
public virtual float KnockBackFinalAdder(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
return 0f;
}
public virtual void OtherEffect(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{
}
public virtual void OtherEffect(string combo)
{
}
}
......@@ -6,6 +6,8 @@ using UnityEngine;
/// 번호: 2
/// </summary>
public class Bow : Item {
GameObject arrow;
GameObject player;
public override void Declare()
{
......@@ -15,10 +17,37 @@ public class Bow : Item {
combo = new string[3] { "BB", "BC", "" };
attachable = new bool[4] { true, true, true, true };
sprite = Resources.Load<Sprite>("Sprites/Items/bow");
highlight = Resources.Load<Sprite>("Sprites/Items/bow");
highlight = Resources.Load<Sprite>("Sprites/Items/bow_border");
animation[0] = Resources.Load<AnimationClip>("Animations/bowAttack1");
animation[1] = Resources.Load<AnimationClip>("Animations/bowAttack2");
animation[2] = null;
sizeInventory = new Vector2(90, 160);
sizeInventory = new Vector2(137.5f, 137.5f);
player = GameObject.Find("Player");
arrow = Resources.Load<GameObject>("Prefabs/Projectiles/bow_arrow");
}
protected override void PlaySkill1()
{
player.GetComponent<Player>().StartCoroutine(Shoot1());
}
IEnumerator Shoot1()
{
yield return new WaitForSeconds(0.3f);
GameObject tmpObj = Object.Instantiate(arrow, player.transform.position, Quaternion.identity);
tmpObj.transform.localScale = new Vector3(Mathf.Sign(player.transform.localScale.x), 1, 1);
tmpObj.GetComponent<Rigidbody2D>().velocity = new Vector2(-15f * Mathf.Sign(player.transform.localScale.x), 0f);
tmpObj.GetComponent<AttackProperty>().Init(combo[0]);
}
protected override void PlaySkill2()
{
player.GetComponent<Player>().StartCoroutine(Shoot2());
}
IEnumerator Shoot2()
{
yield return new WaitForSeconds(0.3f);
GameObject tmpObj = Object.Instantiate(arrow, player.transform.position, Quaternion.Euler(0, 0, -90f));
tmpObj.GetComponent<Rigidbody2D>().velocity = new Vector2(0f,15f);
tmpObj.GetComponent<AttackProperty>().Init(combo[1]);
}
}
......@@ -20,5 +20,7 @@ public class Dagger : Item
animation[1] = Resources.Load<AnimationClip>("Animations/daggerAttack2");
animation[2] = null;
sizeInventory = new Vector2(127.5f, 125);
itemInfo = "옛날 옛적 호랑이 담배 피던 시절부터 존재하던 단검이다.";
comboName = new string[3] { "베기", "찌르기", "" };
}
}
......@@ -7,7 +7,6 @@ public class MapManager : Singleton<MapManager> {
/*
* variables
* */
LifeStoneManager lifeStoneManager;
public GameObject player;
/// <summary>
/// Grid showing tiles.
......@@ -731,11 +730,11 @@ public class MapManager : Singleton<MapManager> {
{
MoveTetriminoHorizontal(currentTetrimino, new Vector3((int)Input.GetAxisRaw("TetriminoHorizontal"), 0, 0));
}
else if (Input.GetKeyDown(KeyCode.Space) && lifeStoneManager.CountType(LifeStoneType.Gold) >= tetriminoCost)
else if (Input.GetKeyDown(KeyCode.Space) && LifeStoneManager.Instance.CountType(LifeStoneType.Gold) >= tetriminoCost)
{
isTetriminoFalling = true;
TetriminoMapCoordDown(currentTetrimino);
lifeStoneManager.ChangeToNormal(LifeStoneType.Gold, tetriminoCost);
LifeStoneManager.Instance.ChangeToNormal(LifeStoneType.Gold, tetriminoCost);
}
}
}
......@@ -1155,7 +1154,6 @@ public class MapManager : Singleton<MapManager> {
roomBackgroundSpritesDistributed[3].Add(roomBackgroundSprite4[i]);
for (int i = 0; i < roomBackgroundSprite5.Length; i++)
roomBackgroundSpritesDistributed[4].Add(roomBackgroundSprite5[i]);*/
lifeStoneManager = GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>();
currentStage = 0;
player = GameObject.Find("Player");
grid = GameObject.Find("Grid").transform;
......
......@@ -9,7 +9,7 @@ public class ItemRoomInGame : RoomInGame {
base.RoomEnter();
Room room = transform.parent.GetComponent<Room>();
InventoryManager inventoryManager = InventoryManager.Instance;
LifeStoneManager lifeStoneManager = GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>();
LifeStoneManager lifeStoneManager = LifeStoneManager.Instance;
int probability = Random.Range(0, 100);
Vector3 itemPosition = transform.Find("item spot").position;
switch (room.itemRoomType)
......
......@@ -52,7 +52,7 @@ public class DroppedLifeStone : MonoBehaviour, IPlayerInteraction
}
public void Apply()
{
if(GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>().PushLifeStone(info))
if(LifeStoneManager.Instance.PushLifeStone(info))
Destroy(gameObject);
}
public void HighlightSwitch(bool enabled)
......
......@@ -8,7 +8,7 @@ public class DroppedPotion : MonoBehaviour, IPlayerInteraction {
public void Apply()
{
GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>().ChangeFromNormal(LifeStoneType.Gold, 3);
LifeStoneManager.Instance.ChangeFromNormal(LifeStoneType.Gold, 3);
Destroy(gameObject);
}
......
......@@ -102,7 +102,7 @@ public class LifeStoneFrame : MonoBehaviour {
if (a == 0) break;
yield return null;
}
StartCoroutine(GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>().VibrateEnumerator(30));
StartCoroutine(LifeStoneManager.Instance.VibrateEnumerator(30));
}
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent (typeof(RectTransform))]
public class LifeStoneManager : MonoBehaviour {
public class LifeStoneManager : Singleton<LifeStoneManager> {
/// <summary>
/// Location of lifeStoneFrame on Canvas
/// </summary>
......@@ -67,14 +66,13 @@ public class LifeStoneManager : MonoBehaviour {
lifeStoneArray = new int[50, 3];
lifeStoneUnit = new GameObject[50, 3];
for (int i = 0; i < 50; i++) for (int j = 0; j < 3; j++) lifeStoneArray[i, j] = 0;
//StartCoroutine("TestEnumerator");
PushLifeStone(CreateLifeStoneInfo(new Vector2Int(3, 6), 0, 0));
StartCoroutine("TestEnumerator");
}
IEnumerator TestEnumerator()
{
yield return null;
}
/// <summary>
......@@ -118,6 +116,8 @@ public class LifeStoneManager : MonoBehaviour {
StartCoroutine(PopoutCoroutine(obj));
}
/// <summary>
/// Instantiate Dropped LifeStone
/// </summary>
......@@ -334,6 +334,7 @@ public class LifeStoneManager : MonoBehaviour {
new Vector2Int(xtmp, ytmp),
new Vector2Int(xtmp, lifeStoneRowNum + pj),
new Vector2(frameBorder * lifeStoneSize, frameBorder * lifeStoneSize),
true,
vibration);
vibration = 0;
}
......@@ -512,6 +513,57 @@ public class LifeStoneManager : MonoBehaviour {
}
}
public void FillLifeStone(int num, LifeStoneType type)
{
List<Vector2Int> fillCand;
List<KeyValuePair<Vector2Int, LifeStoneType>> fillArray = new List<KeyValuePair<Vector2Int, LifeStoneType>>();
Vector2Int selectedPos;
for (int n = 0; n < num; n++)
{
fillCand = new List<Vector2Int>();
for (int j = 0; j < lifeStoneRowNum; j++)
for (int i = 0; i < 3; i++)
if (
lifeStoneArray[j, i] == 0 &&
((i - 1 >= 0 && lifeStoneArray[j, i - 1] > 0) ||
(i + 1 < 3 && lifeStoneArray[j, i + 1] > 0) ||
(j - 1 >= 0 && lifeStoneArray[j - 1, i] > 0) ||
(j + 1 < lifeStoneRowNum && lifeStoneArray[j + 1, i] > 0)
))
fillCand.Add(new Vector2Int(i, j));
if (fillCand.Count == 0) break;
selectedPos = fillCand[Random.Range(0, fillCand.Count)];
fillArray.Add(new KeyValuePair<Vector2Int, LifeStoneType>(selectedPos, type));
lifeStoneArray[selectedPos.y, selectedPos.x] = (int)type;
lifeStoneUnit[selectedPos.y, selectedPos.x] = Instantiate(lifeUnitPrefab, stoneSuper.transform);
lifeStoneUnit[selectedPos.y, selectedPos.x].SetActive(false);
}
StartCoroutine(FillInPhase(fillArray));
}
IEnumerator FillInPhase(List<KeyValuePair<Vector2Int, LifeStoneType>> fillArray)
{
for(int i=0; i<fillArray.Count; i++)
{
lifeStoneUnit[fillArray[i].Key.y, fillArray[i].Key.x].SetActive(true);
lifeStoneUnit[fillArray[i].Key.y, fillArray[i].Key.x].GetComponent<LifeUnitInFrame>().Init(
(int)fillArray[i].Value,
lifeStoneSize,
new Vector2Int(fillArray[i].Key.x, fillArray[i].Key.y),
new Vector2Int(fillArray[i].Key.x, fillArray[i].Key.y),
new Vector2(frameBorder * lifeStoneSize, frameBorder * lifeStoneSize),
false,
0);
yield return new WaitForSeconds(0.1f);
}
}
/// <summary>
/// lifestoneframe vibration
/// </summary>
......
......@@ -13,7 +13,7 @@ public class LifeStoneTest : MonoBehaviour {
private void Start()
{
uii = ui.GetComponent<LifeStoneManager>();
uii = LifeStoneManager.Instance;
}
public void push()
......
......@@ -11,11 +11,9 @@ public class LifeUnitInFrame : MonoBehaviour {
Vector2 zeroPos;
float size;
float v, accel;
bool isFall;
float vibration;
void Start()
{
}
/// <summary>
/// Create LifeStoneUnit from above. Starts to fall
/// </summary>
......@@ -24,10 +22,10 @@ public class LifeUnitInFrame : MonoBehaviour {
/// <param name="_pos"> destination point in lifestoneFrame</param>
/// <param name="_startPos"> starting point above the lifestoneFrame</param>
/// <param name="_zeroPos"> base position of (0,0) lifestoneFrame</param>
public void Init(int _type, float _size, Vector2Int _pos, Vector2Int _startPos, Vector2 _zeroPos, float _vibration)
public void Init(int _type, float _size, Vector2Int _pos, Vector2Int _startPos, Vector2 _zeroPos, bool _isFall , float _vibration)
{
animator = GetComponent<Animator>();
size = _size; type = _type; pos = _pos; startPos = _startPos; zeroPos = _zeroPos; vibration = _vibration;
size = _size; type = _type; pos = _pos; startPos = _startPos; zeroPos = _zeroPos; isFall = _isFall; vibration = _vibration;
GetComponent<RectTransform>().sizeDelta = new Vector2(size, size);
transform.localPosition = new Vector2(zeroPos.x + startPos.x * size, zeroPos.y + startPos.y * size);
v = 0;
......@@ -72,20 +70,20 @@ public class LifeUnitInFrame : MonoBehaviour {
}
IEnumerator FallEnumerator()
{
while (true)
while (isFall)
{
float vtmp = transform.localPosition.y - v;
if (vtmp <= zeroPos.y + pos.y * size)
{
transform.localPosition = new Vector2(transform.localPosition.x, zeroPos.y + pos.y * size);
break;
}
transform.localPosition = new Vector2(transform.localPosition.x, vtmp);
v += accel;
yield return null;
}
if (vibration != 0)
StartCoroutine(GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>().VibrateEnumerator(vibration));
transform.localPosition = new Vector2(transform.localPosition.x, zeroPos.y + pos.y * size);
if (vibration != 0)
StartCoroutine(LifeStoneManager.Instance.VibrateEnumerator(vibration));
}
}
fileFormatVersion: 2
guid: 47cdca949099c834c8cc5559e458a475
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
fileFormatVersion: 2
guid: 1b2c443d5dfd0014a981b57ccbf92bef
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -31,7 +31,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
filterMode: 0
aniso: -1
mipBias: -100
wrapU: 1
......@@ -45,7 +45,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spritePixelsToUnits: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
......@@ -63,7 +63,18 @@ TextureImporter:
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment