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
a933f47b
Commit
a933f47b
authored
Feb 23, 2019
by
18손재민
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
아이템 방 작동 방식 완전히 뜯어고침 상점 wip
parent
65f7d3f7
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
392 additions
and
179 deletions
+392
-179
TestTools.prefab
Assets/Prefabs/TetrisMap/TestTools.prefab
+207
-8
Enumerators.cs
Assets/Scripts/Enumerators.cs
+9
-2
MapManager.cs
Assets/Scripts/TetrisMap/MapManager.cs
+67
-1
RoomInGame.cs
Assets/Scripts/TetrisMap/RoomInGame.cs
+33
-15
ItemRoomInGame.cs
Assets/Scripts/TetrisMap/Rooms/ItemRoomInGame.cs
+70
-151
Test.cs
Assets/Scripts/TetrisMap/Test.cs
+6
-2
No files found.
Assets/Prefabs/TetrisMap/TestTools.prefab
View file @
a933f47b
...
...
@@ -28,6 +28,23 @@ GameObject:
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1021381797292870
GameObject
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
224733835642843396
}
-
component
:
{
fileID
:
222024982271893340
}
-
component
:
{
fileID
:
114429575982690252
}
m_Layer
:
5
m_Name
:
Text
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1046609328711828
GameObject
:
m_ObjectHideFlags
:
1
...
...
@@ -267,7 +284,7 @@ GameObject:
-
component
:
{
fileID
:
114828539615619098
}
-
component
:
{
fileID
:
114295909817659062
}
m_Layer
:
5
m_Name
:
Gold
m_Name
:
Item
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
...
...
@@ -343,6 +360,24 @@ GameObject:
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1367446903343026
GameObject
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
224293546598734980
}
-
component
:
{
fileID
:
222750383273651770
}
-
component
:
{
fileID
:
114049106733063078
}
-
component
:
{
fileID
:
114014599535851352
}
m_Layer
:
5
m_Name
:
Gold
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!1
&1371519647033360
GameObject
:
m_ObjectHideFlags
:
1
...
...
@@ -878,6 +913,58 @@ MonoBehaviour:
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
AddRow
---
!u!114
&114014599535851352
MonoBehaviour
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1367446903343026
}
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
:
114049106733063078
}
m_OnClick
:
m_PersistentCalls
:
m_Calls
:
-
m_Target
:
{
fileID
:
114213890665286158
}
m_MethodName
:
Gold
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
&114016466340631136
MonoBehaviour
:
m_ObjectHideFlags
:
1
...
...
@@ -1053,6 +1140,33 @@ MonoBehaviour:
m_FillAmount
:
1
m_FillClockwise
:
1
m_FillOrigin
:
0
---
!u!114
&114049106733063078
MonoBehaviour
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1367446903343026
}
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!114
&114106929006583564
MonoBehaviour
:
m_ObjectHideFlags
:
1
...
...
@@ -1557,7 +1671,7 @@ MonoBehaviour:
m_HorizontalOverflow
:
0
m_VerticalOverflow
:
0
m_LineSpacing
:
1
m_Text
:
Gold
m_Text
:
Item
---
!u!114
&114342434505797106
MonoBehaviour
:
m_ObjectHideFlags
:
1
...
...
@@ -1787,6 +1901,39 @@ MonoBehaviour:
m_FillAmount
:
1
m_FillClockwise
:
1
m_FillOrigin
:
0
---
!u!114
&114429575982690252
MonoBehaviour
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1021381797292870
}
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
:
Gold
---
!u!114
&114454426474737934
MonoBehaviour
:
m_ObjectHideFlags
:
1
...
...
@@ -3309,6 +3456,13 @@ MonoBehaviour:
m_FillAmount
:
1
m_FillClockwise
:
1
m_FillOrigin
:
0
---
!u!222
&222024982271893340
CanvasRenderer
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1021381797292870
}
m_CullTransparentMesh
:
0
---
!u!222
&222044362804796260
CanvasRenderer
:
m_ObjectHideFlags
:
1
...
...
@@ -3519,6 +3673,13 @@ CanvasRenderer:
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1080262509988266
}
m_CullTransparentMesh
:
0
---
!u!222
&222750383273651770
CanvasRenderer
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1367446903343026
}
m_CullTransparentMesh
:
0
---
!u!222
&222776509415662164
CanvasRenderer
:
m_ObjectHideFlags
:
1
...
...
@@ -3668,7 +3829,7 @@ RectTransform:
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
224395958577644168
}
m_RootOrder
:
5
m_RootOrder
:
6
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
1
}
m_AnchorMax
:
{
x
:
0
,
y
:
1
}
...
...
@@ -3705,7 +3866,7 @@ RectTransform:
m_Children
:
-
{
fileID
:
224541999860904942
}
m_Father
:
{
fileID
:
224395958577644168
}
m_RootOrder
:
3
m_RootOrder
:
4
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
1
}
m_AnchorMax
:
{
x
:
0
,
y
:
1
}
...
...
@@ -3859,6 +4020,25 @@ RectTransform:
m_AnchoredPosition
:
{
x
:
0
,
y
:
-0.5
}
m_SizeDelta
:
{
x
:
-20
,
y
:
-13
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!224
&224293546598734980
RectTransform
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1367446903343026
}
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
:
224733835642843396
}
m_Father
:
{
fileID
:
224395958577644168
}
m_RootOrder
:
1
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
1
}
m_AnchorMax
:
{
x
:
0
,
y
:
1
}
m_AnchoredPosition
:
{
x
:
131
,
y
:
-465
}
m_SizeDelta
:
{
x
:
200
,
y
:
50
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!224
&224313250749443624
RectTransform
:
m_ObjectHideFlags
:
1
...
...
@@ -3939,6 +4119,7 @@ RectTransform:
m_LocalScale
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_Children
:
-
{
fileID
:
224851610276147026
}
-
{
fileID
:
224293546598734980
}
-
{
fileID
:
224472859903882328
}
-
{
fileID
:
224612213790397690
}
-
{
fileID
:
224071041299093070
}
...
...
@@ -4058,7 +4239,7 @@ RectTransform:
m_Children
:
-
{
fileID
:
224658872540831358
}
m_Father
:
{
fileID
:
224395958577644168
}
m_RootOrder
:
1
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
1
}
m_AnchorMax
:
{
x
:
0
,
y
:
1
}
...
...
@@ -4245,7 +4426,7 @@ RectTransform:
m_Children
:
-
{
fileID
:
224747592117556546
}
m_Father
:
{
fileID
:
224395958577644168
}
m_RootOrder
:
2
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
1
}
m_AnchorMax
:
{
x
:
0
,
y
:
1
}
...
...
@@ -4325,6 +4506,24 @@ RectTransform:
m_AnchoredPosition
:
{
x
:
-256
,
y
:
-121.85
}
m_SizeDelta
:
{
x
:
154.8
,
y
:
30
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!224
&224733835642843396
RectTransform
:
m_ObjectHideFlags
:
1
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInternal
:
{
fileID
:
100100000
}
m_GameObject
:
{
fileID
:
1021381797292870
}
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
:
224293546598734980
}
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!224
&224747592117556546
RectTransform
:
m_ObjectHideFlags
:
1
...
...
@@ -4373,7 +4572,7 @@ RectTransform:
m_Children
:
-
{
fileID
:
224527953610948652
}
m_Father
:
{
fileID
:
224395958577644168
}
m_RootOrder
:
4
m_RootOrder
:
5
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
1
}
m_AnchorMax
:
{
x
:
0
,
y
:
1
}
...
...
@@ -4396,7 +4595,7 @@ RectTransform:
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_AnchorMin
:
{
x
:
0
,
y
:
1
}
m_AnchorMax
:
{
x
:
0
,
y
:
1
}
m_AnchoredPosition
:
{
x
:
131
,
y
:
-
465
}
m_AnchoredPosition
:
{
x
:
131
,
y
:
-
700
}
m_SizeDelta
:
{
x
:
200
,
y
:
50
}
m_Pivot
:
{
x
:
0.5
,
y
:
0.5
}
---
!u!224
&224859018475493120
...
...
Assets/Scripts/Enumerators.cs
View file @
a933f47b
...
...
@@ -30,7 +30,9 @@ public enum ItemQuality
Study
,
Ordinary
,
Superior
,
Masterpiece
Masterpiece
,
Gold
,
None
}
public
enum
AddonType
...
...
@@ -48,12 +50,17 @@ public enum LifeStoneType
Amethyst
=
3
}
public
enum
ItemSpawnType
{
LifeStone
,
GoldPotion
,
Item
,
Addon
,
LifeStoneFrame
}
public
enum
ItemType
{
None
,
OneStone
,
TwoStone
,
ThreeStone
,
FourStone
,
FiveStone
,
GoldPotion
,
AmethystPotion
,
StudyItem
,
OrdinaryItem
,
SuperiorItem
,
MasterPieceItem
,
StudyAdd
,
OrdinaryAdd
,
SuperiorAdd
,
MasterpieceAdd
MasterpieceAdd
,
LifeStoneFrame
}
public
enum
PlayerState
{
Idle
,
Walk
,
Run
,
GoingUp
,
GoingDown
,
Rope
,
Attack
}
...
...
Assets/Scripts/TetrisMap/MapManager.cs
View file @
a933f47b
...
...
@@ -988,6 +988,72 @@ public class MapManager : Singleton<MapManager> {
Tetrimino
.
rotationInformation
[
5
].
horizontalLength
=
new
int
[
4
]
{
3
,
2
,
3
,
2
};
//S
Tetrimino
.
rotationInformation
[
6
].
horizontalLength
=
new
int
[
4
]
{
3
,
2
,
3
,
2
};
//Z
Tetrimino
.
rotationInformation
[
7
].
horizontalLength
=
new
int
[
4
]
{
1
,
1
,
1
,
1
};
//Boss
ItemRoomInGame
.
itemRoomInformation
[
0
]
=
new
RoomItemInfo
(
new
ItemSpawnInfo
[
8
]
{
new
ItemSpawnInfo
(
12.5f
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
GoldPotion
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Ordinary
,
ItemQuality
.
None
},
new
int
[
2
]
{
1
,
2
}),
new
ItemSpawnInfo
(
12.5f
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Addon
,
ItemSpawnType
.
GoldPotion
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Ordinary
,
ItemQuality
.
None
},
new
int
[
2
]
{
1
,
2
}),
new
ItemSpawnInfo
(
12.5f
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
LifeStone
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Ordinary
,
ItemQuality
.
Gold
},
new
int
[
2
]
{
1
,
1
}),
new
ItemSpawnInfo
(
12.5f
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Addon
,
ItemSpawnType
.
LifeStone
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Ordinary
,
ItemQuality
.
Gold
},
new
int
[
2
]
{
1
,
1
}),
new
ItemSpawnInfo
(
17
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
Addon
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Ordinary
,
ItemQuality
.
Ordinary
},
new
int
[
2
]
{
1
,
1
}),
new
ItemSpawnInfo
(
25
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
Addon
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Ordinary
,
ItemQuality
.
Study
},
new
int
[
2
]
{
1
,
1
}),
new
ItemSpawnInfo
(
4
,
new
ItemSpawnType
[
1
]
{
ItemSpawnType
.
Item
},
new
ItemQuality
[
1
]
{
ItemQuality
.
Superior
},
new
int
[
1
]
{
1
}),
new
ItemSpawnInfo
(
4
,
new
ItemSpawnType
[
1
]
{
ItemSpawnType
.
Addon
},
new
ItemQuality
[
1
]
{
ItemQuality
.
Superior
},
new
int
[
1
]
{
1
})
});
ItemRoomInGame
.
itemRoomInformation
[
1
]
=
new
RoomItemInfo
(
new
ItemSpawnInfo
[
7
]
{
new
ItemSpawnInfo
(
10
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
GoldPotion
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Superior
,
ItemQuality
.
None
},
new
int
[
2
]
{
1
,
3
}),
new
ItemSpawnInfo
(
10
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Addon
,
ItemSpawnType
.
GoldPotion
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Superior
,
ItemQuality
.
None
},
new
int
[
2
]
{
1
,
3
}),
new
ItemSpawnInfo
(
20
,
new
ItemSpawnType
[
3
]
{
ItemSpawnType
.
Addon
,
ItemSpawnType
.
Addon
,
ItemSpawnType
.
Addon
},
new
ItemQuality
[
3
]
{
ItemQuality
.
Superior
,
ItemQuality
.
Ordinary
,
ItemQuality
.
Study
},
new
int
[
3
]
{
1
,
1
,
1
}),
new
ItemSpawnInfo
(
20
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
Addon
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Superior
,
ItemQuality
.
Study
},
new
int
[
2
]
{
1
,
2
}),
new
ItemSpawnInfo
(
20
,
new
ItemSpawnType
[
3
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
Addon
,
ItemSpawnType
.
LifeStone
},
new
ItemQuality
[
3
]
{
ItemQuality
.
Superior
,
ItemQuality
.
Ordinary
,
ItemQuality
.
None
},
new
int
[
3
]
{
1
,
1
,
3
}),
new
ItemSpawnInfo
(
10
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
LifeStone
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Superior
,
ItemQuality
.
None
},
new
int
[
2
]
{
1
,
3
}),
new
ItemSpawnInfo
(
10
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Addon
,
ItemSpawnType
.
LifeStone
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Superior
,
ItemQuality
.
None
},
new
int
[
2
]
{
1
,
3
})
});
ItemRoomInGame
.
itemRoomInformation
[
2
]
=
new
RoomItemInfo
(
new
ItemSpawnInfo
[
4
]
{
new
ItemSpawnInfo
(
33.5f
,
new
ItemSpawnType
[
4
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
Addon
,
ItemSpawnType
.
Item
,
ItemSpawnType
.
GoldPotion
},
new
ItemQuality
[
4
]
{
ItemQuality
.
Superior
,
ItemQuality
.
Superior
,
ItemQuality
.
Ordinary
,
ItemQuality
.
None
},
new
int
[
4
]
{
1
,
1
,
1
,
1
}),
new
ItemSpawnInfo
(
33.5f
,
new
ItemSpawnType
[
4
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
Addon
,
ItemSpawnType
.
Addon
,
ItemSpawnType
.
GoldPotion
},
new
ItemQuality
[
4
]
{
ItemQuality
.
Superior
,
ItemQuality
.
Superior
,
ItemQuality
.
Ordinary
,
ItemQuality
.
None
},
new
int
[
4
]
{
1
,
1
,
1
,
1
}),
new
ItemSpawnInfo
(
16.5f
,
new
ItemSpawnType
[
1
]
{
ItemSpawnType
.
Item
},
new
ItemQuality
[
1
]
{
ItemQuality
.
Masterpiece
},
new
int
[
1
]
{
1
}),
new
ItemSpawnInfo
(
16.5f
,
new
ItemSpawnType
[
1
]
{
ItemSpawnType
.
Addon
},
new
ItemQuality
[
1
]
{
ItemQuality
.
Masterpiece
},
new
int
[
1
]
{
1
})
});
ItemRoomInGame
.
itemRoomInformation
[
3
]
=
new
RoomItemInfo
(
new
ItemSpawnInfo
[
2
]
{
new
ItemSpawnInfo
(
50
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
GoldPotion
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Masterpiece
,
ItemQuality
.
None
},
new
int
[
2
]
{
1
,
2
}),
new
ItemSpawnInfo
(
50
,
new
ItemSpawnType
[
2
]
{
ItemSpawnType
.
Addon
,
ItemSpawnType
.
GoldPotion
},
new
ItemQuality
[
2
]
{
ItemQuality
.
Masterpiece
,
ItemQuality
.
None
},
new
int
[
2
]
{
1
,
2
})
});
ItemRoomInGame
.
itemRoomInformation
[
4
]
=
new
RoomItemInfo
(
new
ItemSpawnInfo
[
2
]
{
new
ItemSpawnInfo
(
50
,
new
ItemSpawnType
[
3
]
{
ItemSpawnType
.
Item
,
ItemSpawnType
.
LifeStoneFrame
,
ItemSpawnType
.
LifeStone
},
new
ItemQuality
[
3
]
{
ItemQuality
.
Masterpiece
,
ItemQuality
.
None
,
ItemQuality
.
Gold
},
new
int
[
3
]
{
1
,
1
,
1
}),
new
ItemSpawnInfo
(
50
,
new
ItemSpawnType
[
3
]
{
ItemSpawnType
.
Addon
,
ItemSpawnType
.
LifeStoneFrame
,
ItemSpawnType
.
LifeStone
},
new
ItemQuality
[
3
]
{
ItemQuality
.
Masterpiece
,
ItemQuality
.
None
,
ItemQuality
.
Gold
},
new
int
[
3
]
{
1
,
1
,
1
})
});
for
(
int
i
=
0
;
i
<
tetrisYCoord
.
Length
;
i
++)
tetrisYCoord
[
i
]
=
i
*
tetrisMapSize
;
for
(
int
i
=
0
;
i
<
isRowDeleting
.
Length
;
i
++)
...
...
Assets/Scripts/TetrisMap/RoomInGame.cs
View file @
a933f47b
...
...
@@ -4,20 +4,38 @@ using UnityEngine;
public
class
ItemSpawnInfo
{
ItemType
itemType
;
int
amount
;
bool
isGold
;
public
ItemSpawnInfo
(
ItemType
_itemType
,
int
_amount
)
public
float
probability
;
public
ItemSpawnType
[]
itemType
;
public
ItemQuality
[]
itemQuality
;
public
int
[]
amount
;
public
ItemSpawnInfo
(
float
_probability
,
ItemSpawnType
[]
_itemType
,
ItemQuality
[]
_itemQuality
,
int
[]
_amount
)
{
itemType
=
_itemType
;
amount
=
_amount
;
isGold
=
false
;
probability
=
_probability
;
itemType
=
new
ItemSpawnType
[
4
];
itemQuality
=
new
ItemQuality
[
4
];
amount
=
new
int
[
4
];
for
(
int
i
=
0
;
i
<
_itemType
.
Length
;
i
++)
{
itemType
[
i
]
=
_itemType
[
i
];
itemQuality
[
i
]
=
_itemQuality
[
i
];
amount
[
i
]
=
_amount
[
i
];
}
}
}
public
class
RoomItemInfo
{
public
List
<
ItemSpawnInfo
>
itemSpawnInfo
=
new
List
<
ItemSpawnInfo
>();
public
RoomItemInfo
()
{
}
public
ItemSpawnInfo
(
ItemType
_itemType
,
int
_amount
,
bool
_isGold
)
public
RoomItemInfo
(
ItemSpawnInfo
[]
_itemSpawnInfo
)
{
itemType
=
_itemType
;
amount
=
_amount
;
isGold
=
_isGold
;
for
(
int
i
=
0
;
i
<
_itemSpawnInfo
.
Length
;
i
++)
{
itemSpawnInfo
.
Add
(
_itemSpawnInfo
[
i
]);
}
}
}
...
...
Assets/Scripts/TetrisMap/Rooms/ItemRoomInGame.cs
View file @
a933f47b
...
...
@@ -4,160 +4,79 @@ using UnityEngine;
public
class
ItemRoomInGame
:
RoomInGame
{
List
<
ItemSpawnInfo
>
itemSpawnInfo
=
new
List
<
ItemSpawnInfo
>();
public
static
RoomItemInfo
[]
itemRoomInformation
=
new
RoomItemInfo
[
5
];
public
void
SpawnItem
()
{
}
public
override
void
RoomEnter
()
{
base
.
RoomEnter
();
Room
room
=
transform
.
parent
.
GetComponent
<
Room
>();
InventoryManager
inventoryManager
=
InventoryManager
.
Instance
;
LifeStoneManager
lifeStoneManager
=
LifeStoneManager
.
Instance
;
int
probability
=
Random
.
Range
(
0
,
100
);
float
probability
=
Random
.
Range
(
0f
,
100f
);
Vector3
[]
itemPosition
=
new
Vector3
[
5
];
int
i
=
0
;
foreach
(
Transform
child
in
transform
.
Find
(
"item spot"
))
itemPosition
[
i
++]
=
child
.
transform
.
position
;
switch
(
room
.
itemRoomType
)
int
j
=
0
;
foreach
(
Transform
child
in
transform
.
Find
(
"item spot"
))
itemPosition
[
j
++]
=
child
.
transform
.
position
;
int
itemRoomType
=
room
.
itemRoomType
;
foreach
(
ItemSpawnInfo
child
in
itemRoomInformation
[
itemRoomType
-
1
].
itemSpawnInfo
)
{
case
1
:
if
(
probability
<
25
)
probability
-=
child
.
probability
;
if
(
probability
<=
0
)
{
if
(
probability
%
2
==
0
)
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
OrdinaryItem
,
1
));
else
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
OrdinaryAdd
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
GoldPotion
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
GoldPotion
,
1
));
}
else
if
(
25
<=
probability
&&
probability
<
50
)
int
itemCount
=
0
;
for
(
int
i
=
0
;
i
<
child
.
itemType
.
Length
;
i
++)
{
if
(
probability
%
2
==
0
)
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
OrdinaryItem
,
1
));
else
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
OrdinaryAdd
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
FourStone
,
1
,
true
));
}
else
if
(
50
<=
probability
&&
probability
<
67
)
{
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
OrdinaryItem
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
OrdinaryAdd
,
1
));
}
else
if
(
67
<=
probability
&&
probability
<
92
)
if
(
child
.
itemType
[
i
]
==
ItemSpawnType
.
Item
)
for
(
int
_amount
=
0
;
_amount
<
child
.
amount
[
i
];
_amount
++)
{
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
OrdinaryItem
,
1
)
);
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
StudyAdd
,
1
)
);
Debug
.
Log
(
"type"
+
child
.
itemType
[
i
]
+
" quality"
+
child
.
itemQuality
[
i
]
+
" amount"
+
child
.
amount
[
i
]
);
inventoryManager
.
ItemInstantiate
(
child
.
itemQuality
[
i
],
itemPosition
[
itemCount
++],
1
);
}
else
else
if
(
child
.
itemType
[
i
]
==
ItemSpawnType
.
Addon
)
for
(
int
_amount
=
0
;
_amount
<
child
.
amount
[
i
];
_amount
++)
{
if
(
probability
%
2
==
0
)
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
SuperiorItem
,
1
));
else
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
SuperiorAdd
,
1
));
Debug
.
Log
(
"type"
+
child
.
itemType
[
i
]
+
" quality"
+
child
.
itemQuality
[
i
]
+
" amount"
+
child
.
amount
[
i
]);
inventoryManager
.
AddonInstantiate
(
child
.
itemQuality
[
i
],
itemPosition
[
itemCount
++],
1
);
}
break
;
case
2
:
if
(
probability
%
5
==
0
)
else
if
(
child
.
itemType
[
i
]
==
ItemSpawnType
.
GoldPotion
)
for
(
int
_amount
=
0
;
_amount
<
child
.
amount
[
i
];
_amount
++)
{
if
(
probability
%
2
==
0
)
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
SuperiorItem
,
1
));
else
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
SuperiorAdd
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
GoldPotion
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
GoldPotion
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
GoldPotion
,
1
));
Debug
.
Log
(
"type"
+
child
.
itemType
[
i
]
+
" quality"
+
child
.
itemQuality
[
i
]
+
" amount"
+
child
.
amount
[
i
]);
lifeStoneManager
.
InstantiatePotion
(
itemPosition
[
itemCount
++],
1
);
}
else
if
(
probability
%
5
==
1
)
else
if
(
child
.
itemType
[
i
]
==
ItemSpawnType
.
LifeStone
)
{
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
SuperiorAdd
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
OrdinaryAdd
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
StudyAdd
,
1
));
}
else
if
(
probability
%
5
==
2
)
if
(
room
.
itemRoomType
<=
4
)
for
(
int
_amount
=
0
;
_amount
<
child
.
amount
[
i
];
_amount
++)
{
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
SuperiorItem
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
StudyAdd
,
1
));
itemSpawnInfo
.
Add
(
new
ItemSpawnInfo
(
ItemType
.
StudyAdd
,
1
));
}
else
if
(
probability
%
5
==
3
)
if
(
child
.
itemQuality
[
i
]
==
ItemQuality
.
Gold
)
{
inventoryManager
.
ItemInstantiate
(
ItemQuality
.
Superior
,
itemPosition
[
0
],
1
);
inventoryManager
.
AddonInstantiate
(
ItemQuality
.
Ordinary
,
itemPosition
[
1
],
1
);
lifeStoneManager
.
InstantiateDroppedLifeStone
(
3
,
0
,
0
,
itemPosition
[
2
],
1
);
Debug
.
Log
(
"type"
+
child
.
itemType
[
i
]
+
" quality"
+
child
.
itemQuality
[
i
]
+
" amount"
+
child
.
amount
[
i
]);
lifeStoneManager
.
InstantiateDroppedLifeStone
(
4
,
1
,
0
,
itemPosition
[
itemCount
++],
1
);
}
else
if
(
probability
%
5
==
4
)
{
if
(
probability
%
2
==
0
)
inventoryManager
.
ItemInstantiate
(
ItemQuality
.
Superior
,
itemPosition
[
0
],
1
);
else
inventoryManager
.
AddonInstantiate
(
ItemQuality
.
Superior
,
itemPosition
[
0
],
1
);
lifeStoneManager
.
InstantiateDroppedLifeStone
(
3
,
0
,
0
,
itemPosition
[
1
],
1
);
lifeStoneManager
.
InstantiateDroppedLifeStone
(
3
,
0
,
0
,
itemPosition
[
2
],
1
);
lifeStoneManager
.
InstantiateDroppedLifeStone
(
3
,
0
,
0
,
itemPosition
[
3
],
1
);
}
break
;
case
3
:
if
(
probability
<
67
)
{
if
(
probability
%
2
==
0
)
inventoryManager
.
ItemInstantiate
(
ItemQuality
.
Ordinary
,
itemPosition
[
0
],
1
);
else
inventoryManager
.
AddonInstantiate
(
ItemQuality
.
Ordinary
,
itemPosition
[
0
],
1
);
inventoryManager
.
ItemInstantiate
(
ItemQuality
.
Superior
,
itemPosition
[
1
],
1
);
inventoryManager
.
AddonInstantiate
(
ItemQuality
.
Superior
,
itemPosition
[
2
],
1
);
lifeStoneManager
.
InstantiatePotion
(
itemPosition
[
3
],
1
);
Debug
.
Log
(
"type"
+
child
.
itemType
[
i
]
+
" quality"
+
child
.
itemQuality
[
i
]
+
" amount"
+
child
.
amount
[
i
]);
lifeStoneManager
.
InstantiateDroppedLifeStone
(
3
,
0
,
0
,
itemPosition
[
itemCount
++],
1
);
}
}
else
{
if
(
probability
%
2
==
0
)
inventoryManager
.
ItemInstantiate
(
ItemQuality
.
Masterpiece
,
itemPosition
[
0
],
1
);
else
inventoryManager
.
AddonInstantiate
(
ItemQuality
.
Masterpiece
,
itemPosition
[
0
],
1
);
Debug
.
Log
(
"type"
+
child
.
itemType
[
i
]
+
" quality"
+
child
.
itemQuality
[
i
]
+
" amount"
+
child
.
amount
[
i
]);
lifeStoneManager
.
InstantiateDroppedLifeStone
(
3
*
room
.
itemRoomType
-
4
,
1
,
0
,
itemPosition
[
itemCount
++],
1
);
}
break
;
case
4
:
if
(
probability
%
2
==
0
)
inventoryManager
.
ItemInstantiate
(
ItemQuality
.
Masterpiece
,
itemPosition
[
0
],
1
);
else
inventoryManager
.
AddonInstantiate
(
ItemQuality
.
Masterpiece
,
itemPosition
[
0
],
1
);
lifeStoneManager
.
InstantiatePotion
(
itemPosition
[
1
],
1
);
lifeStoneManager
.
InstantiatePotion
(
itemPosition
[
2
],
1
);
break
;
default
:
if
(
probability
%
2
==
0
)
inventoryManager
.
ItemInstantiate
(
ItemQuality
.
Masterpiece
,
itemPosition
[
0
],
1
);
else
inventoryManager
.
AddonInstantiate
(
ItemQuality
.
Masterpiece
,
itemPosition
[
0
],
1
);
lifeStoneManager
.
InstantiateDroppedLifeStone
(
3
*
room
.
itemRoomType
-
4
,
0
,
0
,
itemPosition
[
1
],
1
);
}
else
if
(
child
.
itemType
[
i
]
==
ItemSpawnType
.
LifeStoneFrame
)
lifeStoneManager
.
ExpandRow
(
room
.
itemRoomType
-
4
);
break
;
}
return
;
}
}
}
public
override
void
RoomEnter
()
{
base
.
RoomEnter
();
SpawnItem
();
/*switch (room.itemRoomType)
{
...
...
Assets/Scripts/TetrisMap/Test.cs
View file @
a933f47b
...
...
@@ -27,6 +27,10 @@ public class Test : MonoBehaviour {
if
(
MapManager
.
currentStage
<
5
)
MapManager
.
currentStage
+=
1
;
}
public
void
Item
()
{
MapManager
.
Instance
.
UpgradeRoom
(
RoomType
.
Item
);
}
public
void
Gold
()
{
MapManager
.
Instance
.
UpgradeRoom
(
RoomType
.
Gold
);
...
...
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