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: ...@@ -424,6 +424,56 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: 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 --- !u!1102 &1102478016988564962
AnimatorState: AnimatorState:
serializedVersion: 5 serializedVersion: 5
...@@ -630,19 +680,25 @@ AnimatorStateMachine: ...@@ -630,19 +680,25 @@ AnimatorStateMachine:
m_Position: {x: 168, y: -132, z: 0} m_Position: {x: 168, y: -132, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102478016988564962} m_State: {fileID: 1102478016988564962}
m_Position: {x: 180, y: 408, z: 0} m_Position: {x: -564, y: 408, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102120881417498060} m_State: {fileID: 1102120881417498060}
m_Position: {x: 180, y: 456, z: 0} m_Position: {x: -564, y: 456, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102717063814967854} m_State: {fileID: 1102717063814967854}
m_Position: {x: 180, y: 504, z: 0} m_Position: {x: -564, y: 504, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102227438932548068} m_State: {fileID: 1102227438932548068}
m_Position: {x: -24, y: 408, z: 0} m_Position: {x: -360, y: 408, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1102949526718564970} 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_ChildStateMachines: []
m_AnyStateTransitions: m_AnyStateTransitions:
- {fileID: 1101150420884930214} - {fileID: 1101150420884930214}
......
...@@ -347,9 +347,20 @@ MonoBehaviour: ...@@ -347,9 +347,20 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
damage: 2 damage: 2
knockBackMultiplier: 1 knockBackMultiplier: 1
debuffNum: 0 debuffTime:
debuffType: - 0
debuffTime: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 - 0
- 0
- 0
- 0
projectileType: 0
enemyLayer:
serializedVersion: 2
m_Bits: 65536
vanishLayer:
serializedVersion: 2
m_Bits: 0
attackCombo:
--- !u!114 &114880704145925944 --- !u!114 &114880704145925944
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
...@@ -364,6 +375,7 @@ MonoBehaviour: ...@@ -364,6 +375,7 @@ MonoBehaviour:
attack: 000000 attack: 000000
cancel: 0 cancel: 0
playingSkill: 0 playingSkill: 0
originComboTime: 1
comboTime: 1 comboTime: 1
time: {fileID: 0} time: {fileID: 0}
combo: {fileID: 0} combo: {fileID: 0}
...@@ -375,7 +387,6 @@ MonoBehaviour: ...@@ -375,7 +387,6 @@ MonoBehaviour:
- {fileID: 7400000, guid: b1bf5cd583e214e448b83335f6c2d7a6, type: 2} - {fileID: 7400000, guid: b1bf5cd583e214e448b83335f6c2d7a6, type: 2}
- {fileID: 7400000, guid: b7ca0c87c2a73cb4e939b4d06abd4217, type: 2} - {fileID: 7400000, guid: b7ca0c87c2a73cb4e939b4d06abd4217, type: 2}
- {fileID: 7400000, guid: 9133e696bcae7294c86f6702b20b4ae7, type: 2} - {fileID: 7400000, guid: 9133e696bcae7294c86f6702b20b4ae7, type: 2}
inventoryManager: {fileID: 0}
lifeStoneManager: {fileID: 0} lifeStoneManager: {fileID: 0}
--- !u!114 &114906702720267008 --- !u!114 &114906702720267008
MonoBehaviour: 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: ...@@ -50,7 +50,6 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 224402251087470820} - component: {fileID: 224402251087470820}
- component: {fileID: 114920782405449110}
m_Layer: 5 m_Layer: 5
m_Name: LifeStoneUI m_Name: LifeStoneUI
m_TagString: Untagged m_TagString: Untagged
...@@ -69,38 +68,6 @@ MonoBehaviour: ...@@ -69,38 +68,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2674542376dfab04bad27caaa3ffe6a1, type: 3} m_Script: {fileID: 11500000, guid: 2674542376dfab04bad27caaa3ffe6a1, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: 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 --- !u!224 &224255635903845628
RectTransform: RectTransform:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
......
This diff is collapsed.
fileFormatVersion: 2 fileFormatVersion: 2
guid: a3558d7d5929e874da44f7552971fea9 guid: 1a4a24bc670b0bd448508086de2fdab6
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} 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 fileFormatVersion: 2
guid: e30fa0eb5dba52346b437a19750953a6 guid: 54d91d656dfffb24d80ffbb349f32732
TextureImporter: TextureImporter:
fileIDToRecycleName: {} fileIDToRecycleName: {}
externalObjects: {} externalObjects: {}
...@@ -31,7 +31,7 @@ TextureImporter: ...@@ -31,7 +31,7 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: -1 filterMode: 0
aniso: -1 aniso: -1
mipBias: -100 mipBias: -100
wrapU: 1 wrapU: 1
...@@ -45,7 +45,7 @@ TextureImporter: ...@@ -45,7 +45,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1
...@@ -63,7 +63,18 @@ TextureImporter: ...@@ -63,7 +63,18 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
textureFormat: -1 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 compressionQuality: 50
crunchedCompression: 0 crunchedCompression: 0
allowsAlphaSplitting: 0 allowsAlphaSplitting: 0
...@@ -75,7 +86,7 @@ TextureImporter: ...@@ -75,7 +86,7 @@ TextureImporter:
outline: [] outline: []
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: b106d014c014de14e959afa71c69a0d5 spriteID: 616f2c4de9ab01743b392f6a85561a99
vertices: [] vertices: []
indices: indices:
edges: [] edges: []
......
fileFormatVersion: 2 fileFormatVersion: 2
guid: 9f2400336ba3dbf4cab6ac985a3a23e9 guid: 71d413f4f4e5cee4182496bd26664738
TextureImporter: TextureImporter:
fileIDToRecycleName: {} fileIDToRecycleName: {}
externalObjects: {} externalObjects: {}
...@@ -31,7 +31,7 @@ TextureImporter: ...@@ -31,7 +31,7 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: -1 filterMode: 0
aniso: -1 aniso: -1
mipBias: -100 mipBias: -100
wrapU: 1 wrapU: 1
...@@ -45,7 +45,7 @@ TextureImporter: ...@@ -45,7 +45,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1
...@@ -63,7 +63,18 @@ TextureImporter: ...@@ -63,7 +63,18 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
textureFormat: -1 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 compressionQuality: 50
crunchedCompression: 0 crunchedCompression: 0
allowsAlphaSplitting: 0 allowsAlphaSplitting: 0
...@@ -75,7 +86,7 @@ TextureImporter: ...@@ -75,7 +86,7 @@ TextureImporter:
outline: [] outline: []
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 855ac13c3069bab4284d497eed397d4c spriteID: 3f690a9f8a998dd40b1724577efbbebc
vertices: [] vertices: []
indices: indices:
edges: [] edges: []
......
...@@ -31,7 +31,7 @@ TextureImporter: ...@@ -31,7 +31,7 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: -1 filterMode: 0
aniso: -1 aniso: -1
mipBias: -100 mipBias: -100
wrapU: 1 wrapU: 1
...@@ -45,7 +45,7 @@ TextureImporter: ...@@ -45,7 +45,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1
...@@ -63,7 +63,18 @@ TextureImporter: ...@@ -63,7 +63,18 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
textureFormat: -1 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 compressionQuality: 50
crunchedCompression: 0 crunchedCompression: 0
allowsAlphaSplitting: 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: ...@@ -1039,6 +1039,11 @@ Prefab:
propertyPath: m_Enabled propertyPath: m_Enabled
value: 1 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 114880704145925944, guid: 3d077a5f727dd1e4780e9265ed26e036,
type: 2}
propertyPath: originComboTime
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 3d077a5f727dd1e4780e9265ed26e036, type: 2} m_SourcePrefab: {fileID: 100100000, guid: 3d077a5f727dd1e4780e9265ed26e036, type: 2}
m_IsPrefabAsset: 0 m_IsPrefabAsset: 0
......
...@@ -6,33 +6,39 @@ public class AttackProperty : MonoBehaviour{ ...@@ -6,33 +6,39 @@ public class AttackProperty : MonoBehaviour{
public float damage = 0; public float damage = 0;
public float knockBackMultiplier = 1f; public float knockBackMultiplier = 1f;
public float[] debuffTime = new float[(int)EnemyDebuffCase.END_POINTER]; public float[] debuffTime = new float[(int)EnemyDebuffCase.END_POINTER];
public int projectileType; //0: melee attack, 1: vanish after hit
EffectManager effectManager; EffectManager effectManager;
PlayerAttack playerAttack;
InventoryManager inventoryManager; InventoryManager inventoryManager;
public LayerMask enemyLayer;
public LayerMask vanishLayer;
public string attackCombo;
private void Awake() private void Awake()
{ {
effectManager = EffectManager.Instance; effectManager = EffectManager.Instance;
playerAttack = transform.parent.GetComponentInChildren<PlayerAttack>();
inventoryManager = InventoryManager.Instance; inventoryManager = InventoryManager.Instance;
} }
public void Init(string combo)
{
attackCombo = combo;
}
private void OnTriggerEnter2D(Collider2D collision) private void OnTriggerEnter2D(Collider2D collision)
{ {
Bounds tmpBounds = new Bounds(); 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); PlayerAttackInfo curAttack = new PlayerAttackInfo(damage, knockBackMultiplier, debuffTime);
Enemy enemyInfo = collision.transform.GetChild(0).GetComponent<Enemy>(); Enemy enemyInfo = collision.transform.GetChild(0).GetComponent<Enemy>();
string combo = playerAttack.comboArray;
foreach (Item tmpItem in inventoryManager.itemList) foreach (Item tmpItem in inventoryManager.itemList)
for (int i = 0; i < tmpItem.skillNum; i++) 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; break;
} }
} }
...@@ -46,6 +52,11 @@ public class AttackProperty : MonoBehaviour{ ...@@ -46,6 +52,11 @@ public class AttackProperty : MonoBehaviour{
if (!tmpBounds.Equals(new Bounds())) if (!tmpBounds.Equals(new Bounds()))
effectManager.StartEffect(0, tmpBounds, collision.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 { ...@@ -50,7 +50,7 @@ public class Enemy : MonoBehaviour {
{ {
enemyManager = EnemyManager.Instance; enemyManager = EnemyManager.Instance;
inventoryManager = InventoryManager.Instance; inventoryManager = InventoryManager.Instance;
lifeStoneManager = GameObject.Find("UI Canvas").transform.GetChild(0).GetComponent<LifeStoneManager>(); lifeStoneManager = LifeStoneManager.Instance;
animator = GetComponent<Animator>(); animator = GetComponent<Animator>();
WallTest = new bool[] { false, false }; WallTest = new bool[] { false, false };
......
...@@ -13,7 +13,7 @@ public class Player : MonoBehaviour { ...@@ -13,7 +13,7 @@ public class Player : MonoBehaviour {
void Start () { void Start () {
ttx = (int)(transform.position.x / 24f); ttx = (int)(transform.position.x / 24f);
tty = (int)(transform.position.y-0.9f / 24f); tty = (int)(transform.position.y-0.9f / 24f);
lifeStoneManager = GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>(); lifeStoneManager = LifeStoneManager.Instance;
} }
// Update is called once per frame // Update is called once per frame
...@@ -42,7 +42,7 @@ public class Player : MonoBehaviour { ...@@ -42,7 +42,7 @@ public class Player : MonoBehaviour {
} }
ttx = tx; ttx = tx;
tty = ty; tty = ty;
if (lifeStoneManager.CountType(LifeStoneType.Normal) + lifeStoneManager.CountType(LifeStoneType.Gold) + lifeStoneManager.CountType(LifeStoneType.Amethyst) == 0) if (lifeStoneManager.CountType() == 0)
GameManager.gameState = GameState.GameOver; GameManager.gameState = GameState.GameOver;
} }
} }
...@@ -7,6 +7,7 @@ public class PlayerAttack : MonoBehaviour { ...@@ -7,6 +7,7 @@ public class PlayerAttack : MonoBehaviour {
public bool cancel; public bool cancel;
public bool playingSkill; public bool playingSkill;
private bool comboEndDelay = true; private bool comboEndDelay = true;
public float originComboTime;
public float comboTime; public float comboTime;
public Text time, combo; public Text time, combo;
public string comboArray; public string comboArray;
...@@ -15,17 +16,20 @@ public class PlayerAttack : MonoBehaviour { ...@@ -15,17 +16,20 @@ public class PlayerAttack : MonoBehaviour {
public AnimatorOverrideController aoc; public AnimatorOverrideController aoc;
public AnimationClip[] normalAttack = new AnimationClip[3]; public AnimationClip[] normalAttack = new AnimationClip[3];
InventoryManager inventoryManager; InventoryManager inventoryManager;
public LifeStoneManager lifeStoneManager; LifeStoneManager lifeStoneManager;
float comboEndTime; float comboEndTime;
bool comboTimeOn; bool comboTimeOn;
PlayerController playerController; PlayerController playerController;
AttackProperty attackProperty;
void Awake () void Awake ()
{ {
lifeStoneManager = LifeStoneManager.Instance;
inventoryManager = InventoryManager.Instance; inventoryManager = InventoryManager.Instance;
playerController = GetComponent<PlayerController>(); playerController = GetComponent<PlayerController>();
attackProperty = GetComponentInChildren<AttackProperty>();
anim = GetComponent<Animator>(); anim = GetComponent<Animator>();
aoc = new AnimatorOverrideController(anim.runtimeAnimatorController); aoc = new AnimatorOverrideController(anim.runtimeAnimatorController);
anim.runtimeAnimatorController = aoc; anim.runtimeAnimatorController = aoc;
...@@ -51,6 +55,7 @@ public class PlayerAttack : MonoBehaviour { ...@@ -51,6 +55,7 @@ public class PlayerAttack : MonoBehaviour {
if (playerController.playerState == PlayerState.GoingUp || playerController.playerState == PlayerState.GoingDown) if (playerController.playerState == PlayerState.GoingUp || playerController.playerState == PlayerState.GoingDown)
playerController.airAttack = false; playerController.airAttack = false;
comboArray += (char)('A' + i); comboArray += (char)('A' + i);
attackProperty.Init(comboArray);
CheckCombo(); CheckCombo();
SetComboText(); SetComboText();
break; break;
...@@ -116,6 +121,7 @@ public class PlayerAttack : MonoBehaviour { ...@@ -116,6 +121,7 @@ public class PlayerAttack : MonoBehaviour {
IEnumerator SkillEndCoroutine() IEnumerator SkillEndCoroutine()
{ {
comboEndTime = Time.time + comboTime; comboEndTime = Time.time + comboTime;
comboTime = originComboTime;
comboTimeOn = true; comboTimeOn = true;
while (Time.time < comboEndTime && comboTimeOn && !playingSkill) while (Time.time < comboEndTime && comboTimeOn && !playingSkill)
{ {
......
...@@ -251,7 +251,7 @@ public class PlayerController : MonoBehaviour ...@@ -251,7 +251,7 @@ public class PlayerController : MonoBehaviour
downKeyDown = false; downKeyDown = false;
jump = 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); 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, 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 fileFormatVersion: 2
guid: ffe4f09c9db1a3a4693857c6195e8965 guid: 6b1c781f0ca8f2446bf6ded900798c86
MonoImporter: MonoImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2
......
...@@ -10,6 +10,7 @@ public abstract class Addon { ...@@ -10,6 +10,7 @@ public abstract class Addon {
public Sprite sprite; public Sprite sprite;
public Sprite highlight; public Sprite highlight;
public Vector2 sizeInventory; public Vector2 sizeInventory;
public string addonDescription;
public Addon() public Addon()
{ {
...@@ -23,35 +24,59 @@ public abstract class Addon { ...@@ -23,35 +24,59 @@ public abstract class Addon {
sprite = null; sprite = null;
highlight = null; highlight = null;
sizeInventory = new Vector2(0, 0); 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; return 0f;
} }
public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 1f; 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]; float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f; for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray; 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]; float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f; for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f;
return varArray; 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; return 0f;
} }
public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 1f; 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; ...@@ -3,7 +3,7 @@ using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler, IPointerClickHandler
{ {
public int num; public int num;
InventoryUI ui; InventoryUI ui;
...@@ -56,6 +56,23 @@ public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDra ...@@ -56,6 +56,23 @@ public class AddonDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDra
} }
manager.SetOnPosition(); 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) 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; 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 ...@@ -9,11 +9,16 @@ public class ApprenticesMark : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 1; name = "apprentice's mark"; id = 1; name = "수습생의 표식";
quality = ItemQuality.Study; quality = ItemQuality.Study;
type = AddonType.Prop; type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/apprentice's mark"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/apprentice's mark"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/apprentice's mark"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/apprentice's mark_border"); ;
sizeInventory = new Vector2(80, 80); 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 ...@@ -9,11 +9,21 @@ public class CoollyPride : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 10; name = "Coolly Pride"; id = 10; name = "차갑게 식은 긍지";
quality = ItemQuality.Ordinary; quality = ItemQuality.Ordinary;
type = AddonType.Theory; type = AddonType.Theory;
sprite = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/Coolly Pride"); ;
sizeInventory = new Vector2(80, 80); 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 ...@@ -9,11 +9,21 @@ public class GlowingHerb : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 14; name = "Glowing Herb"; id = 14; name = "이글거리는 약초";
quality = ItemQuality.Ordinary; quality = ItemQuality.Ordinary;
type = AddonType.Matter; type = AddonType.Matter;
sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/Glowing Herb"); ;
sizeInventory = new Vector2(80, 80); 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 ...@@ -9,11 +9,17 @@ public class ParchmentPiece : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 2; name = "parchment piece"; id = 2; name = "양피지 조각";
quality = ItemQuality.Study; quality = ItemQuality.Study;
type = AddonType.Prop; type = AddonType.Prop;
sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece_border"); ;
sizeInventory = new Vector2(80, 80); 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 @@ ...@@ -2,18 +2,19 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
/// <summary> /// <summary>
/// 애드온명: 기사의 등자 /// 애드온명: 시간 톱니바퀴
/// 번호: 8 /// 번호: 32
/// </summary> /// </summary>
public class KnightsStirrup : Addon public class ToothedWheelofTime : Addon
{ {
public override void Declare() public override void Declare()
{ {
id = 8; name = "Knight's stirrup"; id = 32; name = "시간 톱니바퀴";
quality = ItemQuality.Study; quality = ItemQuality.Superior;
type = AddonType.Prop; type = AddonType.Component;
sprite = Resources.Load<Sprite>("Sprites/Addons/Knight's stirrup"); ; sprite = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
highlight = Resources.Load<Sprite>("Sprites/Addons/Knight's stirrup"); ; highlight = Resources.Load<Sprite>("Sprites/Addons/parchment piece"); ;
sizeInventory = new Vector2(80, 80); 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> { ...@@ -22,8 +22,11 @@ public class InventoryManager : Singleton<InventoryManager> {
player = GameObject.Find("Player"); player = GameObject.Find("Player");
SetPool(); SetPool();
ItemInstantiate("Dagger", player.transform.position, 0f); 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()); StartCoroutine(TestCoroutine());
} }
/// <summary> /// <summary>
...@@ -55,13 +58,17 @@ public class InventoryManager : Singleton<InventoryManager> { ...@@ -55,13 +58,17 @@ public class InventoryManager : Singleton<InventoryManager> {
addonPool[0].Add("ParchmentPiece"); addonPool[0].Add("ParchmentPiece");
addonPool[0].Add("KnightsStirrup");
addonPool[0].Add("ApprenticesMark"); addonPool[0].Add("ApprenticesMark");
addonPool[1].Add("GlowingHerb"); addonPool[1].Add("BlacksmithsBrooch");
addonPool[1].Add("CoollyPride"); 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(""); //addonPool[3].Add("");
...@@ -85,7 +92,7 @@ public class InventoryManager : Singleton<InventoryManager> { ...@@ -85,7 +92,7 @@ public class InventoryManager : Singleton<InventoryManager> {
} }
IEnumerator TestCoroutine() IEnumerator TestCoroutine()
{ {
yield return null; yield return new WaitForSeconds(1.5f); ;
} }
...@@ -227,7 +234,6 @@ public class InventoryManager : Singleton<InventoryManager> { ...@@ -227,7 +234,6 @@ public class InventoryManager : Singleton<InventoryManager> {
itemList.Add(item); itemList.Add(item);
ui.SetOnPosition(itemList, addonList); ui.SetOnPosition(itemList, addonList);
Debug.Log(itemList[0].combo[0] + " " + itemList[0].combo[1]);
return true; return true;
} }
/// <summary> /// <summary>
......
...@@ -30,10 +30,12 @@ public class InventoryUI : MonoBehaviour { ...@@ -30,10 +30,12 @@ public class InventoryUI : MonoBehaviour {
public GameObject[] infoAddonsFrame; public GameObject[] infoAddonsFrame;
public GameObject[] comboStringFrame; public GameObject[] comboStringFrame;
public GameObject[] comboCharPrefab; public GameObject[] comboCharPrefab;
public GameObject[] comboNameFrame;
public float pixelBetweenChar; public float pixelBetweenChar;
GameObject[,] comboChars = new GameObject[3, 8]; GameObject[,] comboChars = new GameObject[3, 8];
GameObject[] infoAddons; GameObject[] infoAddons;
public int selectedItem = -1; public int selectedItem = -1;
string[] qualityString = new string[4] { "습작", "범작", "수작", "걸작" };
void Start () { void Start () {
items = new GameObject[9]; items = new GameObject[9];
...@@ -65,6 +67,7 @@ public class InventoryUI : MonoBehaviour { ...@@ -65,6 +67,7 @@ public class InventoryUI : MonoBehaviour {
comboChars[i, j].SetActive(false); comboChars[i, j].SetActive(false);
} }
comboStringFrame[i].SetActive(false); comboStringFrame[i].SetActive(false);
comboNameFrame[i].SetActive(false);
} }
infoSpace.transform.Find("Frame").gameObject.SetActive(false); infoSpace.transform.Find("Frame").gameObject.SetActive(false);
...@@ -100,11 +103,15 @@ public class InventoryUI : MonoBehaviour { ...@@ -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").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<Image>().sprite = itemList[selectedItem].sprite;
frameObj.transform.Find("ItemSprite").Find("Sprite").gameObject.GetComponent<RectTransform>().sizeDelta = itemList[selectedItem].sizeInventory; 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++) for (int i = 0; i < 3; i++)
{ {
if (i < itemList[selectedItem].skillNum) if (i < itemList[selectedItem].skillNum)
{ {
comboStringFrame[i].SetActive(true); comboStringFrame[i].SetActive(true);
comboNameFrame[i].SetActive(true);
float tmpx = 0; float tmpx = 0;
for (int j = 0; j < 8; j++) for (int j = 0; j < 8; j++)
{ {
...@@ -115,6 +122,7 @@ public class InventoryUI : MonoBehaviour { ...@@ -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>().sizeDelta = comboCharPrefab[itemList[selectedItem].combo[i][j] - 'A'].GetComponent<RectTransform>().sizeDelta;
comboChars[i, j].GetComponent<RectTransform>().localPosition = new Vector3(tmpx, 0, 0); comboChars[i, j].GetComponent<RectTransform>().localPosition = new Vector3(tmpx, 0, 0);
tmpx = comboChars[i, j].GetComponent<RectTransform>().sizeDelta.x + pixelBetweenChar; tmpx = comboChars[i, j].GetComponent<RectTransform>().sizeDelta.x + pixelBetweenChar;
comboNameFrame[i].GetComponent<Text>().text = itemList[selectedItem].comboName[i];
} }
else else
{ {
...@@ -140,6 +148,11 @@ public class InventoryUI : MonoBehaviour { ...@@ -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<Image>().sprite = itemList[selectedItem].addons[i].sprite;
infoAddons[i].transform.Find("Sprite").gameObject.GetComponent<RectTransform>().sizeDelta = itemList[selectedItem].addons[i].sizeInventory; infoAddons[i].transform.Find("Sprite").gameObject.GetComponent<RectTransform>().sizeDelta = itemList[selectedItem].addons[i].sizeInventory;
infoAddons[i].SetActive(true); 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 else
{ {
......
...@@ -14,6 +14,8 @@ public abstract class Item { ...@@ -14,6 +14,8 @@ public abstract class Item {
public Sprite sprite; public Sprite sprite;
public Sprite highlight; public Sprite highlight;
public Vector2 sizeInventory; public Vector2 sizeInventory;
public string itemInfo;
public string[] comboName = new string[3];
public bool ComboAction(string currentCombo) public bool ComboAction(string currentCombo)
{ {
...@@ -24,6 +26,16 @@ public abstract class Item { ...@@ -24,6 +26,16 @@ public abstract class Item {
if (i == 0) PlaySkill1(); if (i == 0) PlaySkill1();
else if (i == 1) PlaySkill2(); else if (i == 1) PlaySkill2();
else if (i == 2) PlaySkill3(); 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; return true;
} }
} }
...@@ -53,6 +65,9 @@ public abstract class Item { ...@@ -53,6 +65,9 @@ public abstract class Item {
animation[1] = null; animation[1] = null;
animation[2] = null; animation[2] = null;
sizeInventory = new Vector2(0, 0); sizeInventory = new Vector2(0, 0);
itemInfo = null;
comboName = new string[3] { "", "", "" };
} }
protected virtual void PlaySkill1() protected virtual void PlaySkill1()
{ {
...@@ -69,12 +84,14 @@ public abstract class Item { ...@@ -69,12 +84,14 @@ public abstract class Item {
PlayerAttackInfo originInfo = new PlayerAttackInfo(attackInfo); PlayerAttackInfo originInfo = new PlayerAttackInfo(attackInfo);
float[] tmpArray; float[] tmpArray;
//Adder
attackInfo.damage += DamageAdder(originInfo, enemyInfo, combo); attackInfo.damage += DamageAdder(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier += KnockBackAdder(originInfo, enemyInfo, combo); attackInfo.knockBackMultiplier += KnockBackAdder(originInfo, enemyInfo, combo);
tmpArray = DebuffAdder(originInfo, enemyInfo, combo); tmpArray = DebuffAdder(originInfo, enemyInfo, combo);
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++)
attackInfo.debuffTime[i] += tmpArray[i]; attackInfo.debuffTime[i] += tmpArray[i];
for (int j = 0; j < attachable.Length; j++) for (int j = 0; j < attachable.Length; j++)
{ {
if (attachable[j] && addons[j] != null) if (attachable[j] && addons[j] != null)
...@@ -87,6 +104,7 @@ public abstract class Item { ...@@ -87,6 +104,7 @@ public abstract class Item {
} }
} }
//Multiplier
attackInfo.damage *= DamageMultiplier(originInfo, enemyInfo, combo); attackInfo.damage *= DamageMultiplier(originInfo, enemyInfo, combo);
attackInfo.knockBackMultiplier *= KnockBackMultiplier(originInfo, enemyInfo, combo); attackInfo.knockBackMultiplier *= KnockBackMultiplier(originInfo, enemyInfo, combo);
tmpArray = DebuffMultiplier(originInfo, enemyInfo, combo); tmpArray = DebuffMultiplier(originInfo, enemyInfo, combo);
...@@ -104,35 +122,87 @@ public abstract class Item { ...@@ -104,35 +122,87 @@ public abstract class Item {
attackInfo.debuffTime[i] *= tmpArray[i]; 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; return 0f;
} }
public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float DamageMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 1f; 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]; float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i< (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f; for (int i = 0; i< (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 0f;
return varArray; 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]; float[] varArray = new float[(int)EnemyDebuffCase.END_POINTER];
for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f; for (int i = 0; i < (int)EnemyDebuffCase.END_POINTER; i++) varArray[i] = 1f;
return varArray; 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; return 0f;
} }
public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemInfo, string combo) public virtual float KnockBackMultiplier(PlayerAttackInfo attackInfo, Enemy enemyInfo, string combo)
{ {
return 1f; 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; ...@@ -6,6 +6,8 @@ using UnityEngine;
/// 번호: 2 /// 번호: 2
/// </summary> /// </summary>
public class Bow : Item { public class Bow : Item {
GameObject arrow;
GameObject player;
public override void Declare() public override void Declare()
{ {
...@@ -15,10 +17,37 @@ public class Bow : Item { ...@@ -15,10 +17,37 @@ public class Bow : Item {
combo = new string[3] { "BB", "BC", "" }; combo = new string[3] { "BB", "BC", "" };
attachable = new bool[4] { true, true, true, true }; attachable = new bool[4] { true, true, true, true };
sprite = Resources.Load<Sprite>("Sprites/Items/bow"); 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[0] = Resources.Load<AnimationClip>("Animations/bowAttack1");
animation[1] = Resources.Load<AnimationClip>("Animations/bowAttack2"); animation[1] = Resources.Load<AnimationClip>("Animations/bowAttack2");
animation[2] = null; 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 ...@@ -20,5 +20,7 @@ public class Dagger : Item
animation[1] = Resources.Load<AnimationClip>("Animations/daggerAttack2"); animation[1] = Resources.Load<AnimationClip>("Animations/daggerAttack2");
animation[2] = null; animation[2] = null;
sizeInventory = new Vector2(127.5f, 125); sizeInventory = new Vector2(127.5f, 125);
itemInfo = "옛날 옛적 호랑이 담배 피던 시절부터 존재하던 단검이다.";
comboName = new string[3] { "베기", "찌르기", "" };
} }
} }
...@@ -7,7 +7,6 @@ public class MapManager : Singleton<MapManager> { ...@@ -7,7 +7,6 @@ public class MapManager : Singleton<MapManager> {
/* /*
* variables * variables
* */ * */
LifeStoneManager lifeStoneManager;
public GameObject player; public GameObject player;
/// <summary> /// <summary>
/// Grid showing tiles. /// Grid showing tiles.
...@@ -731,11 +730,11 @@ public class MapManager : Singleton<MapManager> { ...@@ -731,11 +730,11 @@ public class MapManager : Singleton<MapManager> {
{ {
MoveTetriminoHorizontal(currentTetrimino, new Vector3((int)Input.GetAxisRaw("TetriminoHorizontal"), 0, 0)); 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; isTetriminoFalling = true;
TetriminoMapCoordDown(currentTetrimino); TetriminoMapCoordDown(currentTetrimino);
lifeStoneManager.ChangeToNormal(LifeStoneType.Gold, tetriminoCost); LifeStoneManager.Instance.ChangeToNormal(LifeStoneType.Gold, tetriminoCost);
} }
} }
} }
...@@ -1155,7 +1154,6 @@ public class MapManager : Singleton<MapManager> { ...@@ -1155,7 +1154,6 @@ public class MapManager : Singleton<MapManager> {
roomBackgroundSpritesDistributed[3].Add(roomBackgroundSprite4[i]); roomBackgroundSpritesDistributed[3].Add(roomBackgroundSprite4[i]);
for (int i = 0; i < roomBackgroundSprite5.Length; i++) for (int i = 0; i < roomBackgroundSprite5.Length; i++)
roomBackgroundSpritesDistributed[4].Add(roomBackgroundSprite5[i]);*/ roomBackgroundSpritesDistributed[4].Add(roomBackgroundSprite5[i]);*/
lifeStoneManager = GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>();
currentStage = 0; currentStage = 0;
player = GameObject.Find("Player"); player = GameObject.Find("Player");
grid = GameObject.Find("Grid").transform; grid = GameObject.Find("Grid").transform;
......
...@@ -9,7 +9,7 @@ public class ItemRoomInGame : RoomInGame { ...@@ -9,7 +9,7 @@ public class ItemRoomInGame : RoomInGame {
base.RoomEnter(); base.RoomEnter();
Room room = transform.parent.GetComponent<Room>(); Room room = transform.parent.GetComponent<Room>();
InventoryManager inventoryManager = InventoryManager.Instance; InventoryManager inventoryManager = InventoryManager.Instance;
LifeStoneManager lifeStoneManager = GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>(); LifeStoneManager lifeStoneManager = LifeStoneManager.Instance;
int probability = Random.Range(0, 100); int probability = Random.Range(0, 100);
Vector3 itemPosition = transform.Find("item spot").position; Vector3 itemPosition = transform.Find("item spot").position;
switch (room.itemRoomType) switch (room.itemRoomType)
......
...@@ -52,7 +52,7 @@ public class DroppedLifeStone : MonoBehaviour, IPlayerInteraction ...@@ -52,7 +52,7 @@ public class DroppedLifeStone : MonoBehaviour, IPlayerInteraction
} }
public void Apply() public void Apply()
{ {
if(GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>().PushLifeStone(info)) if(LifeStoneManager.Instance.PushLifeStone(info))
Destroy(gameObject); Destroy(gameObject);
} }
public void HighlightSwitch(bool enabled) public void HighlightSwitch(bool enabled)
......
...@@ -8,7 +8,7 @@ public class DroppedPotion : MonoBehaviour, IPlayerInteraction { ...@@ -8,7 +8,7 @@ public class DroppedPotion : MonoBehaviour, IPlayerInteraction {
public void Apply() public void Apply()
{ {
GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>().ChangeFromNormal(LifeStoneType.Gold, 3); LifeStoneManager.Instance.ChangeFromNormal(LifeStoneType.Gold, 3);
Destroy(gameObject); Destroy(gameObject);
} }
......
...@@ -102,7 +102,7 @@ public class LifeStoneFrame : MonoBehaviour { ...@@ -102,7 +102,7 @@ public class LifeStoneFrame : MonoBehaviour {
if (a == 0) break; if (a == 0) break;
yield return null; yield return null;
} }
StartCoroutine(GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>().VibrateEnumerator(30)); StartCoroutine(LifeStoneManager.Instance.VibrateEnumerator(30));
} }
......
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
[RequireComponent (typeof(RectTransform))] public class LifeStoneManager : Singleton<LifeStoneManager> {
public class LifeStoneManager : MonoBehaviour {
/// <summary> /// <summary>
/// Location of lifeStoneFrame on Canvas /// Location of lifeStoneFrame on Canvas
/// </summary> /// </summary>
...@@ -67,14 +66,13 @@ public class LifeStoneManager : MonoBehaviour { ...@@ -67,14 +66,13 @@ public class LifeStoneManager : MonoBehaviour {
lifeStoneArray = new int[50, 3]; lifeStoneArray = new int[50, 3];
lifeStoneUnit = new GameObject[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; 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)); PushLifeStone(CreateLifeStoneInfo(new Vector2Int(3, 6), 0, 0));
StartCoroutine("TestEnumerator");
} }
IEnumerator TestEnumerator() IEnumerator TestEnumerator()
{ {
yield return null; yield return null;
} }
/// <summary> /// <summary>
...@@ -118,6 +116,8 @@ public class LifeStoneManager : MonoBehaviour { ...@@ -118,6 +116,8 @@ public class LifeStoneManager : MonoBehaviour {
StartCoroutine(PopoutCoroutine(obj)); StartCoroutine(PopoutCoroutine(obj));
} }
/// <summary> /// <summary>
/// Instantiate Dropped LifeStone /// Instantiate Dropped LifeStone
/// </summary> /// </summary>
...@@ -334,6 +334,7 @@ public class LifeStoneManager : MonoBehaviour { ...@@ -334,6 +334,7 @@ public class LifeStoneManager : MonoBehaviour {
new Vector2Int(xtmp, ytmp), new Vector2Int(xtmp, ytmp),
new Vector2Int(xtmp, lifeStoneRowNum + pj), new Vector2Int(xtmp, lifeStoneRowNum + pj),
new Vector2(frameBorder * lifeStoneSize, frameBorder * lifeStoneSize), new Vector2(frameBorder * lifeStoneSize, frameBorder * lifeStoneSize),
true,
vibration); vibration);
vibration = 0; vibration = 0;
} }
...@@ -512,6 +513,57 @@ public class LifeStoneManager : MonoBehaviour { ...@@ -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> /// <summary>
/// lifestoneframe vibration /// lifestoneframe vibration
/// </summary> /// </summary>
......
...@@ -13,7 +13,7 @@ public class LifeStoneTest : MonoBehaviour { ...@@ -13,7 +13,7 @@ public class LifeStoneTest : MonoBehaviour {
private void Start() private void Start()
{ {
uii = ui.GetComponent<LifeStoneManager>(); uii = LifeStoneManager.Instance;
} }
public void push() public void push()
......
...@@ -11,11 +11,9 @@ public class LifeUnitInFrame : MonoBehaviour { ...@@ -11,11 +11,9 @@ public class LifeUnitInFrame : MonoBehaviour {
Vector2 zeroPos; Vector2 zeroPos;
float size; float size;
float v, accel; float v, accel;
bool isFall;
float vibration; float vibration;
void Start()
{
}
/// <summary> /// <summary>
/// Create LifeStoneUnit from above. Starts to fall /// Create LifeStoneUnit from above. Starts to fall
/// </summary> /// </summary>
...@@ -24,10 +22,10 @@ public class LifeUnitInFrame : MonoBehaviour { ...@@ -24,10 +22,10 @@ public class LifeUnitInFrame : MonoBehaviour {
/// <param name="_pos"> destination point in lifestoneFrame</param> /// <param name="_pos"> destination point in lifestoneFrame</param>
/// <param name="_startPos"> starting point above the lifestoneFrame</param> /// <param name="_startPos"> starting point above the lifestoneFrame</param>
/// <param name="_zeroPos"> base position of (0,0) 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>(); 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); GetComponent<RectTransform>().sizeDelta = new Vector2(size, size);
transform.localPosition = new Vector2(zeroPos.x + startPos.x * size, zeroPos.y + startPos.y * size); transform.localPosition = new Vector2(zeroPos.x + startPos.x * size, zeroPos.y + startPos.y * size);
v = 0; v = 0;
...@@ -72,20 +70,20 @@ public class LifeUnitInFrame : MonoBehaviour { ...@@ -72,20 +70,20 @@ public class LifeUnitInFrame : MonoBehaviour {
} }
IEnumerator FallEnumerator() IEnumerator FallEnumerator()
{ {
while (true) while (isFall)
{ {
float vtmp = transform.localPosition.y - v; float vtmp = transform.localPosition.y - v;
if (vtmp <= zeroPos.y + pos.y * size) if (vtmp <= zeroPos.y + pos.y * size)
{
transform.localPosition = new Vector2(transform.localPosition.x, zeroPos.y + pos.y * size);
break; break;
}
transform.localPosition = new Vector2(transform.localPosition.x, vtmp); transform.localPosition = new Vector2(transform.localPosition.x, vtmp);
v += accel; v += accel;
yield return null; yield return null;
} }
transform.localPosition = new Vector2(transform.localPosition.x, zeroPos.y + pos.y * size);
if (vibration != 0) if (vibration != 0)
StartCoroutine(GameObject.Find("LifeStoneUI").GetComponent<LifeStoneManager>().VibrateEnumerator(vibration)); 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: ...@@ -31,7 +31,7 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: -1 filterMode: 0
aniso: -1 aniso: -1
mipBias: -100 mipBias: -100
wrapU: 1 wrapU: 1
...@@ -45,7 +45,7 @@ TextureImporter: ...@@ -45,7 +45,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 64
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1
...@@ -63,7 +63,18 @@ TextureImporter: ...@@ -63,7 +63,18 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
textureFormat: -1 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 compressionQuality: 50
crunchedCompression: 0 crunchedCompression: 0
allowsAlphaSplitting: 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