Compare commits
124 Commits
SP3-2-Phys
...
main
Author | SHA1 | Date |
---|---|---|
Sri Sham Haran | 0f7d86543f | |
Glence | 8ffca03f16 | |
XiaoQiDigipen | 724f8ae2cf | |
maverickdgg | f495dfe4fd | |
Glence | e5c8f4c380 | |
Glence | f114a7f59a | |
XiaoQiDigipen | 273bdfcdcc | |
Glence | 9b55d69f9a | |
Glence | 716087d15c | |
Xiao Qi | 5c79bb7f9f | |
XiaoQiDigipen | f54448b5eb | |
Glence | 51f426868e | |
Glence | 51867f0c5e | |
Glence | 96fd8295aa | |
XiaoQiDigipen | a3c1993576 | |
maverickdgg | 483d8c7066 | |
maverickdgg | c643bd64f3 | |
maverickdgg | d5240b420d | |
Glence | cc9b7c20c4 | |
Glence | ce6288880a | |
Glence | b2e38df969 | |
XiaoQiDigipen | 0dad2e9e9f | |
XiaoQiDigipen | e9d0b01972 | |
Glence | f70a41a9dc | |
maverickdgg | 43c6a62186 | |
maverickdgg | 2e20b295b5 | |
Glence | 3e4794cebc | |
Glence | 191ed7de43 | |
XiaoQiDigipen | fada41174d | |
Glence | a76f2eca87 | |
Glence | 5ed0219a0b | |
XiaoQiDigipen | 1c6def8e70 | |
maverickdgg | 9d8b94a5ab | |
XiaoQiDigipen | 1838209ec2 | |
maverickdgg | c335f58702 | |
maverickdgg | af9e523da9 | |
maverickdgg | 6ee619d26e | |
maverickdgg | b123cd83f8 | |
maverickdgg | fdc261749e | |
XiaoQiDigipen | 125f88bcac | |
Brandon Mak | 83955e4618 | |
Brandon Mak | 4d145bbc43 | |
maverickdgg | c2a8c86483 | |
maverickdgg | 12bbce33e8 | |
XiaoQiDigipen | 3fc69890e4 | |
maverickdgg | 3fef57f88a | |
maverickdgg | 3f7522d76f | |
maverickdgg | c6faeeb282 | |
Brandon Mak | 9c19d178db | |
maverickdgg | 8c5bf82aa5 | |
XiaoQiDigipen | 5ab7cbe5f3 | |
Brandon Mak | 8aa5c681e3 | |
Kah Wei | 6cf20d414e | |
Glence | ffc638e14b | |
Glence | 2abb1ce697 | |
Sri Sham Haran | 0f9afc2a18 | |
Sri Sham Haran | 0890bd8d3f | |
Brandon Mak | fed76708bd | |
Glence | 2fd4e51cd0 | |
Glence | 2da73f12d0 | |
Sri Sham Haran | 44bbdf5f82 | |
Sri Sham Haran | c6172be3ad | |
Brandon Mak | e685f8ebaf | |
Glence | 92de505af4 | |
maverickdgg | cf41fe245e | |
XiaoQiDigipen | bc1167267c | |
maverickdgg | e7ec24c15a | |
maverickdgg | 89bfbf3100 | |
maverickdgg | 72bbc72531 | |
maverickdgg | 6c1f0162e9 | |
Glence | 270cab64e2 | |
maverickdgg | 2d9b7f3a5d | |
maverickdgg | 4a149508c9 | |
Glence | ce24a1efb0 | |
XiaoQiDigipen | 4f84736599 | |
maverickdgg | 75f38f4e36 | |
maverickdgg | 485d8cc38b | |
XiaoQiDigipen | 3affd446f3 | |
Xiao Qi | 47a78de609 | |
maverickdgg | 749cedfae2 | |
maverickdgg | c1544b0b51 | |
XiaoQiDigipen | cd04a93df9 | |
Glence | 429674c16e | |
Glence | 9b6a0d112e | |
maverickdgg | 291c9d044e | |
Xiao Qi | f21f235980 | |
XiaoQiDigipen | a40c59872c | |
Glence | 82fd4e2149 | |
Kah Wei | 52d27ae6bd | |
maverickdgg | 47f195e998 | |
maverickdgg | ab4493822a | |
XiaoQiDigipen | c28e874626 | |
Glence | 98d9683995 | |
Glence | 4f44435823 | |
Glence | 6ce807b878 | |
Glence | 33ba73c298 | |
Glence | ff6a49e0a7 | |
XiaoQiDigipen | 0b5f602a0e | |
maverickdgg | af77bd4812 | |
maverickdgg | 38d3040a04 | |
maverickdgg | 2382f11628 | |
maverickdgg | 86593fd602 | |
maverickdgg | 4f7d1850af | |
XiaoQiDigipen | 346f2b2fac | |
XiaoQiDigipen | 0892322049 | |
XiaoQiDigipen | 6d1b793831 | |
maverickdgg | 78d30cb051 | |
maverickdgg | b32dba0694 | |
maverickdgg | 9dd180c1e6 | |
maverickdgg | a785a972e4 | |
Glence | 01cbba1f1f | |
Glence | 64bbc4d67a | |
Glence | 5cd0de1960 | |
Glence | 6ddc5c35cb | |
maverickdgg | 267793e3cc | |
maverickdgg | 38d7e49976 | |
Brandon Mak | f4d361e1e9 | |
XiaoQiDigipen | 744e66eeb6 | |
Glence | 364da8ea85 | |
maverickdgg | 2724c58efb | |
Glence | 179740f4bf | |
Xiao Qi | 6527634839 | |
Xiao Qi | 85a92ce871 | |
maverickdgg | 07a702c972 |
|
@ -14,13 +14,13 @@ Type: 13
|
||||||
Name: Walk
|
Name: Walk
|
||||||
ID: 229189609
|
ID: 229189609
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Alerted by Racoon
|
Name: Alerted_by_Racoon
|
||||||
ID: 227890696
|
ID: 227890696
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Alerted Idle
|
Name: Alerted_Idle
|
||||||
ID: 234046577
|
ID: 234046577
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Alerted Run
|
Name: Alerted_Run
|
||||||
ID: 230172366
|
ID: 230172366
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Interact
|
Name: Interact
|
||||||
|
@ -47,21 +47,21 @@ Type: 13
|
||||||
Name: StunEndBack
|
Name: StunEndBack
|
||||||
ID: 226668516
|
ID: 226668516
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: React to Broken Stuff
|
Name: React_to_Broken_Stuff
|
||||||
ID: 228323560
|
ID: 228323560
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Pickup Item
|
Name: Pickup_Item
|
||||||
ID: 227002263
|
ID: 227002263
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Return Item
|
Name: Return_Item
|
||||||
ID: 222655168
|
ID: 222655168
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Attack Windup
|
Name: Attack_Windup
|
||||||
ID: 223078653
|
ID: 223078653
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Attack Hold
|
Name: Attack_Hold
|
||||||
ID: 228250554
|
ID: 228250554
|
||||||
Type: 13
|
Type: 13
|
||||||
Name: Attack Sequence
|
Name: Attack_Sequence
|
||||||
ID: 226129627
|
ID: 226129627
|
||||||
Type: 13
|
Type: 13
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,14 +1,14 @@
|
||||||
0 StaticObject 1100000000000000
|
0 StaticObject 1101000000000000
|
||||||
1 Player 1100000000000000
|
1 Furniture 1101000000000000
|
||||||
2 Food 1000000000000000
|
2 Food 1000000000000000
|
||||||
3 Breakable 1100000000000000
|
3 Breakable 1100000000000000
|
||||||
4 ScoringWallCollider 0110000000000000
|
4 ScoringWallCollider 0110000000000000
|
||||||
5 Homeowner 1100000000000000
|
5 Homeowner 1100000000000000
|
||||||
6 Camera 0010000000000000
|
6 Camera 0010000000000000
|
||||||
7 StaticWithCameraCollision 1110000000000000
|
7 StaticWithCameraCollision 1111000000000000
|
||||||
8 9 0000000000000000
|
8 Floor 1100000000000000
|
||||||
9 10 0000000000000000
|
9 Navigation 0001000000000000
|
||||||
10 11 0000000000000000
|
10 Player 1100000000000000
|
||||||
11 12 0000000000000000
|
11 12 0000000000000000
|
||||||
12 13 0000000000000000
|
12 13 0000000000000000
|
||||||
13 14 0000000000000000
|
13 14 0000000000000000
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
SubPass: UI
|
SubPass: UI
|
||||||
Properties:
|
Properties:
|
||||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
data.textureIndex: 51238312
|
data.textureIndex: 59076169
|
||||||
data.alpha: 1
|
data.alpha: 1
|
||||||
data.beta: {x: 1, y: 1, z: 1}
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -3,6 +3,6 @@
|
||||||
SubPass: UI
|
SubPass: UI
|
||||||
Properties:
|
Properties:
|
||||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
data.textureIndex: 61471971
|
data.textureIndex: 66572525
|
||||||
data.alpha: 1
|
data.alpha: 1
|
||||||
data.beta: {x: 1, y: 1, z: 1}
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -3,6 +3,6 @@
|
||||||
SubPass: UI
|
SubPass: UI
|
||||||
Properties:
|
Properties:
|
||||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
data.textureIndex: 58217538
|
data.textureIndex: 66182834
|
||||||
data.alpha: 1
|
data.alpha: 1
|
||||||
data.beta: {x: 1, y: 1, z: 1}
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -3,6 +3,6 @@
|
||||||
SubPass: UI
|
SubPass: UI
|
||||||
Properties:
|
Properties:
|
||||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
data.textureIndex: 61980534
|
data.textureIndex: 58009216
|
||||||
data.alpha: 1
|
data.alpha: 1
|
||||||
data.beta: {x: 1, y: 1, z: 1}
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -3,6 +3,6 @@
|
||||||
SubPass: UI
|
SubPass: UI
|
||||||
Properties:
|
Properties:
|
||||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
data.textureIndex: 51561286
|
data.textureIndex: 55022275
|
||||||
data.alpha: 1
|
data.alpha: 1
|
||||||
data.beta: {x: 1, y: 1, z: 1}
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -3,6 +3,6 @@
|
||||||
SubPass: UI
|
SubPass: UI
|
||||||
Properties:
|
Properties:
|
||||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
data.textureIndex: 59379300
|
data.textureIndex: 55278388
|
||||||
data.alpha: 1
|
data.alpha: 1
|
||||||
data.beta: {x: 1, y: 1, z: 1}
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,8 @@
|
||||||
|
- VertexShader: 46580970
|
||||||
|
FragmentShader: 35983630
|
||||||
|
SubPass: UI
|
||||||
|
Properties:
|
||||||
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
|
data.textureIndex: 64816540
|
||||||
|
data.alpha: 1
|
||||||
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: UIMat_SliderBG
|
||||||
|
ID: 117587364
|
||||||
|
Type: 7
|
|
@ -0,0 +1,11 @@
|
||||||
|
- VertexShader: 46580970
|
||||||
|
FragmentShader: 43211183
|
||||||
|
SubPass: UI
|
||||||
|
Properties:
|
||||||
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
|
data.textureIndex: 50370514
|
||||||
|
data.alpha: 1
|
||||||
|
data.beta: {x: 1, y: 1, z: 1}
|
||||||
|
data.sliderThreshold: 1
|
||||||
|
data.sliderStartColor: {x: 0.36500001, y: 0.783999979, z: 0.878000021, w: 1}
|
||||||
|
data.sliderBarColor: {x: 1, y: 1, z: 1, w: 1}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: UIMat_Slider_BGM
|
||||||
|
ID: 129354037
|
||||||
|
Type: 7
|
|
@ -0,0 +1,11 @@
|
||||||
|
- VertexShader: 46580970
|
||||||
|
FragmentShader: 43211183
|
||||||
|
SubPass: UI
|
||||||
|
Properties:
|
||||||
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
|
data.textureIndex: 50370514
|
||||||
|
data.alpha: 1
|
||||||
|
data.beta: {x: 1, y: 1, z: 1}
|
||||||
|
data.sliderThreshold: 1
|
||||||
|
data.sliderStartColor: {x: 0.624000013, y: 0.211999997, z: 0.949000001, w: 1}
|
||||||
|
data.sliderBarColor: {x: 1, y: 1, z: 1, w: 1}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: UIMat_Slider_FOV
|
||||||
|
ID: 117651669
|
||||||
|
Type: 7
|
|
@ -0,0 +1,11 @@
|
||||||
|
- VertexShader: 46580970
|
||||||
|
FragmentShader: 43211183
|
||||||
|
SubPass: UI
|
||||||
|
Properties:
|
||||||
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
|
data.textureIndex: 50370514
|
||||||
|
data.alpha: 1
|
||||||
|
data.beta: {x: 1, y: 1, z: 1}
|
||||||
|
data.sliderThreshold: 1
|
||||||
|
data.sliderStartColor: {x: 0.949000001, y: 0.689999998, z: 0.211999997, w: 1}
|
||||||
|
data.sliderBarColor: {x: 1, y: 1, z: 1, w: 1}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: UIMat_Slider_SFX
|
||||||
|
ID: 122820018
|
||||||
|
Type: 7
|
|
@ -3,7 +3,9 @@
|
||||||
SubPass: UI
|
SubPass: UI
|
||||||
Properties:
|
Properties:
|
||||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
data.textureIndex: 51995224
|
data.textureIndex: 50370514
|
||||||
data.alpha: 1
|
data.alpha: 1
|
||||||
data.beta: {x: 1, y: 1, z: 1}
|
data.beta: {x: 1, y: 1, z: 1}
|
||||||
data.sliderThreshold: 1
|
data.sliderThreshold: 1
|
||||||
|
data.sliderStartColor: {x: 0.254901886, y: 0.321500003, z: 0.909799993, w: 1}
|
||||||
|
data.sliderBarColor: {x: 1, y: 1, z: 1, w: 1}
|
|
@ -0,0 +1,8 @@
|
||||||
|
- VertexShader: 46580970
|
||||||
|
FragmentShader: 40208610
|
||||||
|
SubPass: UI
|
||||||
|
Properties:
|
||||||
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
|
data.textureIndex: 50770098
|
||||||
|
data.alpha: 1
|
||||||
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: UIMat_Transistion
|
||||||
|
ID: 132131066
|
||||||
|
Type: 7
|
|
@ -0,0 +1,8 @@
|
||||||
|
- VertexShader: 46580970
|
||||||
|
FragmentShader: 35983630
|
||||||
|
SubPass: UI
|
||||||
|
Properties:
|
||||||
|
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
|
data.textureIndex: 55490391
|
||||||
|
data.alpha: 1
|
||||||
|
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: UI_Result
|
||||||
|
ID: 130179375
|
||||||
|
Type: 7
|
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -0,0 +1,7 @@
|
||||||
|
Name: MD_CeilingFan
|
||||||
|
ID: 73062062
|
||||||
|
Type: 4
|
||||||
|
Sub Assets:
|
||||||
|
Name: Sphere.005
|
||||||
|
ID: 135521751
|
||||||
|
Type: 8
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
Name: Level1_NavData
|
||||||
|
ID: 257298636
|
||||||
|
Type: 15
|
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
Name: Level2_AITest_NavData
|
||||||
|
ID: 254149790
|
||||||
|
Type: 15
|
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
Name: Level2_NavData
|
||||||
|
ID: 260674210
|
||||||
|
Type: 15
|
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
Name: Level3_NavData
|
||||||
|
ID: 252819653
|
||||||
|
Type: 15
|
|
@ -0,0 +1,174 @@
|
||||||
|
- NavData: 0
|
||||||
|
- EID: 0
|
||||||
|
Name: Camera
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Camera Component:
|
||||||
|
Position: {x: 0, y: 0, z: 0}
|
||||||
|
Pitch: 0
|
||||||
|
Yaw: 0
|
||||||
|
Roll: 0
|
||||||
|
Width: 1920
|
||||||
|
Near: 0.00999999978
|
||||||
|
Far: 10000
|
||||||
|
Perspective: true
|
||||||
|
FOV: 90
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 46
|
||||||
|
Name: Credits Canvas
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 3
|
||||||
|
Components:
|
||||||
|
Canvas Component:
|
||||||
|
Canvas Width: 1920
|
||||||
|
Canvas Height: 1080
|
||||||
|
Scale by canvas width: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 47
|
||||||
|
Name: Scrolling Credits
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: -3800, z: 1.5}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 1920, y: 8026, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 120332672
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 46
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts:
|
||||||
|
- Type: SHADE_Scripting.UI.ScrollingCredits
|
||||||
|
Enabled: true
|
||||||
|
endY: 4300
|
||||||
|
duration: 27
|
||||||
|
levelTransition: 619
|
||||||
|
- Type: SHADE_Scripting.UI.TransitToMainMenu
|
||||||
|
Enabled: true
|
||||||
|
timeToTransit: 27
|
||||||
|
sceneToChange: 97158628
|
||||||
|
- EID: 49
|
||||||
|
Name: Credits Title Text
|
||||||
|
IsActive: false
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: -150, y: 400, z: 0.100000001}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 100, y: 100, z: 1}
|
||||||
|
IsActive: false
|
||||||
|
Text Renderer Component:
|
||||||
|
Text: Credits
|
||||||
|
Font: 174412429
|
||||||
|
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
Text Size: {x: 1, y: 1, z: 1}
|
||||||
|
IsActive: false
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 46
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: false
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 55
|
||||||
|
Name: BackGround
|
||||||
|
IsActive: false
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 1.5}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 1920, y: 1080, z: 1}
|
||||||
|
IsActive: false
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 121834459
|
||||||
|
IsActive: false
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 46
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: false
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 54
|
||||||
|
Name: TweenManager
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components: ~
|
||||||
|
Scripts:
|
||||||
|
- Type: TweenManager
|
||||||
|
Enabled: true
|
||||||
|
- EID: 619
|
||||||
|
Name: LevelTransistionCanvas
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 2
|
||||||
|
Components:
|
||||||
|
Canvas Component:
|
||||||
|
Canvas Width: 1920
|
||||||
|
Canvas Height: 1080
|
||||||
|
Scale by canvas width: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts:
|
||||||
|
- Type: LevelTransistion
|
||||||
|
Enabled: true
|
||||||
|
logo: 618
|
||||||
|
bg: 617
|
||||||
|
duration: 0.5
|
||||||
|
bgEndPositionX: 3000
|
||||||
|
logoEndPositionX: 3000
|
||||||
|
rotAndScale: false
|
||||||
|
rotationAmt: 360
|
||||||
|
scaleAmt: 631
|
||||||
|
- EID: 618
|
||||||
|
Name: LevelTransistionLogo
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 631, y: 631, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 126117259
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 619
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 617
|
||||||
|
Name: LevelTransistionBG
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.200000003}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 4000, y: 4000, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 132131066
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 619
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: CreditsScene
|
||||||
|
ID: 97376761
|
||||||
|
Type: 5
|
|
@ -1,3 +1,4 @@
|
||||||
|
- NavData: 0
|
||||||
- EID: 1
|
- EID: 1
|
||||||
Name: Canvas4
|
Name: Canvas4
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -152,7 +153,7 @@
|
||||||
Scripts:
|
Scripts:
|
||||||
- Type: CutsceneEnd
|
- Type: CutsceneEnd
|
||||||
Enabled: true
|
Enabled: true
|
||||||
nextScene: 92009475
|
nextScene: 97376761
|
||||||
duration: 1
|
duration: 1
|
||||||
skipDuration: 0.100000001
|
skipDuration: 0.100000001
|
||||||
cutscene4Points: 4
|
cutscene4Points: 4
|
||||||
|
@ -161,6 +162,7 @@
|
||||||
cutscene5Pics: 15
|
cutscene5Pics: 15
|
||||||
canvas4: 1
|
canvas4: 1
|
||||||
canvas5: 14
|
canvas5: 14
|
||||||
|
levelTransition: 619
|
||||||
- EID: 4
|
- EID: 4
|
||||||
Name: CutScene4Points
|
Name: CutScene4Points
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -288,7 +290,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 250, y: -500, z: 0.100000001}
|
Translate: {x: 250, y: -500, z: 0.300000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 50, y: 50, z: 50}
|
Scale: {x: 50, y: 50, z: 50}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -332,3 +334,72 @@
|
||||||
Scale: {x: 1, y: 1, z: 1}
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
|
- EID: 619
|
||||||
|
Name: LevelTransistionCanvas
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 2
|
||||||
|
Components:
|
||||||
|
Canvas Component:
|
||||||
|
Canvas Width: 1920
|
||||||
|
Canvas Height: 1080
|
||||||
|
Scale by canvas width: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts:
|
||||||
|
- Type: LevelTransistion
|
||||||
|
Enabled: true
|
||||||
|
logo: 618
|
||||||
|
bg: 617
|
||||||
|
duration: 0.5
|
||||||
|
bgEndPositionX: 3000
|
||||||
|
logoEndPositionX: 3000
|
||||||
|
rotAndScale: false
|
||||||
|
rotationAmt: 360
|
||||||
|
scaleAmt: 631
|
||||||
|
- EID: 618
|
||||||
|
Name: LevelTransistionLogo
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 631, y: 631, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 126117259
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 619
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 617
|
||||||
|
Name: LevelTransistionBG
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.200000003}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 4000, y: 4000, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 132131066
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 619
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 616
|
||||||
|
Name: TweenManager
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components: ~
|
||||||
|
Scripts:
|
||||||
|
- Type: TweenManager
|
||||||
|
Enabled: true
|
|
@ -1,3 +1,4 @@
|
||||||
|
- NavData: 0
|
||||||
- EID: 1
|
- EID: 1
|
||||||
Name: Canvas1
|
Name: Canvas1
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -164,6 +165,7 @@
|
||||||
canvas1: 1
|
canvas1: 1
|
||||||
canvas2: 13
|
canvas2: 13
|
||||||
canvas3: 24
|
canvas3: 24
|
||||||
|
levelTransition: 619
|
||||||
- EID: 4
|
- EID: 4
|
||||||
Name: CutScene1Points
|
Name: CutScene1Points
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -177,7 +179,7 @@
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -550, y: 0, z: 0.5}
|
Translate: {x: -550, y: 0, z: 0.5}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 500.5, y: -274.5, z: 0.600000024}
|
||||||
Scale: {x: 1, y: 1, z: 1}
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
|
@ -394,7 +396,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -1375, y: 250, z: 0.5}
|
Translate: {x: -1375, y: 250, z: 0.899999976}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 982, y: 527, z: 1}
|
Scale: {x: 982, y: 527, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -414,7 +416,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 200, y: 1200, z: 0.400000006}
|
Translate: {x: 200, y: 1200, z: 0.800000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 625, y: 579, z: 1}
|
Scale: {x: 625, y: 579, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -434,7 +436,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 1700, y: 200, z: 0.300000012}
|
Translate: {x: 1700, y: 200, z: 0.699999988}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 529, y: 670, z: 1}
|
Scale: {x: 529, y: 670, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -454,7 +456,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -1600, y: -200, z: 0.5}
|
Translate: {x: -1600, y: -200, z: 0.899999976}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1299, y: 575, z: 1}
|
Scale: {x: 1299, y: 575, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -474,7 +476,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 500, y: -1275, z: 0.5}
|
Translate: {x: 500, y: -1275, z: 0.899999976}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 866, y: 483, z: 1}
|
Scale: {x: 866, y: 483, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -494,7 +496,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: 0, z: 0.699999988}
|
Translate: {x: 0, y: 0, z: 0.99000001}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1920, y: 1080, z: 1}
|
Scale: {x: 1920, y: 1080, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -514,7 +516,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 250, y: -500, z: 0.100000001}
|
Translate: {x: 250, y: -500, z: 0.400000006}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 50, y: 50, z: 50}
|
Scale: {x: 50, y: 50, z: 50}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -542,7 +544,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -375, y: 250, z: 0.5}
|
Translate: {x: -375, y: 250, z: 0.899999976}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1, y: 1, z: 1}
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -553,7 +555,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 200, y: 200, z: 0.400000006}
|
Translate: {x: 200, y: 200, z: 0.800000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1, y: 1, z: 1}
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -564,7 +566,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 700, y: 200, z: 0.300000012}
|
Translate: {x: 700, y: 200, z: 0.699999988}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1, y: 1, z: 1}
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -575,7 +577,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -225, y: -200, z: 0.200000003}
|
Translate: {x: -225, y: -200, z: 0.600000024}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1, y: 1, z: 1}
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -586,8 +588,77 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 500, y: -275, z: 0.100000001}
|
Translate: {x: 500, y: -275, z: 0.5}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1, y: 1, z: 1}
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
|
- EID: 619
|
||||||
|
Name: LevelTransistionCanvas
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 2
|
||||||
|
Components:
|
||||||
|
Canvas Component:
|
||||||
|
Canvas Width: 1920
|
||||||
|
Canvas Height: 1080
|
||||||
|
Scale by canvas width: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts:
|
||||||
|
- Type: LevelTransistion
|
||||||
|
Enabled: true
|
||||||
|
logo: 618
|
||||||
|
bg: 617
|
||||||
|
duration: 0.5
|
||||||
|
bgEndPositionX: 3000
|
||||||
|
logoEndPositionX: 3000
|
||||||
|
rotAndScale: false
|
||||||
|
rotationAmt: 360
|
||||||
|
scaleAmt: 631
|
||||||
|
- EID: 618
|
||||||
|
Name: LevelTransistionLogo
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 631, y: 631, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 126117259
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 619
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 617
|
||||||
|
Name: LevelTransistionBG
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.200000003}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 4000, y: 4000, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 132131066
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 619
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 616
|
||||||
|
Name: TweenManager
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components: ~
|
||||||
|
Scripts:
|
||||||
|
- Type: TweenManager
|
||||||
|
Enabled: true
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
||||||
|
Name: Level2_AITest
|
||||||
|
ID: 86300248
|
||||||
|
Type: 5
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
||||||
|
- NavData: 0
|
||||||
- EID: 0
|
- EID: 0
|
||||||
Name: Main Menu Canvas
|
Name: Main Menu Canvas
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -37,7 +38,7 @@
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: 100, z: 0.300000012}
|
Translate: {x: 0, y: 100, z: 0.300000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 600, y: 600, z: 1.18585491}
|
Scale: {x: 631.577454, y: 631.577454, z: 1.24826539}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
|
@ -54,6 +55,7 @@
|
||||||
minScale: 1
|
minScale: 1
|
||||||
maxScale: 1.20000005
|
maxScale: 1.20000005
|
||||||
duration: 1.5
|
duration: 1.5
|
||||||
|
isActive: true
|
||||||
- EID: 54
|
- EID: 54
|
||||||
Name: Main Menu Button Group
|
Name: Main Menu Button Group
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -257,7 +259,7 @@
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 450, y: 0, z: 0.400000006}
|
Translate: {x: 450, y: 0, z: 0.400000006}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 400, y: 100, z: 1}
|
Scale: {x: 389.627228, y: 97.4068069, z: 0.974068105}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
|
@ -530,7 +532,6 @@
|
||||||
Scripts:
|
Scripts:
|
||||||
- Type: SHADE_Scripting.UI.FadeInOnActive
|
- Type: SHADE_Scripting.UI.FadeInOnActive
|
||||||
Enabled: true
|
Enabled: true
|
||||||
alpha: 0
|
|
||||||
- EID: 19
|
- EID: 19
|
||||||
Name: Options Canvas
|
Name: Options Canvas
|
||||||
IsActive: false
|
IsActive: false
|
||||||
|
@ -541,7 +542,13 @@
|
||||||
Canvas Height: 1080
|
Canvas Height: 1080
|
||||||
Scale by canvas width: false
|
Scale by canvas width: false
|
||||||
IsActive: false
|
IsActive: false
|
||||||
Scripts: ~
|
Scripts:
|
||||||
|
- Type: SHADE_Scripting.UI.Options
|
||||||
|
Enabled: true
|
||||||
|
masterVolSlider: 29
|
||||||
|
sfxVolSlider: 30
|
||||||
|
bgmVolSlider: 31
|
||||||
|
fovSlider: 37
|
||||||
- EID: 20
|
- EID: 20
|
||||||
Name: BackGround
|
Name: BackGround
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -743,16 +750,16 @@
|
||||||
- EID: 29
|
- EID: 29
|
||||||
Name: Master Volume Slider
|
Name: Master Volume Slider
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 1
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: 0, z: 0}
|
Translate: {x: 0, y: 0, z: 0}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1000, y: 75, z: 1}
|
Scale: {x: 1004, y: 46, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 128676209
|
Material: 127128823
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Slider Component:
|
Slider Component:
|
||||||
Slider Value: 1
|
Slider Value: 1
|
||||||
|
@ -764,20 +771,44 @@
|
||||||
Hovered: false
|
Hovered: false
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
Scripts:
|
||||||
|
- Type: SHADE_Scripting.UI.SliderFX
|
||||||
|
Enabled: true
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
- EID: 437
|
||||||
|
Name: Slider BG
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 1.01992035, y: 1.39130437, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 117587364
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 19
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
- EID: 30
|
- EID: 30
|
||||||
Name: SFX Volume Slider
|
Name: SFX Volume Slider
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 1
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: -100, z: 0}
|
Translate: {x: 0, y: -100, z: 0}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1000, y: 75, z: 1}
|
Scale: {x: 1004, y: 46, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 128676209
|
Material: 122820018
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Slider Component:
|
Slider Component:
|
||||||
Slider Value: 1
|
Slider Value: 1
|
||||||
|
@ -789,20 +820,44 @@
|
||||||
Hovered: false
|
Hovered: false
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts:
|
||||||
- EID: 31
|
- Type: SHADE_Scripting.UI.SliderFX
|
||||||
Name: BGM Volume Slider
|
Enabled: true
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
- EID: 436
|
||||||
|
Name: Slider BG
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: -200, z: 0}
|
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1000, y: 75, z: 1}
|
Scale: {x: 1.01992035, y: 1.39130437, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 128676209
|
Material: 117587364
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 19
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 31
|
||||||
|
Name: BGM Volume Slider
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 1
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: -200, z: 0}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 1004, y: 46, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 129354037
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Slider Component:
|
Slider Component:
|
||||||
Slider Value: 1
|
Slider Value: 1
|
||||||
|
@ -814,6 +869,30 @@
|
||||||
Hovered: false
|
Hovered: false
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
Scripts:
|
||||||
|
- Type: SHADE_Scripting.UI.SliderFX
|
||||||
|
Enabled: true
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
- EID: 435
|
||||||
|
Name: Slider BG
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 1.01992035, y: 1.39130437, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 117587364
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 19
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
- EID: 32
|
- EID: 32
|
||||||
Name: Camera Title Text
|
Name: Camera Title Text
|
||||||
|
@ -840,7 +919,7 @@
|
||||||
- EID: 33
|
- EID: 33
|
||||||
Name: Camera Text Group
|
Name: Camera Text Group
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 4
|
NumberOfChildren: 3
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -900, y: -220, z: 0}
|
Translate: {x: -900, y: -220, z: 0}
|
||||||
|
@ -875,76 +954,54 @@
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
- EID: 35
|
|
||||||
Name: Sensitivity Text
|
|
||||||
IsActive: true
|
|
||||||
NumberOfChildren: 0
|
|
||||||
Components:
|
|
||||||
Transform Component:
|
|
||||||
Translate: {x: 0, y: -100, z: 0.100000001}
|
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
|
||||||
Scale: {x: 75, y: 75, z: 1}
|
|
||||||
IsActive: true
|
|
||||||
Text Renderer Component:
|
|
||||||
Text: Sensitivity
|
|
||||||
Font: 174412429
|
|
||||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
Text Size: {x: 1, y: 1, z: 1}
|
|
||||||
IsActive: true
|
|
||||||
UI Component:
|
|
||||||
Canvas ID: 19
|
|
||||||
Hovered: false
|
|
||||||
Clicked: false
|
|
||||||
IsActive: true
|
|
||||||
Scripts: ~
|
|
||||||
- EID: 449
|
- EID: 449
|
||||||
Name: Camera Invert X Text
|
Name: Camera Invert X Text
|
||||||
IsActive: false
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: -200, z: 0.100000001}
|
Translate: {x: 0, y: -200, z: 0.100000001}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 75, y: 75, z: 1}
|
Scale: {x: 75, y: 75, z: 1}
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Text Renderer Component:
|
Text Renderer Component:
|
||||||
Text: "Camera Invert X:"
|
Text: "Camera Invert X:"
|
||||||
Font: 174412429
|
Font: 174412429
|
||||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||||
Text Size: {x: 1, y: 1, z: 1}
|
Text Size: {x: 1, y: 1, z: 1}
|
||||||
IsActive: false
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 19
|
Canvas ID: 19
|
||||||
Hovered: false
|
Hovered: false
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
- EID: 447
|
- EID: 447
|
||||||
Name: Camera Invert Y Text
|
Name: Camera Invert Y Text
|
||||||
IsActive: false
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 800, y: -200, z: 0.100000001}
|
Translate: {x: 800, y: -200, z: 0.100000001}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 75, y: 75, z: 1}
|
Scale: {x: 75, y: 75, z: 1}
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Text Renderer Component:
|
Text Renderer Component:
|
||||||
Text: "Y:"
|
Text: "Y:"
|
||||||
Font: 174412429
|
Font: 174412429
|
||||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||||
Text Size: {x: 1, y: 1, z: 1}
|
Text Size: {x: 1, y: 1, z: 1}
|
||||||
IsActive: false
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 19
|
Canvas ID: 19
|
||||||
Hovered: false
|
Hovered: false
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
- EID: 36
|
- EID: 36
|
||||||
Name: Camera Slider Group
|
Name: Camera Slider Group
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 4
|
NumberOfChildren: 3
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 100, y: -200, z: 0}
|
Translate: {x: 100, y: -200, z: 0}
|
||||||
|
@ -960,19 +1017,19 @@
|
||||||
- EID: 37
|
- EID: 37
|
||||||
Name: FOV Slider
|
Name: FOV Slider
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 1
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: 0, z: 0}
|
Translate: {x: 0, y: 0, z: 0}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1000, y: 75, z: 1}
|
Scale: {x: 1004, y: 46, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 128676209
|
Material: 117651669
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Slider Component:
|
Slider Component:
|
||||||
Slider Value: 1
|
Slider Value: 0.889483869
|
||||||
Min Value: 30
|
Min Value: 30
|
||||||
Max Value: 120
|
Max Value: 120
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -981,25 +1038,24 @@
|
||||||
Hovered: false
|
Hovered: false
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts:
|
||||||
- EID: 38
|
- Type: SHADE_Scripting.UI.SliderFX
|
||||||
Name: Sensitivity Slider
|
Enabled: true
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
- EID: 434
|
||||||
|
Name: Slider BG
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: -100, z: 0}
|
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 1000, y: 75, z: 1}
|
Scale: {x: 1.01992035, y: 1.39130437, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 128676209
|
Material: 117587364
|
||||||
IsActive: true
|
|
||||||
Slider Component:
|
|
||||||
Slider Value: 1
|
|
||||||
Min Value: 0
|
|
||||||
Max Value: 100
|
|
||||||
IsActive: true
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 19
|
Canvas ID: 19
|
||||||
|
@ -1009,54 +1065,78 @@
|
||||||
Scripts: ~
|
Scripts: ~
|
||||||
- EID: 448
|
- EID: 448
|
||||||
Name: Invert X Toggle Button
|
Name: Invert X Toggle Button
|
||||||
IsActive: false
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -300, y: -200, z: 0}
|
Translate: {x: -300, y: -200, z: 0}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 75, y: 75, z: 1}
|
Scale: {x: 150, y: 150, z: 1}
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 129340704
|
Material: 129340704
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Toggle Button Component:
|
Toggle Button Component:
|
||||||
Non Toggled Texture: 55358401
|
Non Toggled Texture: 50439604
|
||||||
Toggled Texture: 52333376
|
Toggled Texture: 64389107
|
||||||
Value: false
|
Value: false
|
||||||
IsActive: false
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 19
|
Canvas ID: 19
|
||||||
Hovered: false
|
Hovered: false
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts:
|
||||||
|
- Type: InverseCamera
|
||||||
|
Enabled: true
|
||||||
|
inverseX: true
|
||||||
|
inverseY: false
|
||||||
|
- Type: SHADE_Scripting.UI.ButtonFX
|
||||||
|
Enabled: true
|
||||||
|
onHoverEnterSound: event:/UI/botton_hover
|
||||||
|
onHoverExitSound: Empty
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
hoverScale: 1.25
|
||||||
|
clickScale: 0.899999976
|
||||||
- EID: 445
|
- EID: 445
|
||||||
Name: Invert Y Toggle Button
|
Name: Invert Y Toggle Button
|
||||||
IsActive: false
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -50, y: -200, z: 0}
|
Translate: {x: -50, y: -200, z: 0}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 75, y: 75, z: 1}
|
Scale: {x: 150, y: 150, z: 1}
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 129340704
|
Material: 129340704
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Toggle Button Component:
|
Toggle Button Component:
|
||||||
Non Toggled Texture: 55358401
|
Non Toggled Texture: 50439604
|
||||||
Toggled Texture: 52333376
|
Toggled Texture: 64389107
|
||||||
Value: false
|
Value: false
|
||||||
IsActive: false
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 19
|
Canvas ID: 19
|
||||||
Hovered: false
|
Hovered: false
|
||||||
Clicked: false
|
Clicked: false
|
||||||
IsActive: false
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts:
|
||||||
|
- Type: InverseCamera
|
||||||
|
Enabled: true
|
||||||
|
inverseX: false
|
||||||
|
inverseY: true
|
||||||
|
- Type: SHADE_Scripting.UI.ButtonFX
|
||||||
|
Enabled: true
|
||||||
|
onHoverEnterSound: event:/UI/botton_hover
|
||||||
|
onHoverExitSound: Empty
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
hoverScale: 1.25
|
||||||
|
clickScale: 0.899999976
|
||||||
- EID: 39
|
- EID: 39
|
||||||
Name: Audio Slider Text Group
|
Name: Audio Slider Text Group
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -1151,7 +1231,7 @@
|
||||||
- EID: 43
|
- EID: 43
|
||||||
Name: Camera Slider Text Group
|
Name: Camera Slider Text Group
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 2
|
NumberOfChildren: 1
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 700, y: -225, z: -0.5}
|
Translate: {x: 700, y: -225, z: -0.5}
|
||||||
|
@ -1175,7 +1255,7 @@
|
||||||
Scale: {x: 75, y: 75, z: 1}
|
Scale: {x: 75, y: 75, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Text Renderer Component:
|
Text Renderer Component:
|
||||||
Text: 100
|
Text: 60
|
||||||
Font: 174412429
|
Font: 174412429
|
||||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||||
Text Size: {x: 1, y: 1, z: 1}
|
Text Size: {x: 1, y: 1, z: 1}
|
||||||
|
@ -1189,31 +1269,6 @@
|
||||||
- Type: SHADE_Scripting.UI.SliderText
|
- Type: SHADE_Scripting.UI.SliderText
|
||||||
Enabled: true
|
Enabled: true
|
||||||
sliderObj: 37
|
sliderObj: 37
|
||||||
- EID: 45
|
|
||||||
Name: Sensitivity Slider Text
|
|
||||||
IsActive: true
|
|
||||||
NumberOfChildren: 0
|
|
||||||
Components:
|
|
||||||
Transform Component:
|
|
||||||
Translate: {x: 0, y: -100, z: 1}
|
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
|
||||||
Scale: {x: 75, y: 75, z: 1}
|
|
||||||
IsActive: true
|
|
||||||
Text Renderer Component:
|
|
||||||
Text: 100
|
|
||||||
Font: 174412429
|
|
||||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
Text Size: {x: 1, y: 1, z: 1}
|
|
||||||
IsActive: true
|
|
||||||
UI Component:
|
|
||||||
Canvas ID: 19
|
|
||||||
Hovered: false
|
|
||||||
Clicked: false
|
|
||||||
IsActive: true
|
|
||||||
Scripts:
|
|
||||||
- Type: SHADE_Scripting.UI.SliderText
|
|
||||||
Enabled: true
|
|
||||||
sliderObj: 38
|
|
||||||
- EID: 443
|
- EID: 443
|
||||||
Name: SubMenuBackGround
|
Name: SubMenuBackGround
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -1236,7 +1291,6 @@
|
||||||
Scripts:
|
Scripts:
|
||||||
- Type: SHADE_Scripting.UI.FadeInOnActive
|
- Type: SHADE_Scripting.UI.FadeInOnActive
|
||||||
Enabled: true
|
Enabled: true
|
||||||
alpha: 0
|
|
||||||
- EID: 46
|
- EID: 46
|
||||||
Name: Credits Canvas
|
Name: Credits Canvas
|
||||||
IsActive: false
|
IsActive: false
|
||||||
|
@ -1387,7 +1441,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -800, y: 450, z: 0}
|
Translate: {x: -800, y: 450, z: 0.300000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 273, y: 100, z: 1}
|
Scale: {x: 273, y: 100, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -1423,7 +1477,7 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -150, y: 400, z: 0.100000001}
|
Translate: {x: -250, y: 400, z: 0.300000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 100, y: 100, z: 1}
|
Scale: {x: 100, y: 100, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -1461,7 +1515,6 @@
|
||||||
Scripts:
|
Scripts:
|
||||||
- Type: SHADE_Scripting.UI.FadeInOnActive
|
- Type: SHADE_Scripting.UI.FadeInOnActive
|
||||||
Enabled: true
|
Enabled: true
|
||||||
alpha: 0
|
|
||||||
- EID: 441
|
- EID: 441
|
||||||
Name: Level Select Buttons
|
Name: Level Select Buttons
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -1484,18 +1537,18 @@
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: -600, y: 0, z: 0}
|
Translate: {x: -600, y: 0, z: 0.300000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 380, y: 879, z: 1}
|
Scale: {x: 345, y: 800, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 129340704
|
Material: 129340704
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Button Component:
|
Button Component:
|
||||||
Default Texture: 52916516
|
Default Texture: 55897117
|
||||||
Hovered Texture: 52916516
|
Hovered Texture: 56658801
|
||||||
Clicked Texture: 52916516
|
Clicked Texture: 58281309
|
||||||
IsActive: true
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 50
|
Canvas ID: 50
|
||||||
|
@ -1506,24 +1559,33 @@
|
||||||
- Type: ChangeSceneButton
|
- Type: ChangeSceneButton
|
||||||
Enabled: true
|
Enabled: true
|
||||||
sceneID: 91947920
|
sceneID: 91947920
|
||||||
|
levelTransistion: 433
|
||||||
|
- Type: SHADE_Scripting.UI.ButtonFX
|
||||||
|
Enabled: true
|
||||||
|
onHoverEnterSound: event:/UI/botton_hover
|
||||||
|
onHoverExitSound: Empty
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
hoverScale: 1.10000002
|
||||||
|
clickScale: 0.899999976
|
||||||
- EID: 439
|
- EID: 439
|
||||||
Name: Level 2 Button
|
Name: Level 2 Button
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 0, y: 0, z: 0}
|
Translate: {x: 0, y: 0, z: 0.300000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 380, y: 879, z: 1}
|
Scale: {x: 345, y: 800, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 129340704
|
Material: 129340704
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Button Component:
|
Button Component:
|
||||||
Default Texture: 55380564
|
Default Texture: 52151774
|
||||||
Hovered Texture: 55380564
|
Hovered Texture: 66730012
|
||||||
Clicked Texture: 55380564
|
Clicked Texture: 59730316
|
||||||
IsActive: true
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 50
|
Canvas ID: 50
|
||||||
|
@ -1534,24 +1596,33 @@
|
||||||
- Type: ChangeSceneButton
|
- Type: ChangeSceneButton
|
||||||
Enabled: true
|
Enabled: true
|
||||||
sceneID: 86098106
|
sceneID: 86098106
|
||||||
|
levelTransistion: 433
|
||||||
|
- Type: SHADE_Scripting.UI.ButtonFX
|
||||||
|
Enabled: true
|
||||||
|
onHoverEnterSound: event:/UI/botton_hover
|
||||||
|
onHoverExitSound: Empty
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
hoverScale: 1.10000002
|
||||||
|
clickScale: 0.899999976
|
||||||
- EID: 438
|
- EID: 438
|
||||||
Name: Level 3 Button
|
Name: Level 3 Button
|
||||||
IsActive: true
|
IsActive: true
|
||||||
NumberOfChildren: 0
|
NumberOfChildren: 0
|
||||||
Components:
|
Components:
|
||||||
Transform Component:
|
Transform Component:
|
||||||
Translate: {x: 600, y: 0, z: 0}
|
Translate: {x: 600, y: 0, z: 0.300000012}
|
||||||
Rotate: {x: 0, y: 0, z: 0}
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
Scale: {x: 380, y: 879, z: 1}
|
Scale: {x: 345, y: 800, z: 1}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Renderable Component:
|
Renderable Component:
|
||||||
Mesh: 141771688
|
Mesh: 141771688
|
||||||
Material: 129340704
|
Material: 129340704
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Button Component:
|
Button Component:
|
||||||
Default Texture: 53392159
|
Default Texture: 51704639
|
||||||
Hovered Texture: 53392159
|
Hovered Texture: 66852283
|
||||||
Clicked Texture: 53392159
|
Clicked Texture: 53081657
|
||||||
IsActive: true
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 50
|
Canvas ID: 50
|
||||||
|
@ -1562,6 +1633,15 @@
|
||||||
- Type: ChangeSceneButton
|
- Type: ChangeSceneButton
|
||||||
Enabled: true
|
Enabled: true
|
||||||
sceneID: 88928066
|
sceneID: 88928066
|
||||||
|
levelTransistion: 433
|
||||||
|
- Type: SHADE_Scripting.UI.ButtonFX
|
||||||
|
Enabled: true
|
||||||
|
onHoverEnterSound: event:/UI/botton_hover
|
||||||
|
onHoverExitSound: Empty
|
||||||
|
onClickSound: event:/UI/button_success
|
||||||
|
onReleaseSound: event:/UI/button_fail
|
||||||
|
hoverScale: 1.10000002
|
||||||
|
clickScale: 0.899999976
|
||||||
- EID: 450
|
- EID: 450
|
||||||
Name: TransitionCanvas
|
Name: TransitionCanvas
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -1595,6 +1675,67 @@
|
||||||
Scripts:
|
Scripts:
|
||||||
- Type: SHADE_Scripting.UI.SceneFadeInOut
|
- Type: SHADE_Scripting.UI.SceneFadeInOut
|
||||||
Enabled: true
|
Enabled: true
|
||||||
alphaValue: 1
|
alphaValue: 0
|
||||||
fadeInTime: 0.5
|
fadeInTime: 0.5
|
||||||
fadeOutTime: 0.5
|
fadeOutTime: 0.5
|
||||||
|
- EID: 433
|
||||||
|
Name: LevelTransistionCanvas
|
||||||
|
IsActive: false
|
||||||
|
NumberOfChildren: 2
|
||||||
|
Components:
|
||||||
|
Canvas Component:
|
||||||
|
Canvas Width: 1920
|
||||||
|
Canvas Height: 1080
|
||||||
|
Scale by canvas width: false
|
||||||
|
IsActive: false
|
||||||
|
Scripts:
|
||||||
|
- Type: LevelTransistion
|
||||||
|
Enabled: true
|
||||||
|
logo: 431
|
||||||
|
bg: 432
|
||||||
|
duration: 0.800000012
|
||||||
|
bgEndPositionX: 0
|
||||||
|
logoEndPositionX: 0
|
||||||
|
rotAndScale: true
|
||||||
|
rotationAmt: 360
|
||||||
|
scaleAmt: 631
|
||||||
|
- EID: 431
|
||||||
|
Name: LevelTransistionLogo
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 0, y: 0, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 126117259
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 433
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 432
|
||||||
|
Name: LevelTransistionBG
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: -2500, y: 0, z: 0.200000003}
|
||||||
|
Rotate: {x: 0, y: 0, z: 0}
|
||||||
|
Scale: {x: 4000, y: 4000, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 141771688
|
||||||
|
Material: 132131066
|
||||||
|
IsActive: true
|
||||||
|
UI Component:
|
||||||
|
Canvas ID: 433
|
||||||
|
Hovered: false
|
||||||
|
Clicked: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
|
@ -0,0 +1,320 @@
|
||||||
|
- EID: 0
|
||||||
|
Name: Camera
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 10.2736483, z: 0}
|
||||||
|
Rotate: {x: -1.48352981, y: 1.5, z: 0.5}
|
||||||
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 1
|
||||||
|
Name: Floor
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 0}
|
||||||
|
Rotate: {x: -0, y: 0, z: -0}
|
||||||
|
Scale: {x: 12.8000002, y: 1, z: 12.8000002}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142686872
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 2
|
||||||
|
Name: Light
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Light Component:
|
||||||
|
Position: {x: 0, y: 0, z: 0}
|
||||||
|
Type: Directional
|
||||||
|
Direction: {x: 0, y: -1, z: 1}
|
||||||
|
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||||
|
Layer: 4294967295
|
||||||
|
Strength: 0
|
||||||
|
Casting Shadows: false
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 3
|
||||||
|
Name: Wall
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 11, y: 0, z: 0}
|
||||||
|
Rotate: {x: -0, y: 1.57079637, z: -0}
|
||||||
|
Scale: {x: 10.6225176, y: 1, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142652392
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Collider Component:
|
||||||
|
Colliders:
|
||||||
|
- Is Trigger: false
|
||||||
|
Collision Tag: 0
|
||||||
|
Type: Box
|
||||||
|
Half Extents: {x: 2.5, y: 1, z: 1.60000002}
|
||||||
|
Friction: 0.400000006
|
||||||
|
Bounciness: 0
|
||||||
|
Density: 1
|
||||||
|
Position Offset: {x: 0, y: 0, z: 0}
|
||||||
|
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 4
|
||||||
|
Name: Wall
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: -11.2958097}
|
||||||
|
Rotate: {x: -0, y: 0, z: -0}
|
||||||
|
Scale: {x: 10.6225176, y: 1, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142652392
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Collider Component:
|
||||||
|
Colliders:
|
||||||
|
- Is Trigger: false
|
||||||
|
Collision Tag: 0
|
||||||
|
Type: Box
|
||||||
|
Half Extents: {x: 2.5, y: 1, z: 1.60000002}
|
||||||
|
Friction: 0.400000006
|
||||||
|
Bounciness: 0
|
||||||
|
Density: 1
|
||||||
|
Position Offset: {x: 0, y: 0, z: 0}
|
||||||
|
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 5
|
||||||
|
Name: Wall
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 0, z: 11}
|
||||||
|
Rotate: {x: -0, y: 0, z: -0}
|
||||||
|
Scale: {x: 10.6225176, y: 1, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142652392
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Collider Component:
|
||||||
|
Colliders:
|
||||||
|
- Is Trigger: false
|
||||||
|
Collision Tag: 0
|
||||||
|
Type: Box
|
||||||
|
Half Extents: {x: 2.5, y: 1, z: 1.60000002}
|
||||||
|
Friction: 0.400000006
|
||||||
|
Bounciness: 0
|
||||||
|
Density: 1
|
||||||
|
Position Offset: {x: 0, y: 0, z: 0}
|
||||||
|
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 6
|
||||||
|
Name: Wall
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 6.06437206, y: 0, z: -5.60716629}
|
||||||
|
Rotate: {x: -0, y: 1.57079601, z: -0}
|
||||||
|
Scale: {x: 4.99989605, y: 1, z: 0.999986947}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142652392
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Collider Component:
|
||||||
|
Colliders:
|
||||||
|
- Is Trigger: false
|
||||||
|
Collision Tag: 0
|
||||||
|
Type: Box
|
||||||
|
Half Extents: {x: 2.5, y: 1, z: 1.60000002}
|
||||||
|
Friction: 0.400000006
|
||||||
|
Bounciness: 0
|
||||||
|
Density: 1
|
||||||
|
Position Offset: {x: 0, y: 0, z: 0}
|
||||||
|
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 7
|
||||||
|
Name: Wall
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: -11, y: 0, z: 0}
|
||||||
|
Rotate: {x: -0, y: 1.57079637, z: -0}
|
||||||
|
Scale: {x: 10.6225176, y: 1, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142652392
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Collider Component:
|
||||||
|
Colliders:
|
||||||
|
- Is Trigger: false
|
||||||
|
Collision Tag: 0
|
||||||
|
Type: Box
|
||||||
|
Half Extents: {x: 2.5, y: 1, z: 1.60000002}
|
||||||
|
Friction: 0.400000006
|
||||||
|
Bounciness: 0
|
||||||
|
Density: 1
|
||||||
|
Position Offset: {x: 0, y: 0, z: 0}
|
||||||
|
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 8
|
||||||
|
Name: Wall
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: -4.70212746, y: 0, z: -0.00226712227}
|
||||||
|
Rotate: {x: -0, y: 1.57079601, z: -0}
|
||||||
|
Scale: {x: 4.99982977, y: 1, z: 0.999978602}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142652392
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Collider Component:
|
||||||
|
Colliders:
|
||||||
|
- Is Trigger: false
|
||||||
|
Collision Tag: 0
|
||||||
|
Type: Box
|
||||||
|
Half Extents: {x: 2.5, y: 1, z: 1.60000002}
|
||||||
|
Friction: 0.400000006
|
||||||
|
Bounciness: 0
|
||||||
|
Density: 1
|
||||||
|
Position Offset: {x: 0, y: 0, z: 0}
|
||||||
|
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 9
|
||||||
|
Name: Wall
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 1.46194017, y: 0, z: 0.71579361}
|
||||||
|
Rotate: {x: -0, y: 0, z: -0}
|
||||||
|
Scale: {x: 4.99985838, y: 1, z: 0.999982238}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142652392
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Collider Component:
|
||||||
|
Colliders:
|
||||||
|
- Is Trigger: false
|
||||||
|
Collision Tag: 0
|
||||||
|
Type: Box
|
||||||
|
Half Extents: {x: 2.5, y: 1, z: 1.60000002}
|
||||||
|
Friction: 0.400000006
|
||||||
|
Bounciness: 0
|
||||||
|
Density: 1
|
||||||
|
Position Offset: {x: 0, y: 0, z: 0}
|
||||||
|
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 10
|
||||||
|
Name: Wall
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: -2.30867815, y: 0, z: -6.02849674}
|
||||||
|
Rotate: {x: -0, y: 0, z: -0}
|
||||||
|
Scale: {x: 4, y: 1, z: 0.999974966}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 142652392
|
||||||
|
Material: 126223465
|
||||||
|
IsActive: true
|
||||||
|
Collider Component:
|
||||||
|
Colliders:
|
||||||
|
- Is Trigger: false
|
||||||
|
Collision Tag: 0
|
||||||
|
Type: Box
|
||||||
|
Half Extents: {x: 2.5, y: 1, z: 1.60000002}
|
||||||
|
Friction: 0.400000006
|
||||||
|
Bounciness: 0
|
||||||
|
Density: 1
|
||||||
|
Position Offset: {x: 0, y: 0, z: 0}
|
||||||
|
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 11
|
||||||
|
Name: TestAI
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 8.5, y: -1, z: -6.41661787}
|
||||||
|
Rotate: {x: -0, y: 0, z: -0}
|
||||||
|
Scale: {x: 5, y: 5, z: 5}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 140639624
|
||||||
|
Material: 131956078
|
||||||
|
IsActive: true
|
||||||
|
Navigation Component:
|
||||||
|
Target: {x: 0, y: 0, z: 0}
|
||||||
|
Forward: {x: 0, y: 0, z: 0}
|
||||||
|
Recalculate Path: true
|
||||||
|
Unreachable Target: false
|
||||||
|
Acceptance threshold: 1
|
||||||
|
IsActive: true
|
||||||
|
Scripts:
|
||||||
|
- Type: SHADE_Scripting.Gameplay.AIBehaviour.AIRework.NavigationTestScript
|
||||||
|
Enabled: true
|
||||||
|
endPoint: 12
|
||||||
|
speed: 3
|
||||||
|
- EID: 12
|
||||||
|
Name: EndPoint
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: -0.853474855, y: -1, z: 0.354041398}
|
||||||
|
Rotate: {x: -0, y: 0, z: -0}
|
||||||
|
Scale: {x: 5, y: 5, z: 5}
|
||||||
|
IsActive: true
|
||||||
|
Renderable Component:
|
||||||
|
Mesh: 140639624
|
||||||
|
Material: 131956078
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
||||||
|
- EID: 13
|
||||||
|
Name: Camera
|
||||||
|
IsActive: true
|
||||||
|
NumberOfChildren: 0
|
||||||
|
Components:
|
||||||
|
Transform Component:
|
||||||
|
Translate: {x: 0, y: 10.2736483, z: 0}
|
||||||
|
Rotate: {x: -1.48352981, y: 0, z: 0}
|
||||||
|
Scale: {x: 1, y: 1, z: 1}
|
||||||
|
IsActive: true
|
||||||
|
Camera Component:
|
||||||
|
Position: {x: 0, y: 0, z: 0}
|
||||||
|
Pitch: -85
|
||||||
|
Yaw: 0
|
||||||
|
Roll: 0
|
||||||
|
Width: 1920
|
||||||
|
Near: 0.00999999978
|
||||||
|
Far: 10000
|
||||||
|
Perspective: true
|
||||||
|
FOV: 90
|
||||||
|
IsActive: true
|
||||||
|
Scripts: ~
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: NavigationTest
|
||||||
|
ID: 100246336
|
||||||
|
Type: 5
|
|
@ -1,3 +1,4 @@
|
||||||
|
- NavData: 0
|
||||||
- EID: 0
|
- EID: 0
|
||||||
Name: Default
|
Name: Default
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -170,8 +171,13 @@
|
||||||
Angular Ranges And Offset: {x: 6.19999981, y: 1.10000002, z: 0, w: 0.100000001}
|
Angular Ranges And Offset: {x: 6.19999981, y: 1.10000002, z: 0, w: 0.100000001}
|
||||||
Rotation Speed: 0.0309999995
|
Rotation Speed: 0.0309999995
|
||||||
Rotation Decay: 0.0199999996
|
Rotation Decay: 0.0199999996
|
||||||
Texture Asset ID: 63456868
|
Texture Asset ID: 0
|
||||||
|
Custom Vertex Shader Asset ID: 44202416
|
||||||
|
Custom Fragment Shader Asset ID: 42315398
|
||||||
Custom Update Shader Asset ID: 0
|
Custom Update Shader Asset ID: 0
|
||||||
Color Tint: {x: 1, y: 0, z: 0, w: 1}
|
Color Tint: {x: 0.46696043, y: 1, z: 0, w: 1}
|
||||||
|
Color Tint Range: {x: 1, y: 0, z: 0, w: 0}
|
||||||
|
Color Decay: {x: -1, y: -1, z: -1, w: 0}
|
||||||
|
Acceleration: {x: 0, y: 0, z: 0}
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Scripts: ~
|
Scripts: ~
|
|
@ -0,0 +1,107 @@
|
||||||
|
using SHADE;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
||||||
|
{
|
||||||
|
public class AILineOfSight:Script
|
||||||
|
{
|
||||||
|
public GameObject player;
|
||||||
|
|
||||||
|
public float range = 2.0f;
|
||||||
|
[Tooltip("Angle between player and forward to be within sight")]
|
||||||
|
public float angle = 30.0f;
|
||||||
|
|
||||||
|
[Tooltip("For debug")]
|
||||||
|
public float angleBetween = 0.0f;
|
||||||
|
|
||||||
|
[Tooltip("For debug")]
|
||||||
|
public float distance = 0.0f;
|
||||||
|
|
||||||
|
public float heightLimit = 1.0f;
|
||||||
|
|
||||||
|
public Vector3 rayOffset;
|
||||||
|
|
||||||
|
|
||||||
|
public bool withinRange;
|
||||||
|
public bool withinSight;
|
||||||
|
|
||||||
|
|
||||||
|
public Vector3 lastFoundPos;
|
||||||
|
public float lastFoundTimer = 0.0f;
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (player == GameObject.Null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Transform transform = GetComponent<Transform>();
|
||||||
|
Transform playerTransform = player.GetComponent<Transform>();
|
||||||
|
Collider playerCollider = player.GetComponent<Collider>();
|
||||||
|
|
||||||
|
withinRange = false;
|
||||||
|
withinSight = false;
|
||||||
|
|
||||||
|
|
||||||
|
if(transform && playerTransform && playerCollider)
|
||||||
|
{
|
||||||
|
Vector3 pos = transform.GlobalPosition + rayOffset;
|
||||||
|
Vector3 playerPos = playerTransform.GlobalPosition ;
|
||||||
|
Vector3 d = playerPos - pos;
|
||||||
|
distance = d.GetMagnitude();
|
||||||
|
if(distance < range)
|
||||||
|
{
|
||||||
|
Vector3 fwdHorizontal = transform.Forward;
|
||||||
|
fwdHorizontal.y = 0;
|
||||||
|
fwdHorizontal.Normalise();
|
||||||
|
|
||||||
|
Vector3 dHorizontal = d;
|
||||||
|
dHorizontal.y = 0;
|
||||||
|
|
||||||
|
|
||||||
|
float dot = Vector3.Dot(fwdHorizontal, dHorizontal);
|
||||||
|
angleBetween = SHADE.Math.Rad2Deg * MathF.Acos(dot / (dHorizontal.GetMagnitude()));
|
||||||
|
if (angleBetween < angle && playerPos.y < pos.y + heightLimit)
|
||||||
|
{
|
||||||
|
withinRange = true;
|
||||||
|
withinSight = true;
|
||||||
|
Ray sightRay = new Ray(pos, d.GetNormalised());
|
||||||
|
List<RaycastHit> hitResults = Physics.Raycast(sightRay, distance,false, (ushort)65535);
|
||||||
|
|
||||||
|
foreach(RaycastHit hit in hitResults)
|
||||||
|
{
|
||||||
|
if (hit.Hit && hit.Other != player)
|
||||||
|
{
|
||||||
|
//Debug.Log("AI LOS: HIT OTHER");
|
||||||
|
withinSight = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (withinSight == true)
|
||||||
|
{
|
||||||
|
lastFoundPos = playerTransform.GlobalPosition;
|
||||||
|
lastFoundTimer = 0.0f;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lastFoundTimer += Time.DeltaTimeF;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: AILineOfSight
|
||||||
|
ID: 152074687
|
||||||
|
Type: 9
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: BaseState
|
||||||
|
ID: 167091082
|
||||||
|
Type: 9
|
|
@ -0,0 +1,176 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
using SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
||||||
|
{
|
||||||
|
public class HomeOwnerAI : Script
|
||||||
|
{
|
||||||
|
public float idleDuration = 1.0f;
|
||||||
|
public float caughtDuration = 2.0f;
|
||||||
|
public float timeoutDuration = 2.0f;
|
||||||
|
public GameObject patrolPointParent;
|
||||||
|
|
||||||
|
public float patrolSpeed = 2.0f;
|
||||||
|
public float chaseSpeed = 3.0f;
|
||||||
|
|
||||||
|
public float alertCooldown = 0.0f;
|
||||||
|
|
||||||
|
public GameObject player;
|
||||||
|
public GameObject attackHitbox;
|
||||||
|
|
||||||
|
public AnimationClipAsset walkingAnim;
|
||||||
|
public AnimationClipAsset idleAnim;
|
||||||
|
public AnimationClipAsset alertAnim;
|
||||||
|
public AnimationClipAsset alertRunAnim;
|
||||||
|
public AnimationClipAsset alertIdleAnim;
|
||||||
|
public AnimationClipAsset timeoutAnim;
|
||||||
|
public AnimationClipAsset atkWindupAnim;
|
||||||
|
public AnimationClipAsset atkHoldAnim;
|
||||||
|
public AnimationClipAsset atkSeqAnim;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private Vector3 startPos;
|
||||||
|
public bool atk { get; set; }
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
public IEnumerable<Transform> patrolPointPool;
|
||||||
|
|
||||||
|
private List<Transform> pppList;
|
||||||
|
|
||||||
|
private Transform transform;
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
public HomeOwnerAttackHitbox hitboxScript;
|
||||||
|
|
||||||
|
public void Reset()
|
||||||
|
{
|
||||||
|
StateMachine machine = GetScript<StateMachine>();
|
||||||
|
if (transform && machine)
|
||||||
|
{
|
||||||
|
transform.GlobalPosition = startPos;
|
||||||
|
machine.SetState(typeof(IdleState));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected override void awake()
|
||||||
|
{
|
||||||
|
StateMachine machine = GetScript<StateMachine>();
|
||||||
|
if (machine)
|
||||||
|
{
|
||||||
|
Dictionary<Type, BaseState> dictionary = new Dictionary<Type, BaseState>();
|
||||||
|
dictionary.Add(typeof(IdleState), new IdleState(machine));
|
||||||
|
dictionary.Add(typeof(PatrolState), new PatrolState(machine));
|
||||||
|
dictionary.Add(typeof(TimeoutState), new TimeoutState(machine));
|
||||||
|
dictionary.Add(typeof(ChaseState), new ChaseState(machine));
|
||||||
|
dictionary.Add(typeof(AlertState), new AlertState(machine));
|
||||||
|
dictionary.Add(typeof(AttackState), new AttackState(machine));
|
||||||
|
dictionary.Add(typeof(CaughtRaccoonState), new CaughtRaccoonState(machine));
|
||||||
|
|
||||||
|
machine.InitStateMachine(dictionary);
|
||||||
|
}
|
||||||
|
|
||||||
|
AudioHandler.audioClipHandlers["HO_footsteps"] = SHADE.Audio.CreateAudioClip("event:/Homeowner/homeowner_footsteps");
|
||||||
|
SHADE.Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["HO_footsteps"], GameObject.EntityId);
|
||||||
|
|
||||||
|
AudioHandler.audioClipHandlers["HO_bark"] = SHADE.Audio.CreateAudioClip("event:/Homeowner/homeowner_bark");
|
||||||
|
SHADE.Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["HO_bark"], GameObject.EntityId);
|
||||||
|
|
||||||
|
AudioHandler.audioClipHandlers["HO_humming"] = SHADE.Audio.CreateAudioClip("event:/Homeowner/homeowner_humming");
|
||||||
|
SHADE.Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["HO_humming"], GameObject.EntityId);
|
||||||
|
|
||||||
|
patrolPointPool = patrolPointParent.GetComponentsInChildren<Transform>();
|
||||||
|
pppList = patrolPointPool.ToList<Transform>();
|
||||||
|
transform = GetComponent<Transform>();
|
||||||
|
|
||||||
|
atk = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
//attackHitbox.SetActive(false);
|
||||||
|
if (pppList != null)
|
||||||
|
startPos = pppList[0].LocalPosition;
|
||||||
|
|
||||||
|
if (attackHitbox)
|
||||||
|
hitboxScript = attackHitbox.GetScript<HomeOwnerAttackHitbox>();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (alertCooldown > 0.0f)
|
||||||
|
{
|
||||||
|
alertCooldown -= Time.DeltaTimeF;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
alertCooldown = 0.0f;
|
||||||
|
}
|
||||||
|
AICheat();
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ShouldTransitAlert()
|
||||||
|
{
|
||||||
|
AILineOfSight los = GetScript<AILineOfSight>();
|
||||||
|
if (los)
|
||||||
|
{
|
||||||
|
if (los.withinSight && alertCooldown <= 0.0f)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RotateToPlayer()
|
||||||
|
{
|
||||||
|
|
||||||
|
//Transform playerTransform = player.GetComponent<Transform>();
|
||||||
|
|
||||||
|
////Rotate to face player.
|
||||||
|
//Transform aiTransform = GetComponent<Transform>();
|
||||||
|
//if(playerTransform && aiTransform)
|
||||||
|
//{
|
||||||
|
// Vector3 direction = playerTransform.GlobalPosition - aiTransform.GlobalPosition;
|
||||||
|
// Quaternion currentRotation = aiTransform.LocalRotation;
|
||||||
|
// Quaternion targetRotation = Quaternion.Euler(0.0f, MathF.Atan2(direction.x, direction.z), 0.0f);
|
||||||
|
// aiTransform.LocalRotation = Quaternion.Slerp(currentRotation, targetRotation, 5.0f * (float)Time.FixedDeltaTime);
|
||||||
|
//}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AICheat()
|
||||||
|
{
|
||||||
|
StateMachine machine = GetScript<StateMachine>();
|
||||||
|
AILineOfSight los = GetScript<AILineOfSight>();
|
||||||
|
if (machine && los)
|
||||||
|
{
|
||||||
|
if (Input.GetKeyDown(Input.KeyCode.K))
|
||||||
|
{
|
||||||
|
los.range = 5.0f;
|
||||||
|
machine.SetState(typeof(AlertState));
|
||||||
|
}
|
||||||
|
if (Input.GetKeyDown(Input.KeyCode.L))
|
||||||
|
{
|
||||||
|
los.range = 0.0f;
|
||||||
|
machine.SetState(typeof(IdleState));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: HomeOwnerAI
|
||||||
|
ID: 162553450
|
||||||
|
Type: 9
|
|
@ -0,0 +1,65 @@
|
||||||
|
using SHADE;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using static PlayerController;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
||||||
|
{
|
||||||
|
public class HomeOwnerAttackHitbox : Script
|
||||||
|
{
|
||||||
|
public GameObject aiGO;
|
||||||
|
|
||||||
|
public bool raccoonFound = false;
|
||||||
|
Transform transform;
|
||||||
|
Transform aiTransform;
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
public PlayerController pc;
|
||||||
|
private HomeOwnerAI ai;
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
transform = GetComponent<Transform>();
|
||||||
|
aiTransform = aiGO.GetComponent<Transform>();
|
||||||
|
ai = aiGO.GetScript<HomeOwnerAI>();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (transform && aiTransform)
|
||||||
|
{
|
||||||
|
|
||||||
|
transform.GlobalPosition = aiTransform.GlobalPosition + aiTransform.Forward * 0.7f;
|
||||||
|
transform.GlobalEulerAngles = aiTransform.GlobalEulerAngles;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (raccoonFound && pc && ai)
|
||||||
|
{
|
||||||
|
if (!ai.atk)
|
||||||
|
raccoonFound = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected override void onTriggerStay(CollisionInfo info)
|
||||||
|
{
|
||||||
|
if (info.GameObject.GetScript<PlayerController>())
|
||||||
|
{
|
||||||
|
pc = info.GameObject.GetScript<PlayerController>();
|
||||||
|
if (ai && ai.atk && pc)
|
||||||
|
{
|
||||||
|
raccoonFound = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: HomeOwnerAttackHitbox
|
||||||
|
ID: 164649501
|
||||||
|
Type: 9
|
|
@ -0,0 +1,52 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SHADE;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class NavigationTestScript :Script
|
||||||
|
{
|
||||||
|
public GameObject endPoint;
|
||||||
|
|
||||||
|
public float speed = 1.0f;
|
||||||
|
float timer = 0.0f;
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
|
||||||
|
Navigation nav = GetComponent<Navigation>();
|
||||||
|
Transform endTransform = endPoint.GetComponent<Transform>();
|
||||||
|
if (endTransform)
|
||||||
|
nav.MoveTo(endTransform.GlobalPosition);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
timer += Time.DeltaTimeF;
|
||||||
|
Navigation nav = GetComponent<Navigation>();
|
||||||
|
Transform transform = GetComponent<Transform>();
|
||||||
|
if (timer >= 1.0f)
|
||||||
|
{
|
||||||
|
timer = 0.0f;
|
||||||
|
|
||||||
|
Transform endTransform = endPoint.GetComponent<Transform>();
|
||||||
|
if (endTransform)
|
||||||
|
nav.MoveTo(endTransform.GlobalPosition);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (nav && transform)
|
||||||
|
{
|
||||||
|
transform.LocalPosition = transform.LocalPosition + ( nav.GetForward() * Time.DeltaTimeF * speed);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: NavigationTestScript
|
||||||
|
ID: 162476480
|
||||||
|
Type: 9
|
|
@ -0,0 +1,90 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SHADE;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
||||||
|
{
|
||||||
|
public class RotateToVelocity : Script
|
||||||
|
{
|
||||||
|
public float rotationPerSecond = 2.0f;
|
||||||
|
|
||||||
|
public bool active = true;
|
||||||
|
public bool rotateToPlayerLastKnown = false;
|
||||||
|
|
||||||
|
public bool lookAround = false;
|
||||||
|
private bool left = true;
|
||||||
|
private float lookOffset = 0.0f;
|
||||||
|
private float lookAroundAngle = 30.0f;
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
rotateToPlayerLastKnown = false;
|
||||||
|
active = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (!active)
|
||||||
|
return;
|
||||||
|
|
||||||
|
RigidBody rigid = GetComponent<RigidBody>();
|
||||||
|
Transform transform = GetComponent<Transform>();
|
||||||
|
if(!lookAround)
|
||||||
|
{
|
||||||
|
lookOffset = 0.0f;
|
||||||
|
}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// if(left )
|
||||||
|
// {
|
||||||
|
// if (lookOffset > -lookAroundAngle)
|
||||||
|
// lookOffset -= rotationPerSecond * Time.DeltaTimeF;
|
||||||
|
// else
|
||||||
|
// left = false;
|
||||||
|
// }
|
||||||
|
// if (!left)
|
||||||
|
// {
|
||||||
|
// if (lookOffset < lookAroundAngle)
|
||||||
|
// lookOffset += rotationPerSecond * Time.DeltaTimeF;
|
||||||
|
// else
|
||||||
|
// left = false;
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(rigid && transform)
|
||||||
|
{
|
||||||
|
Vector3 vel = rigid.LinearVelocity;
|
||||||
|
rigid.AngularVelocity = Vector3.Zero;
|
||||||
|
|
||||||
|
|
||||||
|
AILineOfSight los = GetScript<AILineOfSight>();
|
||||||
|
if(los && rotateToPlayerLastKnown)
|
||||||
|
{
|
||||||
|
Vector3 direction = los.lastFoundPos - transform.GlobalPosition;
|
||||||
|
Quaternion currentRotation = transform.LocalRotation;
|
||||||
|
Quaternion targetRotation = Quaternion.Euler(0.0f, MathF.Atan2(direction.x, direction.z) + lookOffset, 0.0f);
|
||||||
|
transform.LocalRotation = Quaternion.Slerp(currentRotation, targetRotation, rotationPerSecond * (float)Time.DeltaTimeF);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(vel.GetMagnitude() > 0.01f)
|
||||||
|
{
|
||||||
|
Quaternion currentRotation = transform.LocalRotation;
|
||||||
|
Quaternion targetRotation = Quaternion.Euler(0.0f, MathF.Atan2(vel.x, vel.z) + lookOffset, 0.0f);
|
||||||
|
transform.LocalRotation = Quaternion.Slerp(currentRotation, targetRotation, rotationPerSecond * (float)Time.DeltaTimeF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: RotateToVelocity
|
||||||
|
ID: 163814533
|
||||||
|
Type: 9
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: StateMachine
|
||||||
|
ID: 165140157
|
||||||
|
Type: 9
|
|
@ -0,0 +1,24 @@
|
||||||
|
using SHADE;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
{
|
||||||
|
public abstract class AIBaseState: BaseState
|
||||||
|
{
|
||||||
|
|
||||||
|
protected HomeOwnerAI ai;
|
||||||
|
protected Animator animator;
|
||||||
|
public AIBaseState(StateMachine stateMachine): base(stateMachine, "")
|
||||||
|
{
|
||||||
|
stateName = "AI Base State";
|
||||||
|
ai = stateMachine.GetScript<HomeOwnerAI>();
|
||||||
|
animator = stateMachine.GetComponent<Animator>();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: AIBaseState
|
||||||
|
ID: 160233845
|
||||||
|
Type: 9
|
|
@ -0,0 +1,82 @@
|
||||||
|
using SHADE;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
{
|
||||||
|
public class AlertState : AIBaseState
|
||||||
|
{
|
||||||
|
const float alertDuration = 16.0f / 30.0f + 1.0f;
|
||||||
|
float alertTimer = alertDuration;
|
||||||
|
bool firstDetection;
|
||||||
|
public AlertState(StateMachine machine) : base(machine)
|
||||||
|
{
|
||||||
|
stateName = "Alert";
|
||||||
|
AudioHandler.audioClipHandlers["raccoondetected"] = SHADE.Audio.CreateAudioClip("event:/Raccoon/raccoon_detected");
|
||||||
|
firstDetection = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnEnter()
|
||||||
|
{
|
||||||
|
alertTimer = alertDuration;
|
||||||
|
if (animator)
|
||||||
|
{
|
||||||
|
animator.PlayOneShot(ai.alertAnim);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(firstDetection)
|
||||||
|
{
|
||||||
|
SHADE.Audio.SetParameterWithLabel("HomeownerBark", "DetectFirst");
|
||||||
|
AudioHandler.audioClipHandlers["HO_bark"].Play();
|
||||||
|
firstDetection = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
PlayerController pc = ai.player.GetScript<PlayerController>();
|
||||||
|
|
||||||
|
if (pc && pc.holdItem)
|
||||||
|
{
|
||||||
|
SHADE.Audio.SetParameterWithLabel("HomeownerBark", "DetectFood");
|
||||||
|
AudioHandler.audioClipHandlers["HO_bark"].Play();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SHADE.Audio.SetParameterWithLabel("HomeownerBark", "DetectAgain");
|
||||||
|
AudioHandler.audioClipHandlers["HO_bark"].Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
SHADE.Audio.SetParameterWithLabel("PlayerDetection", "Detected");
|
||||||
|
|
||||||
|
}
|
||||||
|
public override void OnExit()
|
||||||
|
{
|
||||||
|
animator.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void update()
|
||||||
|
{
|
||||||
|
alertTimer -= Time.DeltaTimeF;
|
||||||
|
if (alertTimer <= 0.0f)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(ChaseState));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public override void fixedUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: AlertState
|
||||||
|
ID: 159828775
|
||||||
|
Type: 9
|
|
@ -0,0 +1,186 @@
|
||||||
|
using SHADE;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
{
|
||||||
|
public class AttackState : AIBaseState
|
||||||
|
{
|
||||||
|
|
||||||
|
float timer = 0.0f;
|
||||||
|
|
||||||
|
float windupTime = 8.0f / 30.0f;
|
||||||
|
float holdTime = 0.3f;
|
||||||
|
float seqTime = 8.0f / 30.0f;
|
||||||
|
float endTime = 0.5f;
|
||||||
|
|
||||||
|
|
||||||
|
bool windUp = false;
|
||||||
|
bool hold = false;
|
||||||
|
bool seq = false;
|
||||||
|
bool end = false;
|
||||||
|
|
||||||
|
bool raccoonCaught = true;
|
||||||
|
|
||||||
|
|
||||||
|
public AttackState(StateMachine machine) : base(machine)
|
||||||
|
{
|
||||||
|
stateName = "Attack";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override void OnEnter()
|
||||||
|
{
|
||||||
|
timer = 0.0f;
|
||||||
|
animator.PlayOneShot(ai.atkWindupAnim);
|
||||||
|
windUp = true;
|
||||||
|
hold = false;
|
||||||
|
seq = false;
|
||||||
|
end = false;
|
||||||
|
timer = windupTime;
|
||||||
|
|
||||||
|
raccoonCaught = false;
|
||||||
|
|
||||||
|
RotateToVelocity rotate = machine.GetScript<RotateToVelocity>();
|
||||||
|
if (rotate)
|
||||||
|
rotate.active = false;
|
||||||
|
|
||||||
|
RigidBody rigid = machine.GetComponent<RigidBody>();
|
||||||
|
if (rigid)
|
||||||
|
{
|
||||||
|
rigid.LinearVelocity = Vector3.Zero;
|
||||||
|
}
|
||||||
|
Transform transform = machine.GetComponent<Transform>();
|
||||||
|
AILineOfSight los = machine.GetScript<AILineOfSight>();
|
||||||
|
Transform playerTransform = ai.player.GetComponent<Transform>();
|
||||||
|
|
||||||
|
|
||||||
|
if (los && transform)
|
||||||
|
{
|
||||||
|
Vector3 direction = playerTransform.GlobalPosition - transform.GlobalPosition;
|
||||||
|
Quaternion targetRotation = Quaternion.Euler(0.0f, MathF.Atan2(direction.x, direction.z), 0.0f);
|
||||||
|
transform.LocalRotation = targetRotation;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//ai.attackHitbox.SetActive(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExit()
|
||||||
|
{
|
||||||
|
|
||||||
|
RotateToVelocity rotate = ai.GetScript<RotateToVelocity>();
|
||||||
|
if (rotate)
|
||||||
|
{
|
||||||
|
rotate.active = true;
|
||||||
|
rotate.lookAround = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//ai.attackHitbox.SetActive(false);
|
||||||
|
machine.GetScript<HomeOwnerAI>().atk = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void update()
|
||||||
|
{
|
||||||
|
if (ai.hitboxScript.raccoonFound && machine.GetScript<HomeOwnerAI>().atk)
|
||||||
|
{
|
||||||
|
raccoonCaught = true;
|
||||||
|
Transform pcTransform = ai.player.GetComponent<Transform>();
|
||||||
|
ai.player.GetScript<PlayerController>().Caught();
|
||||||
|
Transform netTransform = ai.attackHitbox.GetComponentInChildren<Transform>();
|
||||||
|
if (pcTransform && netTransform)
|
||||||
|
{
|
||||||
|
pcTransform.GlobalPosition = netTransform.GlobalPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
timer -= Time.DeltaTimeF;
|
||||||
|
if (windUp)
|
||||||
|
{
|
||||||
|
if (timer <= 0.0f)
|
||||||
|
{
|
||||||
|
windUp = false;
|
||||||
|
hold = true;
|
||||||
|
animator.Play(ai.atkHoldAnim);
|
||||||
|
timer = holdTime;
|
||||||
|
//ai.attackHitbox.SetActive(true);
|
||||||
|
//machine.GetScript<HomeOwnerAI>().atk = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (hold)
|
||||||
|
{
|
||||||
|
if (timer <= 0.0f)
|
||||||
|
{
|
||||||
|
hold = false;
|
||||||
|
seq = true;
|
||||||
|
animator.PlayOneShot(ai.atkSeqAnim);
|
||||||
|
timer = seqTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (seq)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (timer <= seqTime * 0.5f)
|
||||||
|
{
|
||||||
|
//ai.attackHitbox.SetActive(true);
|
||||||
|
machine.GetScript<HomeOwnerAI>().atk = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (timer <= 0.0f)
|
||||||
|
{
|
||||||
|
seq = false;
|
||||||
|
end = true;
|
||||||
|
|
||||||
|
timer = endTime;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (end)
|
||||||
|
{
|
||||||
|
if (timer <= 0.0f)
|
||||||
|
{
|
||||||
|
end = false;
|
||||||
|
|
||||||
|
if(raccoonCaught)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(CaughtRaccoonState));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AILineOfSight los = ai.GetScript<AILineOfSight>();
|
||||||
|
if (los && los.withinSight)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(ChaseState));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(TimeoutState));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void fixedUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: AttackState
|
||||||
|
ID: 156854236
|
||||||
|
Type: 9
|
|
@ -0,0 +1,72 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SHADE;
|
||||||
|
using static PlayerController;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
{
|
||||||
|
public class CaughtRaccoonState: AIBaseState
|
||||||
|
{
|
||||||
|
|
||||||
|
private float timer = 0.0f;
|
||||||
|
private PlayerController pc;
|
||||||
|
|
||||||
|
public CaughtRaccoonState(StateMachine machine):base(machine)
|
||||||
|
{
|
||||||
|
stateName = "Caught Raccoon";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnEnter()
|
||||||
|
{
|
||||||
|
if(ai.hitboxScript)
|
||||||
|
pc = ai.hitboxScript.pc;
|
||||||
|
|
||||||
|
timer = ai.caughtDuration;
|
||||||
|
if (pc)
|
||||||
|
pc.Caught();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override void OnExit()
|
||||||
|
{
|
||||||
|
animator.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void update()
|
||||||
|
{
|
||||||
|
timer -= Time.DeltaTimeF;
|
||||||
|
if(timer <= 0.0f)
|
||||||
|
{
|
||||||
|
if (pc)
|
||||||
|
{
|
||||||
|
|
||||||
|
pc.Reset();
|
||||||
|
}
|
||||||
|
ai.Reset();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Transform pcTransform = pc.GetComponent<Transform>();
|
||||||
|
Transform netTransform = ai.attackHitbox.GetComponentInChildren<Transform>();
|
||||||
|
if (pcTransform && netTransform)
|
||||||
|
{
|
||||||
|
pcTransform.GlobalPosition = netTransform.GlobalPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void fixedUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: CaughtRaccoonState
|
||||||
|
ID: 153010954
|
||||||
|
Type: 9
|
|
@ -0,0 +1,173 @@
|
||||||
|
using SHADE;
|
||||||
|
using SHADE.Test;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
{
|
||||||
|
public class ChaseState :AIBaseState
|
||||||
|
{
|
||||||
|
|
||||||
|
float giveUpDuration = 10.0f;
|
||||||
|
float giveUpTimer = 0.0f;
|
||||||
|
float atkDistance = 1.0f;
|
||||||
|
|
||||||
|
|
||||||
|
bool run = true;
|
||||||
|
|
||||||
|
float footStepInterval = 12.0f / 30.0f;
|
||||||
|
float footStepTimer = 0.0f;
|
||||||
|
|
||||||
|
float barkTimer = 0.0f;
|
||||||
|
|
||||||
|
Random rand;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public ChaseState(StateMachine machine): base(machine)
|
||||||
|
{
|
||||||
|
stateName = "Chase";
|
||||||
|
rand = new Random();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnEnter()
|
||||||
|
{
|
||||||
|
giveUpTimer = giveUpDuration;
|
||||||
|
|
||||||
|
animator.Play(ai.alertRunAnim);
|
||||||
|
run = true;
|
||||||
|
RotateToVelocity r = machine.GetScript<RotateToVelocity>();
|
||||||
|
if (r)
|
||||||
|
{
|
||||||
|
r.rotateToPlayerLastKnown = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
footStepTimer = footStepInterval * 0.5f;
|
||||||
|
|
||||||
|
|
||||||
|
barkTimer = (float)rand.Next(0, 2) + (float)rand.NextDouble();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExit()
|
||||||
|
{
|
||||||
|
animator.Stop();
|
||||||
|
RotateToVelocity r = machine.GetScript<RotateToVelocity>();
|
||||||
|
if (r)
|
||||||
|
{
|
||||||
|
r.rotateToPlayerLastKnown = false;
|
||||||
|
}
|
||||||
|
RotateToVelocity rotate = ai.GetScript<RotateToVelocity>();
|
||||||
|
if (rotate)
|
||||||
|
{
|
||||||
|
rotate.lookAround = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void update()
|
||||||
|
{
|
||||||
|
barkTimer -= Time.DeltaTimeF;
|
||||||
|
if(barkTimer <= 0.0f)
|
||||||
|
{
|
||||||
|
barkTimer = (float)rand.Next(4, 6) + (float)rand.NextDouble();
|
||||||
|
|
||||||
|
SHADE.Audio.SetParameterWithLabel("HomeownerBark", "Chase");
|
||||||
|
AudioHandler.audioClipHandlers["HO_bark"].Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Navigation nav = machine.GetComponent<Navigation>();
|
||||||
|
AILineOfSight los = ai.GetScript<AILineOfSight>();
|
||||||
|
RigidBody rigid = machine.GetComponent<RigidBody>();
|
||||||
|
if (los && nav)
|
||||||
|
{
|
||||||
|
Transform playerTransform = los.player.GetComponent<Transform>();
|
||||||
|
if (los.withinSight)
|
||||||
|
{
|
||||||
|
nav.MoveTo(playerTransform.GlobalPosition);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nav.MoveTo(los.lastFoundPos);
|
||||||
|
giveUpTimer -= Time.DeltaTimeF;
|
||||||
|
}
|
||||||
|
if(los.lastFoundTimer>= 10.0f || giveUpTimer <= 0.0f)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(TimeoutState));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(los.distance < atkDistance)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(AttackState));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(rigid)
|
||||||
|
{
|
||||||
|
if (los.withinSight)
|
||||||
|
rigid.LinearVelocity = nav.GetForward() * ai.chaseSpeed;
|
||||||
|
else
|
||||||
|
rigid.LinearVelocity = nav.GetForward() * ai.chaseSpeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(nav.ReachedTarget())
|
||||||
|
{
|
||||||
|
giveUpTimer -= Time.DeltaTimeF;
|
||||||
|
|
||||||
|
ai.RotateToPlayer();
|
||||||
|
RotateToVelocity rotate = ai.GetScript<RotateToVelocity>();
|
||||||
|
if(rotate)
|
||||||
|
{
|
||||||
|
rotate.lookAround = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (animator && rigid)
|
||||||
|
{
|
||||||
|
if (rigid.LinearVelocity.GetMagnitude() < 0.001f)
|
||||||
|
{
|
||||||
|
if(run)
|
||||||
|
{
|
||||||
|
animator.Play(ai.idleAnim);
|
||||||
|
run = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(!run)
|
||||||
|
{
|
||||||
|
animator.Play(ai.alertRunAnim);
|
||||||
|
run = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
footStepTimer -= Time.DeltaTimeF;
|
||||||
|
if (footStepTimer <= 0.0f)
|
||||||
|
{
|
||||||
|
footStepTimer += footStepInterval;
|
||||||
|
AudioHandler.audioClipHandlers["HO_footsteps"].Play();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void fixedUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: ChaseState
|
||||||
|
ID: 166357249
|
||||||
|
Type: 9
|
|
@ -0,0 +1,64 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SHADE;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
{
|
||||||
|
public class IdleState: AIBaseState
|
||||||
|
{
|
||||||
|
|
||||||
|
float timer = 0.0f;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public IdleState(StateMachine machine): base(machine)
|
||||||
|
{
|
||||||
|
stateName = "Idle";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override void OnEnter()
|
||||||
|
{
|
||||||
|
timer = 0.0f;
|
||||||
|
animator.Play(ai.idleAnim);
|
||||||
|
SHADE.Audio.SetParameterWithLabel("PlayerDetection", "Undetected");
|
||||||
|
RotateToVelocity rotate = ai.GetScript<RotateToVelocity>();
|
||||||
|
if (rotate)
|
||||||
|
{
|
||||||
|
rotate.lookAround = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExit()
|
||||||
|
{
|
||||||
|
animator.Stop();
|
||||||
|
RotateToVelocity rotate = ai.GetScript<RotateToVelocity>();
|
||||||
|
if (rotate)
|
||||||
|
{
|
||||||
|
rotate.lookAround = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void update()
|
||||||
|
{
|
||||||
|
timer += Time.DeltaTimeF;
|
||||||
|
if(timer >= ai.idleDuration)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(PatrolState));
|
||||||
|
}
|
||||||
|
if(ai.ShouldTransitAlert())
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(AlertState));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void fixedUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: IdleState
|
||||||
|
ID: 164902316
|
||||||
|
Type: 9
|
|
@ -0,0 +1,117 @@
|
||||||
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
{
|
||||||
|
public class PatrolState: AIBaseState
|
||||||
|
{
|
||||||
|
|
||||||
|
Random rand;
|
||||||
|
Vector3 lastFramePos;
|
||||||
|
|
||||||
|
float stuckTimer;
|
||||||
|
bool run = true;
|
||||||
|
|
||||||
|
float footStepInterval = 12.0f / 30.0f;
|
||||||
|
float footStepTimer = 0.0f;
|
||||||
|
|
||||||
|
public PatrolState(StateMachine machine) : base(machine)
|
||||||
|
{
|
||||||
|
stateName = "Patrol";
|
||||||
|
rand = new Random();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnEnter()
|
||||||
|
{
|
||||||
|
Navigation nav = machine.GetComponent<Navigation>();
|
||||||
|
Transform transform = machine.GetComponent<Transform>();
|
||||||
|
if (nav && transform)
|
||||||
|
{
|
||||||
|
|
||||||
|
int index = rand.Next(0, ai.patrolPointPool.Count() - 1);
|
||||||
|
Transform dest = ai.patrolPointPool.ElementAt(index);
|
||||||
|
if (dest)
|
||||||
|
{
|
||||||
|
nav.MoveTo(dest.GlobalPosition);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
lastFramePos = transform.GlobalPosition;
|
||||||
|
|
||||||
|
stuckTimer = 0.0f;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
animator.Play(ai.walkingAnim);
|
||||||
|
AudioHandler.audioClipHandlers["HO_footsteps"].Play();
|
||||||
|
AudioHandler.audioClipHandlers["HO_humming"].Play();
|
||||||
|
footStepTimer = footStepInterval;
|
||||||
|
|
||||||
|
|
||||||
|
RotateToVelocity r = machine.GetScript<RotateToVelocity>();
|
||||||
|
if(r)
|
||||||
|
{
|
||||||
|
r.rotateToPlayerLastKnown = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExit()
|
||||||
|
{
|
||||||
|
animator.Stop();
|
||||||
|
AudioHandler.audioClipHandlers["HO_humming"].Stop(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void update()
|
||||||
|
{
|
||||||
|
Navigation nav = machine.GetComponent<Navigation>();
|
||||||
|
Transform transform = machine.GetComponent<Transform>();
|
||||||
|
RigidBody rigid = machine.GetComponent<RigidBody>();
|
||||||
|
if(nav && transform && rigid)
|
||||||
|
{
|
||||||
|
rigid.LinearVelocity = nav.GetForward() * ai.patrolSpeed;
|
||||||
|
Vector3 d = lastFramePos - transform.GlobalPosition;
|
||||||
|
if (d.GetSqrMagnitude() < 0.001f)
|
||||||
|
{
|
||||||
|
//stuckTimer += Time.DeltaTimeF;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (nav.ReachedTarget())
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(IdleState));
|
||||||
|
}
|
||||||
|
lastFramePos = transform.GlobalPosition;
|
||||||
|
|
||||||
|
}
|
||||||
|
if(stuckTimer >= 0.5f)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(IdleState));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ai.ShouldTransitAlert())
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(AlertState));
|
||||||
|
}
|
||||||
|
footStepTimer -= Time.DeltaTimeF;
|
||||||
|
if(footStepTimer <= 0.0f)
|
||||||
|
{
|
||||||
|
footStepTimer += footStepInterval;
|
||||||
|
AudioHandler.audioClipHandlers["HO_footsteps"].Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void fixedUpdate()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: PatrolState
|
||||||
|
ID: 155844701
|
||||||
|
Type: 9
|
|
@ -0,0 +1,53 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
{
|
||||||
|
public class TimeoutState : AIBaseState
|
||||||
|
{
|
||||||
|
float timer = 0.0f;
|
||||||
|
float alertCooldown = 1.0f;
|
||||||
|
|
||||||
|
public TimeoutState(StateMachine machine) : base(machine)
|
||||||
|
{
|
||||||
|
stateName = "Timeout";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override void OnEnter()
|
||||||
|
{
|
||||||
|
timer = 0.0f;
|
||||||
|
animator.Play(ai.idleAnim);
|
||||||
|
|
||||||
|
SHADE.Audio.SetParameterWithLabel("HomeownerBark", "DetectLost");
|
||||||
|
AudioHandler.audioClipHandlers["HO_bark"].Play();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void update()
|
||||||
|
{
|
||||||
|
timer += Time.DeltaTimeF;
|
||||||
|
if (timer >= ai.timeoutDuration)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(PatrolState));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void fixedUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExit()
|
||||||
|
{
|
||||||
|
ai.alertCooldown = alertCooldown;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: TimeoutState
|
||||||
|
ID: 167077719
|
||||||
|
Type: 9
|
|
@ -14,9 +14,6 @@ public class Breakable : Script
|
||||||
public bool isBreak { get; set; }
|
public bool isBreak { get; set; }
|
||||||
private List<GameObject> itemPieces = new List<GameObject>();
|
private List<GameObject> itemPieces = new List<GameObject>();
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private string breakClipHandlerName;
|
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private string breakClipPath;
|
private string breakClipPath;
|
||||||
|
|
||||||
|
@ -38,7 +35,8 @@ public class Breakable : Script
|
||||||
|
|
||||||
isBreak = false;
|
isBreak = false;
|
||||||
|
|
||||||
AudioHandler.audioClipHandlers[breakClipHandlerName] = Audio.CreateAudioClip(breakClipPath);
|
AudioHandler.audioClipHandlers["break"] = Audio.CreateAudioClip(breakClipPath);
|
||||||
|
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["break"], GameObject.EntityId);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void update()
|
protected override void update()
|
||||||
|
@ -81,9 +79,7 @@ public class Breakable : Script
|
||||||
|
|
||||||
GameManager.Instance.itemShatter = false;
|
GameManager.Instance.itemShatter = false;
|
||||||
isBreak = false;
|
isBreak = false;
|
||||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers[breakClipHandlerName], GameObject.EntityId);
|
AudioHandler.audioClipHandlers["break"].Play();
|
||||||
AudioHandler.audioClipHandlers[breakClipHandlerName].Play();
|
|
||||||
//Audio.DetachAudioClipFromObject(AudioHandler.audioClipHandlers[breakClipHandlerName]);
|
|
||||||
GameObject.SetActive(false);
|
GameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
using SHADE_Scripting.Audio;
|
using SHADE_Scripting.Audio;
|
||||||
|
using SHADE_Scripting.Gameplay.AIBehaviour.AIRework;
|
||||||
using System;
|
using System;
|
||||||
public class Item : Script
|
public class Item : Script
|
||||||
{
|
{
|
||||||
|
@ -10,21 +11,29 @@ public class Item : Script
|
||||||
HEAVY
|
HEAVY
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum Food
|
||||||
|
{
|
||||||
|
EGG,
|
||||||
|
APPLE,
|
||||||
|
MEAT,
|
||||||
|
WATERMELON,
|
||||||
|
CHEESE
|
||||||
|
}
|
||||||
|
|
||||||
public int Score = 10;
|
public int Score = 10;
|
||||||
|
|
||||||
public ItemCategory currCategory;
|
public ItemCategory currCategory;
|
||||||
|
public Food currFood;
|
||||||
public bool returnBack { get; set; }
|
public bool returnBack { get; set; }
|
||||||
private Transform transform;
|
private Transform transform;
|
||||||
private RigidBody rb;
|
private RigidBody rb;
|
||||||
private bool playSound = false;
|
|
||||||
private bool caputurePos = false;
|
private bool caputurePos = false;
|
||||||
private Vector3 firstPostion;
|
private Vector3 firstPostion;
|
||||||
private Collider collider;
|
private Vector3 firstRotation;
|
||||||
public float density = 1.0f;
|
|
||||||
public bool dontReturn = false;
|
public bool dontReturn = false;
|
||||||
|
private bool once = true;
|
||||||
|
|
||||||
|
private bool homeownerOnce = true;
|
||||||
private bool checkSound = false;
|
|
||||||
public float soundDistance = 10;
|
public float soundDistance = 10;
|
||||||
|
|
||||||
private float highlightPos = 0.0f;
|
private float highlightPos = 0.0f;
|
||||||
|
@ -40,9 +49,6 @@ public class Item : Script
|
||||||
{
|
{
|
||||||
transform = GetComponent<Transform>();
|
transform = GetComponent<Transform>();
|
||||||
rb = GetComponent<RigidBody>();
|
rb = GetComponent<RigidBody>();
|
||||||
collider = GetComponent<Collider>();
|
|
||||||
if(collider)
|
|
||||||
collider.GetCollisionShape(0).Density = density;
|
|
||||||
|
|
||||||
rend = GetComponent<Renderable>();
|
rend = GetComponent<Renderable>();
|
||||||
if (!rend)
|
if (!rend)
|
||||||
|
@ -53,6 +59,11 @@ public class Item : Script
|
||||||
AudioHandler.audioClipHandlers["SFXImpactElastic"] = Audio.CreateAudioClip("event:/Props/impact_elastic");
|
AudioHandler.audioClipHandlers["SFXImpactElastic"] = Audio.CreateAudioClip("event:/Props/impact_elastic");
|
||||||
AudioHandler.audioClipHandlers["SFXImpactHard"] = Audio.CreateAudioClip("event:/Props/impact_hard");
|
AudioHandler.audioClipHandlers["SFXImpactHard"] = Audio.CreateAudioClip("event:/Props/impact_hard");
|
||||||
|
|
||||||
|
if (currCategory == ItemCategory.LIGHT)
|
||||||
|
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXImpactElastic"], GameObject.EntityId);
|
||||||
|
else if (currCategory == ItemCategory.MEDIUM || currCategory == ItemCategory.HEAVY)
|
||||||
|
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXImpactHard"], GameObject.EntityId);
|
||||||
|
|
||||||
emitter = GetComponent<ParticleEmitter>();
|
emitter = GetComponent<ParticleEmitter>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,25 +109,15 @@ public class Item : Script
|
||||||
rb.ClearTorque();
|
rb.ClearTorque();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(transform)
|
if (transform)
|
||||||
|
{
|
||||||
|
transform.LocalEulerAngles = firstRotation;
|
||||||
transform.LocalPosition = firstPostion;
|
transform.LocalPosition = firstPostion;
|
||||||
|
}
|
||||||
|
|
||||||
returnBack = false;
|
returnBack = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (checkSound)
|
|
||||||
{
|
|
||||||
/* //need to wait for collisionEnter Fix
|
|
||||||
Vector3 itemPos = transform.LocalPosition;
|
|
||||||
Vector3 len = Homeowner1.aiInstance.GetComponent<Transform>().LocalPosition - itemPos;
|
|
||||||
Debug.Log($"distance: {len.GetSqrMagnitude()}");
|
|
||||||
if (len.GetSqrMagnitude() <= soundDistance)
|
|
||||||
{
|
|
||||||
//set ai to alert
|
|
||||||
}
|
|
||||||
checkSound = false;*/
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void onCollisionEnter(CollisionInfo info)
|
protected override void onCollisionEnter(CollisionInfo info)
|
||||||
|
@ -125,37 +126,35 @@ public class Item : Script
|
||||||
if (!caputurePos)
|
if (!caputurePos)
|
||||||
{
|
{
|
||||||
firstPostion = transform.LocalPosition;
|
firstPostion = transform.LocalPosition;
|
||||||
|
firstRotation = transform.LocalEulerAngles;
|
||||||
caputurePos = true;
|
caputurePos = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (playSound)
|
if (once)
|
||||||
{
|
{
|
||||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXImpactElastic"], GameObject.EntityId);
|
|
||||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXImpactHard"], GameObject.EntityId);
|
|
||||||
if (currCategory == ItemCategory.LIGHT)
|
if (currCategory == ItemCategory.LIGHT)
|
||||||
AudioHandler.audioClipHandlers["SFXImpactElastic"].Play();
|
AudioHandler.audioClipHandlers["SFXImpactElastic"].Play();
|
||||||
else if (currCategory == ItemCategory.MEDIUM || currCategory == ItemCategory.HEAVY)
|
else if (currCategory == ItemCategory.MEDIUM || currCategory == ItemCategory.HEAVY)
|
||||||
AudioHandler.audioClipHandlers["SFXImpactHard"].Play();
|
AudioHandler.audioClipHandlers["SFXImpactHard"].Play();
|
||||||
playSound = false;
|
|
||||||
Audio.DetachAudioClipFromObject(AudioHandler.audioClipHandlers["SFXImpactElastic"]);
|
|
||||||
Audio.DetachAudioClipFromObject(AudioHandler.audioClipHandlers["SFXImpactHard"]);
|
|
||||||
|
|
||||||
if(emitter)
|
if (emitter)
|
||||||
emitter.Emit();
|
emitter.Emit();
|
||||||
|
|
||||||
Debug.Log("EMIT");
|
once = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (info.GameObject.GetScript<Homeowner1>() && !returnBack)
|
|
||||||
|
if (info.GameObject.GetScript<HomeOwnerAI>() && homeownerOnce)
|
||||||
{
|
{
|
||||||
|
homeownerOnce = false;
|
||||||
returnBack = true;
|
returnBack = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void onCollisionExit(CollisionInfo info)
|
protected override void onCollisionExit(CollisionInfo info)
|
||||||
{
|
{
|
||||||
playSound = true;
|
homeownerOnce = true;
|
||||||
checkSound = true;
|
once = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
public class PlayerLandState : BaseState
|
public class PlayerLandState : BaseState
|
||||||
|
|
|
@ -6,6 +6,7 @@ public class PlayerRunState : BaseState
|
||||||
{
|
{
|
||||||
private float timer;
|
private float timer;
|
||||||
private float delay = 0.25f;
|
private float delay = 0.25f;
|
||||||
|
private bool left = true;
|
||||||
|
|
||||||
public PlayerRunState(StateMachine stateMachine) : base(stateMachine)
|
public PlayerRunState(StateMachine stateMachine) : base(stateMachine)
|
||||||
{
|
{
|
||||||
|
@ -14,6 +15,11 @@ public class PlayerRunState : BaseState
|
||||||
public override void OnEnter()
|
public override void OnEnter()
|
||||||
{
|
{
|
||||||
//Debug.Log("WALK ENTER");
|
//Debug.Log("WALK ENTER");
|
||||||
|
timer = delay;
|
||||||
|
machine.GetScript<PlayerController>().playLandedAnimation = false;
|
||||||
|
machine.GetScript<PlayerController>().Leftsmoke.EmissionCount = machine.GetScript<PlayerController>().smokeCount * 4;
|
||||||
|
machine.GetScript<PlayerController>().Rightsmoke.EmissionCount = machine.GetScript<PlayerController>().smokeCount * 4;
|
||||||
|
|
||||||
if (PlayerAnimations.Instance)
|
if (PlayerAnimations.Instance)
|
||||||
{
|
{
|
||||||
PlayerAnimations.Instance.playerAnimator.Play(PlayerAnimations.Instance.playerRunClip);
|
PlayerAnimations.Instance.playerAnimator.Play(PlayerAnimations.Instance.playerRunClip);
|
||||||
|
@ -29,6 +35,27 @@ public class PlayerRunState : BaseState
|
||||||
|
|
||||||
if (timer > delay)
|
if (timer > delay)
|
||||||
{
|
{
|
||||||
|
if (left)
|
||||||
|
{
|
||||||
|
if (machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y > 0.0f)
|
||||||
|
machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y - (MathF.PI * 1.5f), machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets.y);
|
||||||
|
else
|
||||||
|
machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y + (MathF.PI * 0.5f), machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets.y);
|
||||||
|
|
||||||
|
machine.GetScript<PlayerController>().Leftsmoke.Emit();
|
||||||
|
left = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y > 0.0f)
|
||||||
|
machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y - (MathF.PI * 1.5f), machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets.y);
|
||||||
|
else
|
||||||
|
machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y + (MathF.PI * 0.5f), machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets.y);
|
||||||
|
|
||||||
|
machine.GetScript<PlayerController>().Rightsmoke.Emit();
|
||||||
|
left = true;
|
||||||
|
}
|
||||||
|
|
||||||
AudioHandler.audioClipHandlers["footsteps"].Play();
|
AudioHandler.audioClipHandlers["footsteps"].Play();
|
||||||
timer = 0;
|
timer = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
using SHADE_Scripting.Audio;
|
using SHADE_Scripting.Audio;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
public class PlayerWalkState : BaseState
|
public class PlayerWalkState : BaseState
|
||||||
{
|
{
|
||||||
private float timer;
|
private float timer;
|
||||||
private float delay = 0.5f;
|
private float delay = 0.4f;
|
||||||
|
private bool left = true;
|
||||||
public PlayerWalkState(StateMachine stateMachine) : base(stateMachine)
|
public PlayerWalkState(StateMachine stateMachine) : base(stateMachine)
|
||||||
{
|
{
|
||||||
stateName = "Walk State";
|
stateName = "Walk State";
|
||||||
|
@ -14,6 +15,8 @@ public class PlayerWalkState : BaseState
|
||||||
{
|
{
|
||||||
//Debug.Log("WALK ENTER");
|
//Debug.Log("WALK ENTER");
|
||||||
timer = delay;
|
timer = delay;
|
||||||
|
machine.GetScript<PlayerController>().Leftsmoke.EmissionCount = machine.GetScript<PlayerController>().smokeCount;
|
||||||
|
machine.GetScript<PlayerController>().Rightsmoke.EmissionCount = machine.GetScript<PlayerController>().smokeCount;
|
||||||
|
|
||||||
machine.GetScript<PlayerController>().playLandedAnimation = false;
|
machine.GetScript<PlayerController>().playLandedAnimation = false;
|
||||||
|
|
||||||
|
@ -47,6 +50,27 @@ public class PlayerWalkState : BaseState
|
||||||
|
|
||||||
if (timer > delay)
|
if (timer > delay)
|
||||||
{
|
{
|
||||||
|
if (left)
|
||||||
|
{
|
||||||
|
if (machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y > 0.0f)
|
||||||
|
machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y - (MathF.PI * 1.5f), machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets.y);
|
||||||
|
else
|
||||||
|
machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y + (MathF.PI * 0.5f), machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets.y);
|
||||||
|
|
||||||
|
machine.GetScript<PlayerController>().Leftsmoke.Emit();
|
||||||
|
left = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y > 0.0f)
|
||||||
|
machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y - (MathF.PI * 1.5f), machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets.y);
|
||||||
|
else
|
||||||
|
machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y + (MathF.PI * 0.5f), machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets.y);
|
||||||
|
|
||||||
|
machine.GetScript<PlayerController>().Rightsmoke.Emit();
|
||||||
|
left = true;
|
||||||
|
}
|
||||||
|
|
||||||
AudioHandler.audioClipHandlers["footsteps"].Play();
|
AudioHandler.audioClipHandlers["footsteps"].Play();
|
||||||
timer = 0;
|
timer = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
using SHADE_Scripting;
|
using SHADE_Scripting;
|
||||||
using SHADE_Scripting.Audio;
|
using SHADE_Scripting.Audio;
|
||||||
using System;
|
using System;
|
||||||
|
@ -50,10 +50,18 @@ public class PickAndThrow : Script
|
||||||
|
|
||||||
public float aimingFOV = 15.0f;
|
public float aimingFOV = 15.0f;
|
||||||
|
|
||||||
|
private TrajectoryRenderable trajComp;
|
||||||
|
private Vector3 currThrowForce;
|
||||||
|
private float currentItemMass;
|
||||||
|
|
||||||
|
public uint trajMaxSteps = 50;
|
||||||
|
public float trajTimeSteps = 0.03f;
|
||||||
|
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
pc = GetScript<PlayerController>();
|
pc = GetScript<PlayerController>();
|
||||||
if(!pc)
|
if (!pc)
|
||||||
Debug.LogError("PLAYER CONTROLLER EMPTY");
|
Debug.LogError("PLAYER CONTROLLER EMPTY");
|
||||||
|
|
||||||
raccoonHoldLocation = GetComponentInChildren<Transform>();
|
raccoonHoldLocation = GetComponentInChildren<Transform>();
|
||||||
|
@ -61,12 +69,18 @@ public class PickAndThrow : Script
|
||||||
Debug.LogError("CHILD EMPTY");
|
Debug.LogError("CHILD EMPTY");
|
||||||
|
|
||||||
tpc = GetScriptInChildren<ThirdPersonCamera>();
|
tpc = GetScriptInChildren<ThirdPersonCamera>();
|
||||||
if(!tpc)
|
if (!tpc)
|
||||||
Debug.LogError("TPC EMPTY");
|
Debug.LogError("TPC EMPTY");
|
||||||
|
|
||||||
AudioHandler.audioClipHandlers["SFXThrow"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_throw");
|
AudioHandler.audioClipHandlers["SFXThrowLarge"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_throw_large");
|
||||||
|
AudioHandler.audioClipHandlers["SFXThrowMedium"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_throw_medium");
|
||||||
|
AudioHandler.audioClipHandlers["SFXThrowSmall"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_throw_small");
|
||||||
|
|
||||||
timer = delayTimer;
|
timer = delayTimer;
|
||||||
|
|
||||||
|
trajComp = GetComponentInChildren<TrajectoryRenderable>();
|
||||||
|
if (!trajComp)
|
||||||
|
Debug.LogError("TrajectoryRenderable MISSING");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void start()
|
protected override void start()
|
||||||
|
@ -114,7 +128,13 @@ public class PickAndThrow : Script
|
||||||
|
|
||||||
if (Input.GetMouseButtonUp(Input.MouseCode.LeftButton) && pc.isAiming)
|
if (Input.GetMouseButtonUp(Input.MouseCode.LeftButton) && pc.isAiming)
|
||||||
{
|
{
|
||||||
AudioHandler.audioClipHandlers["SFXThrow"].Play();
|
if (itemScript.currCategory == ItemCategory.LIGHT)
|
||||||
|
AudioHandler.audioClipHandlers["SFXThrowSmall"].Play();
|
||||||
|
else if (itemScript.currCategory == ItemCategory.MEDIUM)
|
||||||
|
AudioHandler.audioClipHandlers["SFXThrowMedium"].Play();
|
||||||
|
else
|
||||||
|
AudioHandler.audioClipHandlers["SFXThrowLarge"].Play();
|
||||||
|
|
||||||
itemRidigBody.IsGravityEnabled = true;
|
itemRidigBody.IsGravityEnabled = true;
|
||||||
itemCollider.GetCollisionShape(0).IsTrigger = false;
|
itemCollider.GetCollisionShape(0).IsTrigger = false;
|
||||||
pc.isAiming = false;
|
pc.isAiming = false;
|
||||||
|
@ -161,6 +181,19 @@ public class PickAndThrow : Script
|
||||||
PlayPickUpAnimation();
|
PlayPickUpAnimation();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pc.isAiming && itemScript)
|
||||||
|
{
|
||||||
|
if (itemScript.currCategory == ItemCategory.LIGHT)
|
||||||
|
currThrowForce = new Vector3(throwForce.x * lastXDir, throwForce.y + (throwForce.y * GetPitchRatioRange()), throwForce.z * lastZDir) * 0.2f;
|
||||||
|
else if (itemScript.currCategory == ItemCategory.MEDIUM)
|
||||||
|
currThrowForce = new Vector3(throwForce.x * lastXDir, throwForce.y + (throwForce.y * GetPitchRatioRange()), throwForce.z * lastZDir) * 0.75f;
|
||||||
|
else
|
||||||
|
currThrowForce = new Vector3(throwForce.x * lastXDir, throwForce.y + (throwForce.y * GetPitchRatioRange()), throwForce.z * lastZDir);
|
||||||
|
|
||||||
|
if (pc.holdItem && trajComp)
|
||||||
|
trajComp.SimulateTrajectory(item.EntityId, currentItemMass, currThrowForce, trajTimeSteps, trajMaxSteps);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void fixedUpdate()
|
protected override void fixedUpdate()
|
||||||
|
@ -172,22 +205,21 @@ public class PickAndThrow : Script
|
||||||
|
|
||||||
if (throwItem && itemRidigBody && pc)
|
if (throwItem && itemRidigBody && pc)
|
||||||
{
|
{
|
||||||
if (itemScript)
|
itemRidigBody.AddForce(currThrowForce);
|
||||||
{
|
|
||||||
Vector3 vec = new Vector3(throwForce.x * lastXDir, throwForce.y + (throwForce.y * GetPitchRatioRange()), throwForce.z * lastZDir);
|
|
||||||
if (itemScript.currCategory == ItemCategory.LIGHT)
|
|
||||||
itemRidigBody.AddForce(vec * 0.2f);
|
|
||||||
if (itemScript.currCategory == ItemCategory.MEDIUM)
|
|
||||||
itemRidigBody.AddForce(vec * 0.75f);
|
|
||||||
if (itemScript.currCategory == ItemCategory.HEAVY)
|
|
||||||
itemRidigBody.AddForce(vec);
|
|
||||||
}
|
|
||||||
itemRidigBody.LinearVelocity += pc.rb.LinearVelocity;
|
itemRidigBody.LinearVelocity += pc.rb.LinearVelocity;
|
||||||
throwItem = false;
|
throwItem = false;
|
||||||
ResetItemObject();
|
ResetItemObject();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetItemGravityBack()
|
||||||
|
{
|
||||||
|
if(itemRidigBody)
|
||||||
|
itemRidigBody.IsGravityEnabled = true;
|
||||||
|
if(itemCollider)
|
||||||
|
itemCollider.GetCollisionShape(0).IsTrigger = false;
|
||||||
|
}
|
||||||
|
|
||||||
public void ResetItemObject()
|
public void ResetItemObject()
|
||||||
{
|
{
|
||||||
itemRidigBody = null;
|
itemRidigBody = null;
|
||||||
|
@ -207,6 +239,7 @@ public class PickAndThrow : Script
|
||||||
Debug.Log("Item rb EMPTY");
|
Debug.Log("Item rb EMPTY");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
currentItemMass = itemRidigBody.Mass;
|
||||||
itemRidigBody.IsGravityEnabled = false;
|
itemRidigBody.IsGravityEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -441,7 +474,7 @@ public class PickAndThrow : Script
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TweenAimCamArm(bool aim)
|
public void TweenAimCamArm(bool aim)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (aim)
|
if (aim)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using SHADE_Scripting.Audio;
|
using SHADE_Scripting.Audio;
|
||||||
|
@ -22,8 +22,14 @@ public class PlayerController : Script
|
||||||
public Transform tranform { get; set; }
|
public Transform tranform { get; set; }
|
||||||
public Camera cam { get; set; }
|
public Camera cam { get; set; }
|
||||||
public CameraArm camArm { get; set; }
|
public CameraArm camArm { get; set; }
|
||||||
private PickAndThrow pat;
|
public Collider collider { get; set; }
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
public PickAndThrow pat;
|
||||||
public StateMachine stateMachine { get; set; }
|
public StateMachine stateMachine { get; set; }
|
||||||
|
public ParticleEmitter Leftsmoke { get; set; }
|
||||||
|
public ParticleEmitter Rightsmoke { get; set; }
|
||||||
|
public int smokeCount = 4;
|
||||||
|
|
||||||
public bool holdItem { get; set; }
|
public bool holdItem { get; set; }
|
||||||
public bool isAiming { get; set; }
|
public bool isAiming { get; set; }
|
||||||
|
@ -92,6 +98,10 @@ public class PlayerController : Script
|
||||||
|
|
||||||
public bool playLandedAnimation { get; set; }
|
public bool playLandedAnimation { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public GameObject leftParticle;
|
||||||
|
public GameObject rightParticle;
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
//default setup
|
//default setup
|
||||||
|
@ -115,6 +125,10 @@ public class PlayerController : Script
|
||||||
if(!tranform)
|
if(!tranform)
|
||||||
Debug.LogError("tranform is MISSING!");
|
Debug.LogError("tranform is MISSING!");
|
||||||
|
|
||||||
|
collider = GetComponent<Collider>();
|
||||||
|
if (!collider)
|
||||||
|
Debug.LogError("collider is MISSING!");
|
||||||
|
|
||||||
stateMachine = AddScript<StateMachine>();
|
stateMachine = AddScript<StateMachine>();
|
||||||
Dictionary<Type, BaseState> dictionary = new Dictionary<Type, BaseState>();
|
Dictionary<Type, BaseState> dictionary = new Dictionary<Type, BaseState>();
|
||||||
dictionary.Add(typeof(PlayerIdleState), new PlayerIdleState(stateMachine));
|
dictionary.Add(typeof(PlayerIdleState), new PlayerIdleState(stateMachine));
|
||||||
|
@ -143,8 +157,19 @@ public class PlayerController : Script
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioHandler.audioClipHandlers["footsteps"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_footsteps");
|
AudioHandler.audioClipHandlers["footsteps"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_footsteps");
|
||||||
|
AudioHandler.audioClipHandlers["Jump"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_jump");
|
||||||
|
AudioHandler.audioClipHandlers["JumpPad"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_jumpPad");
|
||||||
|
AudioHandler.audioClipHandlers["Land"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_land");
|
||||||
|
AudioHandler.audioClipHandlers["RaccoonCaught"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_caught");
|
||||||
|
|
||||||
playLandedAnimation = false;
|
playLandedAnimation = false;
|
||||||
|
|
||||||
|
Leftsmoke = leftParticle.GetComponent<ParticleEmitter>();
|
||||||
|
if (!Leftsmoke)
|
||||||
|
Debug.LogError("left ParticleEmitter MISSING");
|
||||||
|
Rightsmoke = rightParticle.GetComponent<ParticleEmitter>();
|
||||||
|
if (!Leftsmoke)
|
||||||
|
Debug.LogError("right ParticleEmitter MISSING");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void start()
|
protected override void start()
|
||||||
|
@ -171,7 +196,7 @@ public class PlayerController : Script
|
||||||
float ratio = System.Math.Clamp(1 - (disSqr / (1 + disSqr)), 0, 1.0f);
|
float ratio = System.Math.Clamp(1 - (disSqr / (1 + disSqr)), 0, 1.0f);
|
||||||
float temp = (1 - ratio) * 0.00075f;
|
float temp = (1 - ratio) * 0.00075f;
|
||||||
if (temp <= 0.0006f)
|
if (temp <= 0.0006f)
|
||||||
temp = 0.1f;
|
temp = 0.0075f;
|
||||||
silhouettePlayerRend.Material.SetProperty<float>("data.offset", temp);
|
silhouettePlayerRend.Material.SetProperty<float>("data.offset", temp);
|
||||||
silhouetteBagRend.Material.SetProperty<float>("data.offset", temp);
|
silhouetteBagRend.Material.SetProperty<float>("data.offset", temp);
|
||||||
}
|
}
|
||||||
|
@ -210,7 +235,6 @@ public class PlayerController : Script
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GotCaught();
|
|
||||||
Rotation();
|
Rotation();
|
||||||
MoveKey();
|
MoveKey();
|
||||||
Sprint();
|
Sprint();
|
||||||
|
@ -237,6 +261,10 @@ public class PlayerController : Script
|
||||||
|
|
||||||
private void MoveKey()
|
private void MoveKey()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (currentState == RaccoonStates.CAUGHT)
|
||||||
|
return;
|
||||||
|
|
||||||
axisMove = Vector2.Zero;
|
axisMove = Vector2.Zero;
|
||||||
if (Input.GetKey(Input.KeyCode.W))
|
if (Input.GetKey(Input.KeyCode.W))
|
||||||
{
|
{
|
||||||
|
@ -273,7 +301,7 @@ public class PlayerController : Script
|
||||||
axisMove.Normalise();
|
axisMove.Normalise();
|
||||||
isMoveKeyPress = axisMove.x != 0 || axisMove.y != 0;
|
isMoveKeyPress = axisMove.x != 0 || axisMove.y != 0;
|
||||||
|
|
||||||
if (isMoveKeyPress && isGrounded && !Input.GetKey(Input.KeyCode.LeftShift))
|
if (isMoveKeyPress && isGrounded && !Input.GetKey(Input.KeyCode.LeftShift) && currentState != RaccoonStates.CAUGHT)
|
||||||
{
|
{
|
||||||
currentState = RaccoonStates.WALKING;
|
currentState = RaccoonStates.WALKING;
|
||||||
|
|
||||||
|
@ -292,11 +320,11 @@ public class PlayerController : Script
|
||||||
|
|
||||||
private void Move()
|
private void Move()
|
||||||
{
|
{
|
||||||
if (rb != null && currentState != RaccoonStates.CAUGHT)
|
if (rb && currentState != RaccoonStates.CAUGHT)
|
||||||
{
|
{
|
||||||
rb.LinearVelocity += new Vector3(axisMove.x * moveForce, 0.0f, axisMove.y * moveForce) * Time.DeltaTimeF;
|
rb.LinearVelocity += new Vector3(axisMove.x * moveForce, 0.0f, axisMove.y * moveForce) * Time.DeltaTimeF;
|
||||||
|
|
||||||
if (isMoveKeyPress && rb)
|
if (isMoveKeyPress)
|
||||||
{
|
{
|
||||||
Vector3 velNor = rb.LinearVelocity;
|
Vector3 velNor = rb.LinearVelocity;
|
||||||
velNor.y = 0.0f;
|
velNor.y = 0.0f;
|
||||||
|
@ -317,13 +345,25 @@ public class PlayerController : Script
|
||||||
|
|
||||||
private void Sprint()
|
private void Sprint()
|
||||||
{
|
{
|
||||||
|
if (currentState == RaccoonStates.CAUGHT)
|
||||||
|
return;
|
||||||
|
|
||||||
if (Input.GetKey(Input.KeyCode.LeftShift) && isMoveKeyPress && isGrounded)
|
if (Input.GetKey(Input.KeyCode.LeftShift) && isMoveKeyPress && isGrounded)
|
||||||
{
|
{
|
||||||
currentState = RaccoonStates.RUNNING;
|
currentState = RaccoonStates.RUNNING;
|
||||||
if (stateMachine && !stateMachine.IsState(typeof(PlayerRunState)))
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerRunState)))
|
||||||
stateMachine.SetState(typeof(PlayerRunState));
|
stateMachine.SetState(typeof(PlayerRunState));
|
||||||
|
|
||||||
|
if (pat && holdItem)
|
||||||
|
{
|
||||||
holdItem = false;
|
holdItem = false;
|
||||||
|
isAiming = false;
|
||||||
|
cam.FOV = Settings.cameraFOV;
|
||||||
|
pat.TweenAimCamArm(false);
|
||||||
|
pat.SetItemGravityBack();
|
||||||
|
pat.ResetItemObject();
|
||||||
|
}
|
||||||
|
|
||||||
if (!sprintIncreaseOnce)
|
if (!sprintIncreaseOnce)
|
||||||
{
|
{
|
||||||
sprintIncreaseOnce = true;
|
sprintIncreaseOnce = true;
|
||||||
|
@ -335,6 +375,13 @@ public class PlayerController : Script
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Input.GetKey(Input.KeyCode.LeftShift) && !isMoveKeyPress && isGrounded)
|
||||||
|
{
|
||||||
|
currentState = RaccoonStates.IDLE;
|
||||||
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState)))
|
||||||
|
stateMachine.SetState(typeof(PlayerIdleState));
|
||||||
|
}
|
||||||
|
|
||||||
if (Input.GetKeyUp(Input.KeyCode.LeftShift))
|
if (Input.GetKeyUp(Input.KeyCode.LeftShift))
|
||||||
{
|
{
|
||||||
if (isMoveKeyPress && isGrounded)
|
if (isMoveKeyPress && isGrounded)
|
||||||
|
@ -343,7 +390,7 @@ public class PlayerController : Script
|
||||||
if (stateMachine && !stateMachine.IsState(typeof(PlayerWalkState)))
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerWalkState)))
|
||||||
stateMachine.SetState(typeof(PlayerWalkState));
|
stateMachine.SetState(typeof(PlayerWalkState));
|
||||||
}
|
}
|
||||||
else if(!isMoveKeyPress && isGrounded)
|
else if (!isMoveKeyPress && isGrounded)
|
||||||
{
|
{
|
||||||
currentState = RaccoonStates.IDLE;
|
currentState = RaccoonStates.IDLE;
|
||||||
if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState)))
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState)))
|
||||||
|
@ -383,17 +430,24 @@ public class PlayerController : Script
|
||||||
v.y *= jumpPadMultiplayer;
|
v.y *= jumpPadMultiplayer;
|
||||||
landedOnJumpPad = false;
|
landedOnJumpPad = false;
|
||||||
jumpPadDrop = true;
|
jumpPadDrop = true;
|
||||||
|
AudioHandler.audioClipHandlers["JumpPad"].Play();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
AudioHandler.audioClipHandlers["Jump"].Play();
|
||||||
|
|
||||||
rb.LinearVelocity = v;
|
rb.LinearVelocity = v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isGrounded && rb != null && (rb.LinearVelocity.y < 0.0f || Input.GetKeyUp(Input.KeyCode.Space)))
|
if (!isGrounded && rb != null && (rb.LinearVelocity.y < 0.0f || Input.GetKeyUp(Input.KeyCode.Space)))
|
||||||
|
{
|
||||||
|
if (currentState != RaccoonStates.CAUGHT)
|
||||||
{
|
{
|
||||||
currentState = RaccoonStates.FALLING;
|
currentState = RaccoonStates.FALLING;
|
||||||
if (stateMachine && !stateMachine.IsState(typeof(PlayerFallState)))
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerFallState)))
|
||||||
stateMachine.SetState(typeof(PlayerFallState));
|
stateMachine.SetState(typeof(PlayerFallState));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -417,6 +471,9 @@ public class PlayerController : Script
|
||||||
|
|
||||||
private void Gravity()
|
private void Gravity()
|
||||||
{
|
{
|
||||||
|
if (currentState == RaccoonStates.CAUGHT)
|
||||||
|
return;
|
||||||
|
|
||||||
if (rb != null)
|
if (rb != null)
|
||||||
{
|
{
|
||||||
//check player vel.y if its close to zero its on the ground
|
//check player vel.y if its close to zero its on the ground
|
||||||
|
@ -425,6 +482,7 @@ public class PlayerController : Script
|
||||||
isGrounded = true;
|
isGrounded = true;
|
||||||
if (currentState == RaccoonStates.FALLING)
|
if (currentState == RaccoonStates.FALLING)
|
||||||
{
|
{
|
||||||
|
AudioHandler.audioClipHandlers["Land"].Play();
|
||||||
currentState = RaccoonStates.LANDED;
|
currentState = RaccoonStates.LANDED;
|
||||||
jumpPadDrop = false;
|
jumpPadDrop = false;
|
||||||
dropTimer = 0.0f;
|
dropTimer = 0.0f;
|
||||||
|
@ -467,23 +525,22 @@ public class PlayerController : Script
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GotCaught()
|
|
||||||
{
|
|
||||||
if (currentState == RaccoonStates.CAUGHT && tranform && respawnPoint)
|
|
||||||
{
|
|
||||||
currentState = RaccoonStates.IDLE;
|
|
||||||
if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState)))
|
|
||||||
stateMachine.SetState(typeof(PlayerIdleState));
|
|
||||||
tranform.LocalPosition = respawnPoint.GetComponent<Transform>().LocalPosition;
|
|
||||||
|
|
||||||
GameManager.Instance.RacoonCaught();
|
public void Caught()
|
||||||
|
{
|
||||||
|
currentState = RaccoonStates.CAUGHT;
|
||||||
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerCaughtState)))
|
||||||
|
stateMachine.SetState(typeof(PlayerCaughtState));
|
||||||
|
|
||||||
|
AudioHandler.audioClipHandlers["RaccoonCaught"].Play();
|
||||||
if (pat && pat.item)
|
if (pat && pat.item)
|
||||||
{
|
{
|
||||||
if (holdItem)
|
if (holdItem)
|
||||||
{
|
{
|
||||||
holdItem = false;
|
holdItem = false;
|
||||||
pat.item.GetScript<Item>().returnBack = true;
|
pat.item.GetScript<Item>().returnBack = true;
|
||||||
|
pat.SetItemGravityBack();
|
||||||
|
pat.ResetItemObject();
|
||||||
}
|
}
|
||||||
if (isAiming)
|
if (isAiming)
|
||||||
{
|
{
|
||||||
|
@ -493,6 +550,29 @@ public class PlayerController : Script
|
||||||
camArm.ArmLength = pat.tpc.armLength;
|
camArm.ArmLength = pat.tpc.armLength;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
landedOnJumpPad = false;
|
||||||
|
jumpPadDrop = false;
|
||||||
|
rb.ClearForces();
|
||||||
|
rb.ClearTorque();
|
||||||
|
rb.LinearVelocity = Vector3.Zero;
|
||||||
|
rb.AngularVelocity = Vector3.Zero;
|
||||||
|
collider.GetCollisionShape(0).IsTrigger = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Reset()
|
||||||
|
{
|
||||||
|
if (tranform && respawnPoint)
|
||||||
|
{
|
||||||
|
|
||||||
|
currentState = RaccoonStates.IDLE;
|
||||||
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState)))
|
||||||
|
stateMachine.SetState(typeof(PlayerIdleState));
|
||||||
|
|
||||||
|
collider.GetCollisionShape(0).IsTrigger = false;
|
||||||
|
tranform.GlobalPosition = respawnPoint.GetComponent<Transform>().GlobalPosition;
|
||||||
|
|
||||||
|
GameManager.Instance.RacoonCaught();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,6 @@ namespace SHADE_Scripting
|
||||||
public float armLength = 2.0f;
|
public float armLength = 2.0f;
|
||||||
public float turnSpeedPitch = 0.3f;
|
public float turnSpeedPitch = 0.3f;
|
||||||
public float turnSpeedYaw = 0.5f;
|
public float turnSpeedYaw = 0.5f;
|
||||||
public bool inverseXControls = false;
|
|
||||||
public bool inverseYControls = false;
|
|
||||||
public float pitchUpperClamp = 45.0f;
|
public float pitchUpperClamp = 45.0f;
|
||||||
public float pitchLowerClamp = 5.0f;
|
public float pitchLowerClamp = 5.0f;
|
||||||
|
|
||||||
|
@ -51,15 +49,15 @@ namespace SHADE_Scripting
|
||||||
if (arm)
|
if (arm)
|
||||||
{
|
{
|
||||||
Vector2 vel = Input.GetMouseVelocity();
|
Vector2 vel = Input.GetMouseVelocity();
|
||||||
if(inverseYControls)
|
if(Settings.inverseY)
|
||||||
arm.Pitch -= vel.y * turnSpeedPitch * Time.DeltaTimeF;
|
arm.Pitch -= vel.y * turnSpeedPitch * Time.DeltaTimeF;
|
||||||
else
|
else
|
||||||
arm.Pitch += vel.y * turnSpeedPitch * Time.DeltaTimeF;
|
arm.Pitch += vel.y * turnSpeedPitch * Time.DeltaTimeF;
|
||||||
|
|
||||||
if (inverseXControls)
|
if (Settings.inverseX)
|
||||||
arm.Yaw -= vel.x * turnSpeedYaw * Time.DeltaTimeF;
|
|
||||||
else
|
|
||||||
arm.Yaw += vel.x * turnSpeedYaw * Time.DeltaTimeF;
|
arm.Yaw += vel.x * turnSpeedYaw * Time.DeltaTimeF;
|
||||||
|
else
|
||||||
|
arm.Yaw -= vel.x * turnSpeedYaw * Time.DeltaTimeF;
|
||||||
|
|
||||||
if (arm.Pitch > pitchUpperClamp)
|
if (arm.Pitch > pitchUpperClamp)
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class CeilingFan : Script
|
||||||
|
{
|
||||||
|
private Transform tran;
|
||||||
|
private Collider collider;
|
||||||
|
private float rotate = 0.0f;
|
||||||
|
public float rotateSpeed = 10.0f;
|
||||||
|
|
||||||
|
private float rotateCollider1 = 0.0f;
|
||||||
|
private float rotateCollider2 = 0.0f;
|
||||||
|
private float rotateCollider3 = 0.0f;
|
||||||
|
private float rotateCollider4 = 0.0f;
|
||||||
|
private float rotateCollider5 = 0.0f;
|
||||||
|
|
||||||
|
private float defaultCollider1 = 0.0f;
|
||||||
|
private float defaultCollider2 = 0.0f;
|
||||||
|
private float defaultCollider3 = 0.0f;
|
||||||
|
private float defaultCollider4 = 0.0f;
|
||||||
|
private float defaultCollider5 = 0.0f;
|
||||||
|
|
||||||
|
protected override void awake()
|
||||||
|
{
|
||||||
|
tran = GetComponent<Transform>();
|
||||||
|
if (!tran)
|
||||||
|
Debug.Log("FAN TRAN MISSING");
|
||||||
|
|
||||||
|
collider = GetComponent<Collider>();
|
||||||
|
if (!collider)
|
||||||
|
Debug.Log("FAN COLLIDER MISSING");
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rotateCollider1 = collider.GetCollisionShape(0).RotationOffset.y;
|
||||||
|
defaultCollider1 = collider.GetCollisionShape(0).RotationOffset.y;
|
||||||
|
|
||||||
|
rotateCollider2 = collider.GetCollisionShape(1).RotationOffset.y;
|
||||||
|
defaultCollider2 = collider.GetCollisionShape(1).RotationOffset.y;
|
||||||
|
|
||||||
|
rotateCollider3 = collider.GetCollisionShape(2).RotationOffset.y;
|
||||||
|
defaultCollider3 = collider.GetCollisionShape(2).RotationOffset.y;
|
||||||
|
|
||||||
|
rotateCollider4 = collider.GetCollisionShape(3).RotationOffset.y;
|
||||||
|
defaultCollider4 = collider.GetCollisionShape(3).RotationOffset.y;
|
||||||
|
|
||||||
|
rotateCollider5 = collider.GetCollisionShape(4).RotationOffset.y;
|
||||||
|
defaultCollider5 = collider.GetCollisionShape(4).RotationOffset.y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void fixedUpdate()
|
||||||
|
{
|
||||||
|
rotate += rotateSpeed * (float)Time.FixedDeltaTime;
|
||||||
|
rotateCollider1 += rotateSpeed * (float)Time.FixedDeltaTime;
|
||||||
|
rotateCollider2 += rotateSpeed * (float)Time.FixedDeltaTime;
|
||||||
|
rotateCollider3 += rotateSpeed * (float)Time.FixedDeltaTime;
|
||||||
|
rotateCollider4 += rotateSpeed * (float)Time.FixedDeltaTime;
|
||||||
|
rotateCollider5 += rotateSpeed * (float)Time.FixedDeltaTime;
|
||||||
|
|
||||||
|
if (rotate >= MathF.PI * 2)
|
||||||
|
{
|
||||||
|
rotate = 0;
|
||||||
|
rotateCollider1 = defaultCollider1;
|
||||||
|
rotateCollider2 = defaultCollider2;
|
||||||
|
rotateCollider3 = defaultCollider3;
|
||||||
|
rotateCollider4 = defaultCollider4;
|
||||||
|
rotateCollider5 = defaultCollider5;
|
||||||
|
}
|
||||||
|
tran.LocalEulerAngles = new Vector3(0.0f, rotate, 0.0f);
|
||||||
|
collider.GetCollisionShape(0).RotationOffset = new Vector3(0.0f, rotateCollider1, 0.0f);
|
||||||
|
collider.GetCollisionShape(1).RotationOffset = new Vector3(0.0f, rotateCollider2, 0.0f);
|
||||||
|
collider.GetCollisionShape(2).RotationOffset = new Vector3(0.0f, rotateCollider3, 0.0f);
|
||||||
|
collider.GetCollisionShape(3).RotationOffset = new Vector3(0.0f, rotateCollider4, 0.0f);
|
||||||
|
collider.GetCollisionShape(4).RotationOffset = new Vector3(0.0f, rotateCollider5, 0.0f);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: SC_CeilingFan
|
||||||
|
ID: 157170734
|
||||||
|
Type: 9
|
|
@ -0,0 +1,47 @@
|
||||||
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
public class DecorationAudio : Script
|
||||||
|
{
|
||||||
|
public string name = "REPLACETHIS";
|
||||||
|
public string audio = "event:/UI/botton_hover";
|
||||||
|
public bool loop = true;
|
||||||
|
public float timeDruation = 0.5f;
|
||||||
|
private float timer = 0.0f;
|
||||||
|
|
||||||
|
protected override void awake()
|
||||||
|
{
|
||||||
|
if (audio != "Empty")
|
||||||
|
{
|
||||||
|
AudioHandler.audioClipHandlers[name] = Audio.CreateAudioClip(audio);
|
||||||
|
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers[name], GameObject.EntityId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
if (loop)
|
||||||
|
AudioHandler.audioClipHandlers[name].Play();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (!loop)
|
||||||
|
{
|
||||||
|
timer += Time.DeltaTimeF;
|
||||||
|
if (timer > timeDruation)
|
||||||
|
{
|
||||||
|
timer = 0.0f;
|
||||||
|
AudioHandler.audioClipHandlers[name].Play();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: SC_DecorationAudio
|
||||||
|
ID: 166447267
|
||||||
|
Type: 9
|
|
@ -10,12 +10,10 @@ public class GameManager : Script
|
||||||
public enum GameState
|
public enum GameState
|
||||||
{
|
{
|
||||||
START,
|
START,
|
||||||
WIN,
|
OVER
|
||||||
LOSE
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint winScene = 92009475;
|
public uint winScene = 92009475;
|
||||||
public uint loseScene = 91685359;
|
|
||||||
|
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
public GameState currGameState;
|
public GameState currGameState;
|
||||||
|
@ -27,9 +25,16 @@ public class GameManager : Script
|
||||||
public float timer;
|
public float timer;
|
||||||
|
|
||||||
public GameObject scoreText;
|
public GameObject scoreText;
|
||||||
|
public GameObject scoreTextBG;
|
||||||
public GameObject timeText;
|
public GameObject timeText;
|
||||||
public GameObject minusTimerText;
|
public GameObject minusTimerText;
|
||||||
|
|
||||||
|
public GameObject Results;
|
||||||
|
public int MaxComboAccquired { get; set; }
|
||||||
|
public int finalTime { get; set; }
|
||||||
|
public int finalScore { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//mulitpler info
|
//mulitpler info
|
||||||
public GameObject multiplierText;
|
public GameObject multiplierText;
|
||||||
public float maxMultiplierDuration = 5.0f;
|
public float maxMultiplierDuration = 5.0f;
|
||||||
|
@ -48,8 +53,9 @@ public class GameManager : Script
|
||||||
public bool itemShatter { get; set; }
|
public bool itemShatter { get; set; }
|
||||||
|
|
||||||
//For scene transitions
|
//For scene transitions
|
||||||
private bool goingToWin;
|
private bool waitForTransition;
|
||||||
private bool goingToLose;
|
|
||||||
|
private bool playSpeedUp = false;
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
|
@ -62,7 +68,7 @@ public class GameManager : Script
|
||||||
Score = 0;
|
Score = 0;
|
||||||
currGameState = GameState.START;
|
currGameState = GameState.START;
|
||||||
itemScored = false;
|
itemScored = false;
|
||||||
currMultiplierCombo = 1;
|
currMultiplierCombo = 0;
|
||||||
currMultiplierDuration = 0;
|
currMultiplierDuration = 0;
|
||||||
itemShatter = false;
|
itemShatter = false;
|
||||||
GamePause = false;
|
GamePause = false;
|
||||||
|
@ -77,8 +83,7 @@ public class GameManager : Script
|
||||||
loseAudio.DestroyOnSceneExit = false;
|
loseAudio.DestroyOnSceneExit = false;
|
||||||
AudioHandler.audioClipHandlers["BGMLose"] = loseAudio;
|
AudioHandler.audioClipHandlers["BGMLose"] = loseAudio;
|
||||||
|
|
||||||
goingToWin = false;
|
waitForTransition = false;
|
||||||
goingToLose = false;
|
|
||||||
|
|
||||||
if (scoreText)
|
if (scoreText)
|
||||||
scoreText.GetComponent<TextRenderable>().Text = $"{Score}";
|
scoreText.GetComponent<TextRenderable>().Text = $"{Score}";
|
||||||
|
@ -88,6 +93,10 @@ public class GameManager : Script
|
||||||
Input.SetMouseCentering(true);
|
Input.SetMouseCentering(true);
|
||||||
Application.IsCursorVisible = false;
|
Application.IsCursorVisible = false;
|
||||||
Application.FixDeltaTime = Time.DefaultFixDeltaTime;
|
Application.FixDeltaTime = Time.DefaultFixDeltaTime;
|
||||||
|
|
||||||
|
AudioHandler.audioClipHandlers["SFXItemScore"] = Audio.CreateAudioClip("event:/Music/stingers/item_scored");
|
||||||
|
AudioHandler.audioClipHandlers["RaccoonScored"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_scored");
|
||||||
|
Audio.SetParameterWithLabel("PlaybackSpeed", "Normal");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void start()
|
protected override void start()
|
||||||
|
@ -100,16 +109,11 @@ public class GameManager : Script
|
||||||
AudioHandler.audioClipHandlers["KitchenAmbience"] = Audio.CreateAudioClip("event:/Ambience/roomtone_kitchen");
|
AudioHandler.audioClipHandlers["KitchenAmbience"] = Audio.CreateAudioClip("event:/Ambience/roomtone_kitchen");
|
||||||
AudioHandler.audioClipHandlers["KitchenAmbience"].Play();
|
AudioHandler.audioClipHandlers["KitchenAmbience"].Play();
|
||||||
|
|
||||||
if (SceneFadeInOut.Instance != null)
|
|
||||||
SceneFadeInOut.Instance.CallFadeOut();
|
|
||||||
|
|
||||||
GamePause = false;
|
GamePause = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void update()
|
protected override void update()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (GamePause || !stealFoodPopUpDone)
|
if (GamePause || !stealFoodPopUpDone)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -120,10 +124,17 @@ public class GameManager : Script
|
||||||
if (currGameState == GameState.START)
|
if (currGameState == GameState.START)
|
||||||
{
|
{
|
||||||
timer -= Time.DeltaTimeF;
|
timer -= Time.DeltaTimeF;
|
||||||
if(scoreText)
|
|
||||||
|
if (timer < 30.0f && !playSpeedUp)
|
||||||
|
{
|
||||||
|
Audio.SetParameterWithLabel("PlaybackSpeed", "ToTransition");
|
||||||
|
playSpeedUp = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (scoreText)
|
||||||
scoreText.GetComponent<TextRenderable>().Text = $"{Score}";
|
scoreText.GetComponent<TextRenderable>().Text = $"{Score}";
|
||||||
if(timeText)
|
if (timeText)
|
||||||
timeText.GetComponent<TextRenderable>().Text = $"{timer.ToString("0.00")}";
|
timeText.GetComponent<TextRenderable>().Text = $"{timer.ToString("0")}";
|
||||||
|
|
||||||
if (itemScored)
|
if (itemScored)
|
||||||
{
|
{
|
||||||
|
@ -132,67 +143,45 @@ public class GameManager : Script
|
||||||
if (currMultiplierDuration >= maxMultiplierDuration)
|
if (currMultiplierDuration >= maxMultiplierDuration)
|
||||||
{
|
{
|
||||||
itemScored = false;
|
itemScored = false;
|
||||||
currMultiplierCombo = 1;
|
currMultiplierCombo = 0;
|
||||||
currMultiplierDuration = 0;
|
currMultiplierDuration = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!goingToLose && ((timer > 0 && totalItemCount <= 0 && !itemShatter)))
|
if (timer <= 0 || (totalItemCount <= 0 && !itemShatter))
|
||||||
{
|
{
|
||||||
currGameState = GameState.WIN;
|
|
||||||
AudioHandler.StopAllSounds(false);
|
|
||||||
AudioHandler.audioClipHandlers["BGMWin"].Play();
|
|
||||||
goingToWin = true;
|
|
||||||
if (SceneFadeInOut.Instance != null)
|
|
||||||
SceneFadeInOut.Instance.CallFadeIn();
|
|
||||||
}
|
|
||||||
else if(!goingToWin && (timer < 0))
|
|
||||||
{
|
|
||||||
currGameState = GameState.LOSE;
|
|
||||||
AudioHandler.StopAllSounds(false);
|
AudioHandler.StopAllSounds(false);
|
||||||
|
|
||||||
|
if (timer <= 0)
|
||||||
AudioHandler.audioClipHandlers["BGMLose"].Play();
|
AudioHandler.audioClipHandlers["BGMLose"].Play();
|
||||||
goingToLose = true;
|
else if (totalItemCount <= 0)
|
||||||
if (SceneFadeInOut.Instance != null)
|
AudioHandler.audioClipHandlers["BGMWin"].Play();
|
||||||
SceneFadeInOut.Instance.CallFadeIn();
|
|
||||||
|
currGameState = GameState.OVER;
|
||||||
|
finalTime = (int)timer;
|
||||||
|
Results.SetActive(true);
|
||||||
|
|
||||||
|
Input.SetMouseCentering(false);
|
||||||
|
Application.IsCursorVisible = true;
|
||||||
|
GamePause = true;
|
||||||
|
Application.FixDeltaTime = 0;
|
||||||
|
AnimationSystem.TimeScale = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Handling transitions
|
|
||||||
if (SceneFadeInOut.Instance != null)
|
if (SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeInFinished() && waitForTransition)
|
||||||
{
|
|
||||||
if (SceneFadeInOut.Instance.FadeInFinished())
|
|
||||||
{
|
|
||||||
if (goingToWin)
|
|
||||||
{
|
|
||||||
SceneManager.ChangeScene(winScene);
|
SceneManager.ChangeScene(winScene);
|
||||||
}
|
|
||||||
if (goingToLose)
|
|
||||||
{
|
|
||||||
SceneManager.ChangeScene(loseScene);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (goingToWin)
|
|
||||||
{
|
|
||||||
SceneManager.ChangeScene(winScene);
|
|
||||||
}
|
|
||||||
if (goingToLose)
|
|
||||||
{
|
|
||||||
SceneManager.ChangeScene(loseScene);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RacoonCaught()
|
public void RacoonCaught()
|
||||||
{
|
{
|
||||||
timer -= 10.0f;
|
timer -= 10.0f;
|
||||||
if(minusTimerText != GameObject.Null)
|
if (minusTimerText != GameObject.Null)
|
||||||
{
|
{
|
||||||
MinusTimerText text =minusTimerText.GetScript<MinusTimerText>();
|
MinusTimerText text = minusTimerText.GetScript<MinusTimerText>();
|
||||||
if(text)
|
if (text)
|
||||||
{
|
{
|
||||||
text.Reset();
|
text.Reset();
|
||||||
}
|
}
|
||||||
|
@ -203,19 +192,10 @@ public class GameManager : Script
|
||||||
{
|
{
|
||||||
if (Input.GetKeyUp(Input.KeyCode.F1))
|
if (Input.GetKeyUp(Input.KeyCode.F1))
|
||||||
{
|
{
|
||||||
currGameState = GameState.WIN;
|
currGameState = GameState.OVER;
|
||||||
AudioHandler.audioClipHandlers["BGMWin"].Play();
|
AudioHandler.audioClipHandlers["BGMWin"].Play();
|
||||||
AudioHandler.StopAllSounds(false);
|
AudioHandler.StopAllSounds(false);
|
||||||
goingToWin = true;
|
waitForTransition = true;
|
||||||
if (SceneFadeInOut.Instance != null)
|
|
||||||
SceneFadeInOut.Instance.CallFadeIn();
|
|
||||||
}
|
|
||||||
else if (Input.GetKeyUp(Input.KeyCode.F2))
|
|
||||||
{
|
|
||||||
currGameState = GameState.LOSE;
|
|
||||||
AudioHandler.audioClipHandlers["BGMLose"].Play();
|
|
||||||
AudioHandler.StopAllSounds(false);
|
|
||||||
goingToLose = true;
|
|
||||||
if (SceneFadeInOut.Instance != null)
|
if (SceneFadeInOut.Instance != null)
|
||||||
SceneFadeInOut.Instance.CallFadeIn();
|
SceneFadeInOut.Instance.CallFadeIn();
|
||||||
}
|
}
|
||||||
|
@ -242,7 +222,28 @@ public class GameManager : Script
|
||||||
currMultiplierDuration = 0;
|
currMultiplierDuration = 0;
|
||||||
|
|
||||||
if (currMultiplierCombo < maxMultiplierCombo)
|
if (currMultiplierCombo < maxMultiplierCombo)
|
||||||
|
{
|
||||||
currMultiplierCombo += 1;
|
currMultiplierCombo += 1;
|
||||||
|
if (currMultiplierCombo > MaxComboAccquired)
|
||||||
|
MaxComboAccquired = currMultiplierCombo;
|
||||||
|
}
|
||||||
|
|
||||||
|
Audio.SetParameter("Multiplier", currMultiplierCombo);
|
||||||
|
AudioHandler.audioClipHandlers["SFXItemScore"].Play();
|
||||||
|
AudioHandler.audioClipHandlers["RaccoonScored"].Play();
|
||||||
|
|
||||||
|
SingleScaleBounce textBounce = scoreText.GetScript<SingleScaleBounce>();
|
||||||
|
SingleScaleBounce textBGBounce = scoreTextBG.GetScript<SingleScaleBounce>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (textBounce)
|
||||||
|
textBounce.ScaleBounceOnce();*/
|
||||||
|
|
||||||
|
if (textBGBounce)
|
||||||
|
textBGBounce.ScaleBounceOnce();
|
||||||
|
|
||||||
|
|
||||||
MultiplierTextFx fx = multiplierText.GetScript<MultiplierTextFx>();
|
MultiplierTextFx fx = multiplierText.GetScript<MultiplierTextFx>();
|
||||||
if (fx)
|
if (fx)
|
||||||
|
@ -250,11 +251,6 @@ public class GameManager : Script
|
||||||
fx.ShowMultiplier(currMultiplierCombo, maxMultiplierDuration);
|
fx.ShowMultiplier(currMultiplierCombo, maxMultiplierDuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleScaleBounce sb = scoreText.GetScript<SingleScaleBounce>();
|
|
||||||
if(sb)
|
|
||||||
{
|
|
||||||
sb.ScaleBounceOnce();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ public class JumpPad : Script
|
||||||
public float scaleDuration = 0.25f;
|
public float scaleDuration = 0.25f;
|
||||||
private bool landed = false;
|
private bool landed = false;
|
||||||
private bool scaleUpDone = false;
|
private bool scaleUpDone = false;
|
||||||
|
public float itemUpwardForce = 6.0f;
|
||||||
|
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
private TweenThread scaleYUp;
|
private TweenThread scaleYUp;
|
||||||
|
@ -73,6 +74,15 @@ public class JumpPad : Script
|
||||||
scaleYUp.Reset();
|
scaleYUp.Reset();
|
||||||
scaleXZUp.Reset();
|
scaleXZUp.Reset();
|
||||||
}
|
}
|
||||||
|
else if (info.GameObject.GetComponent<RigidBody>())
|
||||||
|
{
|
||||||
|
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXJumpPad"], GameObject.EntityId);
|
||||||
|
AudioHandler.audioClipHandlers["SFXJumpPad"].Play();
|
||||||
|
info.GameObject.GetComponent<RigidBody>().AddForce(new Vector3(0, itemUpwardForce, 0));
|
||||||
|
landed = true;
|
||||||
|
scaleYUp.Reset();
|
||||||
|
scaleXZUp.Reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ namespace SHADE_Scripting.UI
|
||||||
public class PreviewLevel : Script
|
public class PreviewLevel : Script
|
||||||
{
|
{
|
||||||
private List<Camera> listOfCamera;
|
private List<Camera> listOfCamera;
|
||||||
|
public GameObject levelTransistion;
|
||||||
|
|
||||||
public Vector3 endPoint1;
|
public Vector3 endPoint1;
|
||||||
public Vector3 endPoint2;
|
public Vector3 endPoint2;
|
||||||
|
@ -56,7 +57,7 @@ namespace SHADE_Scripting.UI
|
||||||
|
|
||||||
protected override void update()
|
protected override void update()
|
||||||
{
|
{
|
||||||
if (SceneFadeInOut.Instance && !SceneFadeInOut.Instance.FadeOutFinished() && !point1Done)
|
if (SceneFadeInOut.Instance && !levelTransistion.GetScript<LevelTransistion>().complete && !point1Done)
|
||||||
{
|
{
|
||||||
moveToEndPoint1.Reset();
|
moveToEndPoint1.Reset();
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -4,18 +4,32 @@ using System;
|
||||||
public class ScoringZone : Script
|
public class ScoringZone : Script
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private ParticleEmitter particle;
|
||||||
|
public int startingParticleCount = 10;
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
AudioHandler.audioClipHandlers["SFXItemScore"] = Audio.CreateAudioClip("event:/Music/stingers/item_scored");
|
particle = GetComponentInChildren<ParticleEmitter>();
|
||||||
|
if (!particle)
|
||||||
|
Debug.LogError("PARTICLE MISSING");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void onTriggerEnter(CollisionInfo info)
|
protected override void onTriggerEnter(CollisionInfo info)
|
||||||
{
|
{
|
||||||
if (GameManager.Instance && info.GameObject.GetScript<Item>() && info.GameObject.IsActiveSelf && !info.GameObject.GetComponent<Collider>().GetCollisionShape(0).IsTrigger )
|
if (GameManager.Instance && info.GameObject.GetScript<Item>() && info.GameObject.IsActiveSelf && !info.GameObject.GetComponent<Collider>().GetCollisionShape(0).IsTrigger )
|
||||||
{
|
{
|
||||||
AudioHandler.audioClipHandlers["SFXItemScore"].Play();
|
if (GameManager.Instance.currMultiplierCombo > 1)
|
||||||
GameManager.Instance.Score += info.GameObject.GetScript<Item>().Score * GameManager.Instance.currMultiplierCombo;
|
GameManager.Instance.Score += info.GameObject.GetScript<Item>().Score * GameManager.Instance.currMultiplierCombo;
|
||||||
|
else
|
||||||
|
GameManager.Instance.Score += info.GameObject.GetScript<Item>().Score;
|
||||||
|
|
||||||
GameManager.Instance.ItemScored();
|
GameManager.Instance.ItemScored();
|
||||||
|
particle.EmissionCount = startingParticleCount * GameManager.Instance.currMultiplierCombo;
|
||||||
|
particle.Emit();
|
||||||
info.GameObject.SetActive(false);
|
info.GameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,20 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
public enum EASING_METHOD
|
public enum EASING_METHOD
|
||||||
{
|
{
|
||||||
EASE_IN_SINE,
|
EASE_IN_SINE,
|
||||||
EASE_OUT_SINE,
|
EASE_OUT_SINE,
|
||||||
EASE_OUT_BOUNCE,
|
EASE_OUT_BOUNCE,
|
||||||
EASE_IN_BOUNCE,
|
EASE_IN_BOUNCE,
|
||||||
EASE_INOUT_BOUNCE,
|
EASE_INOUT_BOUNCE,
|
||||||
|
EASE_OUT_CIRCLE,
|
||||||
|
EASE_OUT_BACK,
|
||||||
LINEAR
|
LINEAR
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class EasingHelper
|
public static class EasingHelper
|
||||||
{
|
{
|
||||||
|
@ -50,6 +52,14 @@ public static class EasingHelper
|
||||||
{
|
{
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
case EASING_METHOD.EASE_OUT_CIRCLE:
|
||||||
|
{
|
||||||
|
return EaseOutCircle(value);
|
||||||
|
}
|
||||||
|
case EASING_METHOD.EASE_OUT_BACK:
|
||||||
|
{
|
||||||
|
return EaseOutBack(value);
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
|
@ -102,5 +112,18 @@ public static class EasingHelper
|
||||||
: (1.0f + EaseOutBounce(2.0f * value - 1.0f)) / 2.0f;
|
: (1.0f + EaseOutBounce(2.0f * value - 1.0f)) / 2.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static float EaseOutCircle(float value)
|
||||||
|
{
|
||||||
|
return (float)Math.Sqrt(1.0f - (float)Math.Pow(value - 1.0f, 2.0f));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static float EaseOutBack(float value)
|
||||||
|
{
|
||||||
|
const float c1 = 1.70158f;
|
||||||
|
const float c3 = c1 + 1.0f;
|
||||||
|
return 1.0f + c3 * (float)Math.Pow(value - 1.0f, 3.0f) + c1 * (float)Math.Pow(value - 1.0f, 2.0f);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ namespace SHADE_Scripting.UI
|
||||||
|
|
||||||
protected override void start()
|
protected override void start()
|
||||||
{
|
{
|
||||||
thread = TweenManager.CreateTweenThread(0.1f, 0.9f, 1.0f, EASING_METHOD.EASE_IN_SINE);
|
thread = TweenManager.CreateTweenThread(0.1f, 0.9f, 1.0f, EASING_METHOD.EASE_OUT_BACK);
|
||||||
|
|
||||||
|
|
||||||
Transform transform = GetComponent<Transform>();
|
Transform transform = GetComponent<Transform>();
|
||||||
|
|
|
@ -7,7 +7,8 @@ public class ChangeSceneButton : Script
|
||||||
{
|
{
|
||||||
public uint sceneID = 0;
|
public uint sceneID = 0;
|
||||||
|
|
||||||
//Whether the scene changing button has been clicked
|
public GameObject levelTransistion;
|
||||||
|
|
||||||
private bool clickedFlag;
|
private bool clickedFlag;
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
|
@ -26,9 +27,8 @@ public class ChangeSceneButton : Script
|
||||||
{
|
{
|
||||||
Audio.PlaySFXOnce2D("event:/UI/success");
|
Audio.PlaySFXOnce2D("event:/UI/success");
|
||||||
Audio.StopAllSounds();
|
Audio.StopAllSounds();
|
||||||
if (SceneFadeInOut.Instance != null)
|
|
||||||
SceneFadeInOut.Instance.CallFadeIn();
|
|
||||||
clickedFlag = true;
|
clickedFlag = true;
|
||||||
|
levelTransistion.SetActive(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ public class ChangeSceneButton : Script
|
||||||
}
|
}
|
||||||
protected override void update()
|
protected override void update()
|
||||||
{
|
{
|
||||||
if (clickedFlag && sceneID != 0 && SceneFadeInOut.Instance.FadeInFinished())
|
if (levelTransistion.GetScript<LevelTransistion>().complete && clickedFlag)
|
||||||
{
|
{
|
||||||
SceneManager.ChangeScene(sceneID);
|
SceneManager.ChangeScene(sceneID);
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,9 @@ public class CutsceneEnd : Script
|
||||||
private bool cutscene4Done = false;
|
private bool cutscene4Done = false;
|
||||||
private bool cutscene5Done = false;
|
private bool cutscene5Done = false;
|
||||||
|
|
||||||
|
public GameObject levelTransition;
|
||||||
|
private bool waiting = false;
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
initCutscene4();
|
initCutscene4();
|
||||||
|
@ -73,6 +76,9 @@ public class CutsceneEnd : Script
|
||||||
|
|
||||||
protected override void update()
|
protected override void update()
|
||||||
{
|
{
|
||||||
|
if (!levelTransition.GetScript<LevelTransistion>().complete)
|
||||||
|
return;
|
||||||
|
|
||||||
Canvas4();
|
Canvas4();
|
||||||
Canvas5();
|
Canvas5();
|
||||||
|
|
||||||
|
@ -98,8 +104,12 @@ public class CutsceneEnd : Script
|
||||||
|
|
||||||
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene5Done && canvas5.IsActiveSelf)
|
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene5Done && canvas5.IsActiveSelf)
|
||||||
{
|
{
|
||||||
SceneManager.ChangeScene(nextScene);
|
levelTransition.GetScript<LevelTransistion>().resetToLeft();
|
||||||
|
waiting = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (levelTransition.GetScript<LevelTransistion>().complete && waiting)
|
||||||
|
SceneManager.ChangeScene(nextScene);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Canvas4()
|
private void Canvas4()
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue