Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
tetra-tower
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Oenos
tetra-tower
Commits
9a61c8e8
Commit
9a61c8e8
authored
Feb 12, 2019
by
15김민규
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
적 소환 수 / 죽은 수 카운트 됨. enemyManager의 isClear()를 통해 몹을 전부 잡았는지 알 수 있다. 테스트를 위해 일부 프리팹에 고블린 소환위치 찍음.
parent
f1f2c0ff
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
388 additions
and
23 deletions
+388
-23
Room Start 1-1.prefab
Assets/Prefabs/Rooms/SpecialRoom/Room Start 1-1.prefab
+130
-0
testEnemy.unity
Assets/Scenes/testEnemy.unity
+218
-0
EnemyDamaged.cs
...s/Scripts/Characters/Enemy/Animator State/EnemyDamaged.cs
+1
-1
EnemyMeleeTrack.cs
...cripts/Characters/Enemy/Animator State/EnemyMeleeTrack.cs
+1
-1
Enemy.cs
Assets/Scripts/Characters/Enemy/Enemy.cs
+4
-3
EnemyManager.cs
Assets/Scripts/EnemyManager.cs
+32
-16
MapManager.cs
Assets/Scripts/TetrisMap/MapManager.cs
+1
-1
Test.cs
Assets/Scripts/TetrisMap/Test.cs
+1
-1
No files found.
Assets/Prefabs/Rooms/SpecialRoom/Room Start 1-1.prefab
View file @
9a61c8e8
...
...
@@ -11,6 +11,52 @@ Prefab:
m_SourcePrefab
:
{
fileID
:
0
}
m_RootGameObject
:
{
fileID
:
1915452461634262
}
m_IsPrefabAsset
:
1
---
!u!1
&1007840319863528
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
4546795586742468
}
m_Layer
:
0
m_Name
:
enemy spot
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1124637384100458
GameObject
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
4334623205686684
}
m_Layer
:
0
m_Name
:
Location
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1276568354572690
GameObject
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
4054145534218116
}
-
component
:
{
fileID
:
114782628463349330
}
m_Layer
:
0
m_Name
:
Goblin
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1306147373330598
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -51,6 +97,21 @@ GameObject:
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1646302870988242
GameObject
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
4372487440442684
}
m_Layer
:
0
m_Name
:
Location (1)
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1657725642800636
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -123,6 +184,21 @@ GameObject:
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!4
&4054145534218116
Transform
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1276568354572690
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
-
{
fileID
:
4334623205686684
}
-
{
fileID
:
4372487440442684
}
m_Father
:
{
fileID
:
4546795586742468
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!4
&4152337674201398
Transform
:
m_ObjectHideFlags
:
1
...
...
@@ -136,6 +212,32 @@ Transform:
m_Father
:
{
fileID
:
4874486600194970
}
m_RootOrder
:
4
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!4
&4334623205686684
Transform
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1124637384100458
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
2.5
,
y
:
9
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
4054145534218116
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!4
&4372487440442684
Transform
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1646302870988242
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0
,
w
:
1
}
m_LocalPosition
:
{
x
:
2.5
,
y
:
17
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
4054145534218116
}
m_RootOrder
:
1
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!4
&4453118840796536
Transform
:
m_ObjectHideFlags
:
1
...
...
@@ -149,6 +251,20 @@ Transform:
m_Father
:
{
fileID
:
4874486600194970
}
m_RootOrder
:
1
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!4
&4546795586742468
Transform
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1007840319863528
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
-
{
fileID
:
4054145534218116
}
m_Father
:
{
fileID
:
4874486600194970
}
m_RootOrder
:
5
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!4
&4557338679182532
Transform
:
m_ObjectHideFlags
:
1
...
...
@@ -190,6 +306,7 @@ Transform:
-
{
fileID
:
4925861857805118
}
-
{
fileID
:
4802276979595092
}
-
{
fileID
:
4152337674201398
}
-
{
fileID
:
4546795586742468
}
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
...
...
@@ -970,6 +1087,19 @@ MonoBehaviour:
m_Script
:
{
fileID
:
11500000
,
guid
:
b5ed2c384310eb6408bb42c91b195e15
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
---
!u!114
&114782628463349330
MonoBehaviour
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1276568354572690
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
2d27745292051704a87740def5391766
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
enemyPrefab
:
{
fileID
:
1636491341446076
,
guid
:
a164c147037e89448820f7387c724c42
,
type
:
2
}
---
!u!212
&212993751766265268
SpriteRenderer
:
m_ObjectHideFlags
:
1
...
...
Assets/Scenes/testEnemy.unity
View file @
9a61c8e8
...
...
@@ -670,6 +670,11 @@ Prefab:
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
afe4a2cb44239b649a3ffa70af5c2d84
,
type
:
2
}
m_IsPrefabAsset
:
0
---
!u!224
&784215598
stripped
RectTransform
:
m_CorrespondingSourceObject
:
{
fileID
:
224627740379736590
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
677608594
}
---
!u!1
&826079602
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -732,6 +737,134 @@ Transform:
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
6
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&1148854461
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
1635164560723902
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
1148854462
}
-
component
:
{
fileID
:
1148854465
}
-
component
:
{
fileID
:
1148854464
}
-
component
:
{
fileID
:
1148854463
}
m_Layer
:
5
m_Name
:
SummonEnemyButton
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&1148854462
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
224799334850716618
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1148854461
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
-
{
fileID
:
1931263425
}
m_Father
:
{
fileID
:
784215598
}
m_RootOrder
:
13
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
1
,
y
:
1
}
m_AnchorMax
:
{
x
:
1
,
y
:
1
}
m_AnchoredPosition
:
{
x
:
-92
,
y
:
-497.7
}
m_SizeDelta
:
{
x
:
154.8
,
y
:
30
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&1148854463
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
114069666699939228
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1148854461
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
1392445389
,
guid
:
f70555f144d8491a825f0804e09c671c
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Navigation
:
m_Mode
:
3
m_SelectOnUp
:
{
fileID
:
0
}
m_SelectOnDown
:
{
fileID
:
0
}
m_SelectOnLeft
:
{
fileID
:
0
}
m_SelectOnRight
:
{
fileID
:
0
}
m_Transition
:
1
m_Colors
:
m_NormalColor
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_HighlightedColor
:
{
r
:
0.9607843
,
g
:
0.9607843
,
b
:
0.9607843
,
a
:
1
}
m_PressedColor
:
{
r
:
0.78431374
,
g
:
0.78431374
,
b
:
0.78431374
,
a
:
1
}
m_DisabledColor
:
{
r
:
0.78431374
,
g
:
0.78431374
,
b
:
0.78431374
,
a
:
0.5019608
}
m_ColorMultiplier
:
1
m_FadeDuration
:
0.1
m_SpriteState
:
m_HighlightedSprite
:
{
fileID
:
0
}
m_PressedSprite
:
{
fileID
:
0
}
m_DisabledSprite
:
{
fileID
:
0
}
m_AnimationTriggers
:
m_NormalTrigger
:
Normal
m_HighlightedTrigger
:
Highlighted
m_PressedTrigger
:
Pressed
m_DisabledTrigger
:
Disabled
m_Interactable
:
1
m_TargetGraphic
:
{
fileID
:
1148854464
}
m_OnClick
:
m_PersistentCalls
:
m_Calls
:
-
m_Target
:
{
fileID
:
1985083923
}
m_MethodName
:
SpawnEnemyToMap
m_Mode
:
1
m_Arguments
:
m_ObjectArgument
:
{
fileID
:
0
}
m_ObjectArgumentAssemblyTypeName
:
UnityEngine.Object, UnityEngine
m_IntArgument
:
0
m_FloatArgument
:
0
m_StringArgument
:
m_BoolArgument
:
0
m_CallState
:
2
m_TypeName
:
UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
---
!u!114
&1148854464
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
114935985951632436
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1148854461
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
-765806418
,
guid
:
f70555f144d8491a825f0804e09c671c
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Material
:
{
fileID
:
0
}
m_Color
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_RaycastTarget
:
1
m_OnCullStateChanged
:
m_PersistentCalls
:
m_Calls
:
[]
m_TypeName
:
UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite
:
{
fileID
:
10905
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_Type
:
1
m_PreserveAspect
:
0
m_FillCenter
:
1
m_FillMethod
:
4
m_FillAmount
:
1
m_FillClockwise
:
1
m_FillOrigin
:
0
---
!u!222
&1148854465
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
222640117483477652
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1148854461
}
m_CullTransparentMesh
:
0
---
!u!1
&1159748689
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -1498,11 +1631,96 @@ Prefab:
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
a164c147037e89448820f7387c724c42
,
type
:
2
}
m_IsPrefabAsset
:
0
---
!u!1
&1931263424
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
1063244425464928
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
1931263425
}
-
component
:
{
fileID
:
1931263427
}
-
component
:
{
fileID
:
1931263426
}
m_Layer
:
5
m_Name
:
Text
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!224
&1931263425
RectTransform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
224433513092310386
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1931263424
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
1148854462
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
0
}
m_AnchorMax
:
{
x
:
1
,
y
:
1
}
m_AnchoredPosition
:
{
x
:
0
,
y
:
0
}
m_SizeDelta
:
{
x
:
0
,
y
:
0
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!114
&1931263426
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
114747223387130412
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1931263424
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
708705254
,
guid
:
f70555f144d8491a825f0804e09c671c
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Material
:
{
fileID
:
0
}
m_Color
:
{
r
:
0.19607843
,
g
:
0.19607843
,
b
:
0.19607843
,
a
:
1
}
m_RaycastTarget
:
1
m_OnCullStateChanged
:
m_PersistentCalls
:
m_Calls
:
[]
m_TypeName
:
UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData
:
m_Font
:
{
fileID
:
10102
,
guid
:
0000000000000000e000000000000000
,
type
:
0
}
m_FontSize
:
14
m_FontStyle
:
0
m_BestFit
:
0
m_MinSize
:
10
m_MaxSize
:
40
m_Alignment
:
4
m_AlignByGeometry
:
0
m_RichText
:
1
m_HorizontalOverflow
:
0
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
SummonEnemy
---
!u!222
&1931263427
CanvasRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
222267971390068440
,
guid
:
799f0e9cc16535e449586b399b37aa56
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1931263424
}
m_CullTransparentMesh
:
0
---
!u!223
&1950607614
stripped
Canvas
:
m_CorrespondingSourceObject
:
{
fileID
:
223008133952041092
,
guid
:
7c6db9a9ca4150a438bd5114c58a37cf
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
225935757
}
---
!u!114
&1985083923
stripped
MonoBehaviour
:
m_CorrespondingSourceObject
:
{
fileID
:
114768470604838176
,
guid
:
54c1a7b414e41724197333a9e17dd49b
,
type
:
2
}
m_PrefabInternal
:
{
fileID
:
1184292066
}
m_Script
:
{
fileID
:
11500000
,
guid
:
fc7c7899a8a94c24cb9eb34d432133ce
,
type
:
3
}
---
!u!1001
&2042136941
Prefab
:
m_ObjectHideFlags
:
0
...
...
Assets/Scripts/Characters/Enemy/Animator State/EnemyDamaged.cs
View file @
9a61c8e8
...
...
@@ -24,7 +24,7 @@ public class EnemyDamaged : StateMachineBehaviour {
}
knockbackSpeed
=
animator
.
GetFloat
(
"knockbackDistance"
)
/
knockbackTime
;
Transform
playerTransform
=
EnemyManager
.
Instance
.
p
layer
.
transform
;
Transform
playerTransform
=
EnemyManager
.
Instance
.
P
layer
.
transform
;
pivotTransform
=
animator
.
transform
.
parent
;
pivotTransform
.
eulerAngles
=
(
playerTransform
.
position
.
x
-
pivotTransform
.
position
.
x
<
0
)
?
leftsideAngle
:
rightsideAngle
;
knockbackDir
=
(
playerTransform
.
position
.
x
-
pivotTransform
.
position
.
x
<
0
)
?
1
:
-
1
;
...
...
Assets/Scripts/Characters/Enemy/Animator State/EnemyMeleeTrack.cs
View file @
9a61c8e8
...
...
@@ -16,7 +16,7 @@ public class EnemyMeleeTrack : StateMachineBehaviour {
override
public
void
OnStateEnter
(
Animator
animator
,
AnimatorStateInfo
stateInfo
,
int
layerIndex
)
{
trackSpeed
=
animator
.
GetComponent
<
Enemy
>().
trackSpeed
;
attackRange
=
animator
.
GetComponent
<
Enemy
>().
attackRange
;
player
=
EnemyManager
.
Instance
.
p
layer
;
player
=
EnemyManager
.
Instance
.
P
layer
;
pivotTransform
=
animator
.
transform
.
parent
;
float
halfHeight
=
pivotTransform
.
gameObject
.
GetComponent
<
BoxCollider2D
>().
size
.
y
/
2.0f
;
...
...
Assets/Scripts/Characters/Enemy/Enemy.cs
View file @
9a61c8e8
...
...
@@ -56,13 +56,13 @@ public class Enemy : MonoBehaviour {
private
void
Start
()
{
this
.
currHealth
=
maxHealth
;
dropTable
=
enemyManager
.
d
ropTableByID
[
monsterID
];
Physics2D
.
IgnoreCollision
(
enemyManager
.
p
layer
.
gameObject
.
GetComponent
<
Collider2D
>(),
transform
.
parent
.
GetComponent
<
Collider2D
>());
dropTable
=
enemyManager
.
D
ropTableByID
[
monsterID
];
Physics2D
.
IgnoreCollision
(
enemyManager
.
P
layer
.
gameObject
.
GetComponent
<
Collider2D
>(),
transform
.
parent
.
GetComponent
<
Collider2D
>());
}
private
void
Update
()
{
playerDistance
=
Vector2
.
Distance
(
enemyManager
.
p
layer
.
transform
.
position
,
transform
.
parent
.
position
);
playerDistance
=
Vector2
.
Distance
(
enemyManager
.
P
layer
.
transform
.
position
,
transform
.
parent
.
position
);
}
// hit by player or debuff
...
...
@@ -84,6 +84,7 @@ public class Enemy : MonoBehaviour {
public
void
DeadEvent
()
{
transform
.
parent
.
gameObject
.
SetActive
(
false
);
enemyManager
.
EnemyDeadCount
++;
// 다른 enemy로 인해 소환되는 enemy가 추가될 경우 여기를 건드려야 함
// Drop 아이템 결정. 인덱스 별 아이템은 맨 밑에 서술
float
denominator
=
dropTable
[
dropTable
.
Length
-
1
];
...
...
Assets/Scripts/EnemyManager.cs
View file @
9a61c8e8
...
...
@@ -9,22 +9,30 @@ public class EnemyManager : Singleton<EnemyManager>
{
// data
// static
private
readonly
int
poolSize
=
10
;
public
static
readonly
float
goldPer
=
0.5f
;
public
static
readonly
int
ameNum
=
0
;
public
static
readonly
float
dropObjStrength
=
1f
;
// hold player for animation
public
GameObject
player
;
public
GameObject
Player
{
get
;
private
set
;
}
// data of drop item
public
TextAsset
dropTableData
;
public
Dictionary
<
int
,
int
[
]>
dropTableByID
=
new
Dictionary
<
int
,
int
[
]>
();
[
SerializeField
]
private
TextAsset
dropTableData
;
public
Dictionary
<
int
,
int
[
]>
DropTableByID
{
get
;
private
set
;
}
// enemy prefab and pool
[
SerializeField
]
private
GameObject
[]
enemyPrefab
;
private
readonly
int
poolSize
=
10
;
public
Dictionary
<
GameObject
,
GameObject
[
]>
EnemyPool
{
get
;
private
set
;
}
// enemy count
[
SerializeField
]
private
uint
EnemySpawnCount
;
public
uint
EnemyDeadCount
;
// enemy prefab
public
GameObject
[]
enemyPrefab
;
public
Dictionary
<
GameObject
,
GameObject
[
]>
enemyPool
=
new
Dictionary
<
GameObject
,
GameObject
[
]>
();
// method
// Constructor - protect calling raw constructor
...
...
@@ -33,14 +41,15 @@ public class EnemyManager : Singleton<EnemyManager>
// Awake
private
void
Awake
()
{
p
layer
=
GameObject
.
Find
(
"Player"
);
P
layer
=
GameObject
.
Find
(
"Player"
);
LoadDropTable
(
dropTableData
);
CreateEnemyPool
();
}
// Spawn Enemy to Map
public
void
SpawnEnemy
()
public
void
SpawnEnemy
ToMap
()
{
EnemySpawnCount
=
EnemyDeadCount
=
0
;
Transform
enemySpots
=
MapManager
.
currentRoom
.
roomInGame
.
transform
.
Find
(
"enemy spot"
);
foreach
(
Transform
enemySpot
in
enemySpots
)
{
...
...
@@ -53,10 +62,16 @@ public class EnemyManager : Singleton<EnemyManager>
}
}
public
bool
IsClear
()
{
return
(
EnemyDeadCount
==
EnemySpawnCount
);
}
// Object Pool
private
void
CreateEnemyPool
()
{
foreach
(
GameObject
eachEnemy
in
enemyPrefab
)
EnemyPool
=
new
Dictionary
<
GameObject
,
GameObject
[
]>
();
foreach
(
GameObject
eachEnemy
in
enemyPrefab
)
{
GameObject
[]
pool
=
new
GameObject
[
poolSize
];
for
(
int
i
=
0
;
i
<
pool
.
Length
;
i
++)
...
...
@@ -64,14 +79,14 @@ public class EnemyManager : Singleton<EnemyManager>
pool
[
i
]
=
Instantiate
(
eachEnemy
);
pool
[
i
].
SetActive
(
false
);
}
e
nemyPool
.
Add
(
eachEnemy
,
pool
);
E
nemyPool
.
Add
(
eachEnemy
,
pool
);
}
}
private
GameObject
PickFromPool
(
GameObject
enemy
)
{
Debug
.
Log
(
enemy
.
name
)
;
GameObject
[]
pool
=
e
nemyPool
[
enemy
];
EnemySpawnCount
+=
1
;
GameObject
[]
pool
=
E
nemyPool
[
enemy
];
foreach
(
GameObject
obj
in
pool
)
{
if
(!
obj
.
activeSelf
)
...
...
@@ -88,7 +103,7 @@ public class EnemyManager : Singleton<EnemyManager>
pool
[
i
]
=
Instantiate
(
enemy
);
pool
[
i
].
SetActive
(
false
);
}
e
nemyPool
[
enemy
]
=
pool
;
E
nemyPool
[
enemy
]
=
pool
;
pool
[
beforeExtend
].
SetActive
(
true
);
return
pool
[
beforeExtend
];
...
...
@@ -97,6 +112,7 @@ public class EnemyManager : Singleton<EnemyManager>
// Load Dictionary
private
void
LoadDropTable
(
TextAsset
dataFile
)
{
DropTableByID
=
new
Dictionary
<
int
,
int
[
]>
();
string
[]
linesFromText
=
dataFile
.
text
.
Split
(
'\n'
);
string
[]
cellValue
=
null
;
...
...
@@ -126,7 +142,7 @@ public class EnemyManager : Singleton<EnemyManager>
dropTable
[
j
]
=
cumulated
;
}
d
ropTableByID
.
Add
(
enemyID
,
dropTable
);
D
ropTableByID
.
Add
(
enemyID
,
dropTable
);
}
}
}
Assets/Scripts/TetrisMap/MapManager.cs
View file @
9a61c8e8
...
...
@@ -881,7 +881,7 @@ public class MapManager : MonoBehaviour {
if
(!
room
.
isRoomCleared
)
{
if
(
room
.
specialRoomType
==
RoomType
.
Normal
)
GameObject
.
Find
(
"EnemyManager"
).
GetComponent
<
EnemyManager
>().
SpawnEnemy
();
GameObject
.
Find
(
"EnemyManager"
).
GetComponent
<
EnemyManager
>().
SpawnEnemy
ToMap
();
else
if
(
room
.
specialRoomType
==
RoomType
.
Item
)
{
InventoryManager
inventoryManager
=
GameObject
.
Find
(
"InventoryManager"
).
GetComponent
<
InventoryManager
>();
...
...
Assets/Scripts/TetrisMap/Test.cs
View file @
9a61c8e8
...
...
@@ -56,7 +56,7 @@ public class Test : MonoBehaviour {
}
public
void
SummonEnemy
()
{
enemyManager
.
SpawnEnemy
();
enemyManager
.
SpawnEnemy
ToMap
();
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment