Compare commits
91 Commits
SP3-22-Ani
...
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 |
|
@ -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,5 +1,5 @@
|
||||||
0 StaticObject 1101000000000000
|
0 StaticObject 1101000000000000
|
||||||
1 Player 1101000000000000
|
1 Furniture 1101000000000000
|
||||||
2 Food 1000000000000000
|
2 Food 1000000000000000
|
||||||
3 Breakable 1100000000000000
|
3 Breakable 1100000000000000
|
||||||
4 ScoringWallCollider 0110000000000000
|
4 ScoringWallCollider 0110000000000000
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
7 StaticWithCameraCollision 1111000000000000
|
7 StaticWithCameraCollision 1111000000000000
|
||||||
8 Floor 1100000000000000
|
8 Floor 1100000000000000
|
||||||
9 Navigation 0001000000000000
|
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: 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.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
Name: Level1_NavData
|
||||||
|
ID: 257298636
|
||||||
|
Type: 15
|
|
@ -1,3 +1,3 @@
|
||||||
Name: Level2_AITest_NavData
|
Name: Level2_AITest_NavData
|
||||||
ID: 255209218
|
ID: 254149790
|
||||||
Type: 15
|
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
|
@ -1,4 +1,4 @@
|
||||||
- NavData: 255209218
|
- NavData: 254149790
|
||||||
- EID: 20
|
- EID: 20
|
||||||
Name: ===== Light =====
|
Name: ===== Light =====
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -112,6 +112,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -164,6 +165,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -216,6 +218,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 500
|
Score: 500
|
||||||
currCategory: 2
|
currCategory: 2
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -268,6 +271,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 500
|
Score: 500
|
||||||
currCategory: 2
|
currCategory: 2
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -320,6 +324,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -372,6 +377,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -424,6 +430,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -482,6 +489,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 2
|
density: 2
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -702,6 +710,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -754,6 +763,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -806,6 +816,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -858,6 +869,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -910,6 +922,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 500
|
Score: 500
|
||||||
currCategory: 2
|
currCategory: 2
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -962,6 +975,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1014,6 +1028,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1066,6 +1081,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1118,6 +1134,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1170,6 +1187,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1222,6 +1240,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1274,6 +1293,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1326,6 +1346,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1378,6 +1399,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1430,6 +1452,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1482,6 +1505,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 500
|
Score: 500
|
||||||
currCategory: 2
|
currCategory: 2
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1534,6 +1558,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1586,6 +1611,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1638,6 +1664,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1696,6 +1723,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 500
|
Score: 500
|
||||||
currCategory: 2
|
currCategory: 2
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1748,6 +1776,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1800,6 +1829,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1852,6 +1882,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1904,6 +1935,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -1956,6 +1988,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2014,6 +2047,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 500
|
Score: 500
|
||||||
currCategory: 2
|
currCategory: 2
|
||||||
|
currFood: 0
|
||||||
density: 1
|
density: 1
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2066,6 +2100,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2118,6 +2153,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 50
|
Score: 50
|
||||||
currCategory: 1
|
currCategory: 1
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2170,6 +2206,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2222,6 +2259,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2274,6 +2312,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 3
|
density: 3
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2332,6 +2371,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 2
|
density: 2
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2558,6 +2598,7 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Score: 10
|
Score: 10
|
||||||
currCategory: 0
|
currCategory: 0
|
||||||
|
currFood: 0
|
||||||
density: 2
|
density: 2
|
||||||
dontReturn: false
|
dontReturn: false
|
||||||
soundDistance: 10
|
soundDistance: 10
|
||||||
|
@ -2778,6 +2819,7 @@
|
||||||
Scripts:
|
Scripts:
|
||||||
- Type: ScoringZone
|
- Type: ScoringZone
|
||||||
Enabled: true
|
Enabled: true
|
||||||
|
startingParticleCount: 10
|
||||||
- EID: 18
|
- EID: 18
|
||||||
Name: CollisionWall
|
Name: CollisionWall
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -2841,6 +2883,7 @@
|
||||||
Scripts:
|
Scripts:
|
||||||
- Type: ScoringZone
|
- Type: ScoringZone
|
||||||
Enabled: true
|
Enabled: true
|
||||||
|
startingParticleCount: 10
|
||||||
- EID: 17
|
- EID: 17
|
||||||
Name: CollisionWall
|
Name: CollisionWall
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -3041,8 +3084,6 @@
|
||||||
armLength: 2
|
armLength: 2
|
||||||
turnSpeedPitch: 0.200000003
|
turnSpeedPitch: 0.200000003
|
||||||
turnSpeedYaw: 0.400000006
|
turnSpeedYaw: 0.400000006
|
||||||
inverseXControls: true
|
|
||||||
inverseYControls: false
|
|
||||||
pitchUpperClamp: 45
|
pitchUpperClamp: 45
|
||||||
pitchLowerClamp: 5
|
pitchLowerClamp: 5
|
||||||
- EID: 9
|
- EID: 9
|
||||||
|
@ -5388,7 +5429,7 @@
|
||||||
Freeze Position Y: false
|
Freeze Position Y: false
|
||||||
Freeze Position Z: false
|
Freeze Position Z: false
|
||||||
Freeze Rotation X: true
|
Freeze Rotation X: true
|
||||||
Freeze Rotation Y: false
|
Freeze Rotation Y: true
|
||||||
Freeze Rotation Z: true
|
Freeze Rotation Z: true
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Collider Component:
|
Collider Component:
|
||||||
|
@ -5396,7 +5437,7 @@
|
||||||
- Is Trigger: false
|
- Is Trigger: false
|
||||||
Collision Tag: 5
|
Collision Tag: 5
|
||||||
Type: Box
|
Type: Box
|
||||||
Half Extents: {x: 0.600000024, y: 1.79999995, z: 0.400000006}
|
Half Extents: {x: 0.400000006, y: 1.79999995, z: 0.400000006}
|
||||||
Friction: 0.400000006
|
Friction: 0.400000006
|
||||||
Bounciness: 0
|
Bounciness: 0
|
||||||
Density: 1
|
Density: 1
|
||||||
|
@ -5425,9 +5466,6 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
currentStateName: ""
|
currentStateName: ""
|
||||||
currentAnimName: ""
|
currentAnimName: ""
|
||||||
- Type: SHADE_Scripting.Gameplay.AIBehaviour.AIRework.RotateToVelocity
|
|
||||||
Enabled: true
|
|
||||||
rotationPerSecond: 5
|
|
||||||
- Type: SHADE_Scripting.Gameplay.AIBehaviour.AIRework.AILineOfSight
|
- Type: SHADE_Scripting.Gameplay.AIBehaviour.AIRework.AILineOfSight
|
||||||
Enabled: true
|
Enabled: true
|
||||||
player: 2
|
player: 2
|
||||||
|
@ -5441,6 +5479,9 @@
|
||||||
withinSight: false
|
withinSight: false
|
||||||
lastFoundPos: [0, 0, 0]
|
lastFoundPos: [0, 0, 0]
|
||||||
lastFoundTimer: 0
|
lastFoundTimer: 0
|
||||||
|
- Type: SHADE_Scripting.Gameplay.AIBehaviour.AIRework.RotateToVelocity
|
||||||
|
Enabled: true
|
||||||
|
rotationPerSecond: 5
|
||||||
- EID: 10
|
- EID: 10
|
||||||
Name: Pause Canvas
|
Name: Pause Canvas
|
||||||
IsActive: false
|
IsActive: false
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -38,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
|
||||||
|
@ -55,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
|
||||||
|
@ -258,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
|
||||||
|
@ -548,7 +549,6 @@
|
||||||
sfxVolSlider: 30
|
sfxVolSlider: 30
|
||||||
bgmVolSlider: 31
|
bgmVolSlider: 31
|
||||||
fovSlider: 37
|
fovSlider: 37
|
||||||
sensitivitySlider: 38
|
|
||||||
- EID: 20
|
- EID: 20
|
||||||
Name: BackGround
|
Name: BackGround
|
||||||
IsActive: true
|
IsActive: true
|
||||||
|
@ -750,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
|
||||||
|
@ -771,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
|
||||||
|
@ -796,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
|
||||||
|
@ -821,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
|
||||||
|
@ -847,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}
|
||||||
|
@ -882,28 +954,6 @@
|
||||||
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: true
|
IsActive: true
|
||||||
|
@ -951,7 +1001,7 @@
|
||||||
- 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}
|
||||||
|
@ -967,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
|
||||||
|
@ -988,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
|
||||||
|
@ -1043,6 +1092,14 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
inverseX: true
|
inverseX: true
|
||||||
inverseY: false
|
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: true
|
IsActive: true
|
||||||
|
@ -1072,6 +1129,14 @@
|
||||||
Enabled: true
|
Enabled: true
|
||||||
inverseX: false
|
inverseX: false
|
||||||
inverseY: true
|
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
|
||||||
|
@ -1166,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}
|
||||||
|
@ -1190,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}
|
||||||
|
@ -1204,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
|
||||||
|
@ -1401,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
|
||||||
|
@ -1437,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
|
||||||
|
@ -1497,9 +1537,9 @@
|
||||||
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
|
||||||
|
@ -1507,8 +1547,8 @@
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Button Component:
|
Button Component:
|
||||||
Default Texture: 55897117
|
Default Texture: 55897117
|
||||||
Hovered Texture: 55897117
|
Hovered Texture: 56658801
|
||||||
Clicked Texture: 55897117
|
Clicked Texture: 58281309
|
||||||
IsActive: true
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 50
|
Canvas ID: 50
|
||||||
|
@ -1519,15 +1559,24 @@
|
||||||
- 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
|
||||||
|
@ -1535,8 +1584,8 @@
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Button Component:
|
Button Component:
|
||||||
Default Texture: 52151774
|
Default Texture: 52151774
|
||||||
Hovered Texture: 52151774
|
Hovered Texture: 66730012
|
||||||
Clicked Texture: 52151774
|
Clicked Texture: 59730316
|
||||||
IsActive: true
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 50
|
Canvas ID: 50
|
||||||
|
@ -1547,15 +1596,24 @@
|
||||||
- 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
|
||||||
|
@ -1563,8 +1621,8 @@
|
||||||
IsActive: true
|
IsActive: true
|
||||||
Button Component:
|
Button Component:
|
||||||
Default Texture: 51704639
|
Default Texture: 51704639
|
||||||
Hovered Texture: 51704639
|
Hovered Texture: 66852283
|
||||||
Clicked Texture: 51704639
|
Clicked Texture: 53081657
|
||||||
IsActive: true
|
IsActive: true
|
||||||
UI Component:
|
UI Component:
|
||||||
Canvas ID: 50
|
Canvas ID: 50
|
||||||
|
@ -1575,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
|
||||||
|
@ -1608,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: ~
|
|
@ -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: ~
|
|
@ -75,7 +75,7 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
||||||
{
|
{
|
||||||
if (hit.Hit && hit.Other != player)
|
if (hit.Hit && hit.Other != player)
|
||||||
{
|
{
|
||||||
Debug.Log("AI LOS: HIT OTHER");
|
//Debug.Log("AI LOS: HIT OTHER");
|
||||||
withinSight = false;
|
withinSight = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,105 +1,176 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
|
||||||
using System.Reflection.PortableExecutable;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using SHADE;
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
using SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States;
|
using SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States;
|
||||||
|
|
||||||
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
||||||
{
|
{
|
||||||
public class HomeOwnerAI:Script
|
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()
|
||||||
{
|
{
|
||||||
public float idleDuration = 1.0f;
|
StateMachine machine = GetScript<StateMachine>();
|
||||||
public float timeoutDuration = 2.0f;
|
if (transform && machine)
|
||||||
public GameObject patrolPointParent;
|
{
|
||||||
|
transform.GlobalPosition = startPos;
|
||||||
public float patrolSpeed = 2.0f;
|
machine.SetState(typeof(IdleState));
|
||||||
public float chaseSpeed = 3.0f;
|
}
|
||||||
|
}
|
||||||
public float alertCooldown = 0.0f;
|
|
||||||
|
|
||||||
public GameObject player;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[NonSerialized]
|
protected override void awake()
|
||||||
public IEnumerable<Transform> patrolPointPool;
|
{
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void awake()
|
AudioHandler.audioClipHandlers["HO_footsteps"] = SHADE.Audio.CreateAudioClip("event:/Homeowner/homeowner_footsteps");
|
||||||
{
|
SHADE.Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["HO_footsteps"], GameObject.EntityId);
|
||||||
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));
|
|
||||||
|
|
||||||
machine.InitStateMachine(dictionary);
|
AudioHandler.audioClipHandlers["HO_bark"] = SHADE.Audio.CreateAudioClip("event:/Homeowner/homeowner_bark");
|
||||||
}
|
SHADE.Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["HO_bark"], GameObject.EntityId);
|
||||||
|
|
||||||
patrolPointPool = patrolPointParent.GetComponentsInChildren<Transform>();
|
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 update()
|
protected override void start()
|
||||||
{
|
{
|
||||||
if(alertCooldown > 0.0f)
|
//attackHitbox.SetActive(false);
|
||||||
{
|
if (pppList != null)
|
||||||
alertCooldown -= Time.DeltaTimeF;
|
startPos = pppList[0].LocalPosition;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
alertCooldown = 0.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
RigidBody rigid = GetComponent<RigidBody>();
|
if (attackHitbox)
|
||||||
if(rigid)
|
hitboxScript = attackHitbox.GetScript<HomeOwnerAttackHitbox>();
|
||||||
{
|
|
||||||
rigid.AngularVelocity = Vector3.Zero;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
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);
|
|
||||||
//}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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,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
|
|
@ -11,23 +11,73 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework
|
||||||
{
|
{
|
||||||
public float rotationPerSecond = 2.0f;
|
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()
|
protected override void update()
|
||||||
{
|
{
|
||||||
|
if (!active)
|
||||||
|
return;
|
||||||
|
|
||||||
RigidBody rigid = GetComponent<RigidBody>();
|
RigidBody rigid = GetComponent<RigidBody>();
|
||||||
Transform transform = GetComponent<Transform>();
|
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)
|
if(rigid && transform)
|
||||||
{
|
{
|
||||||
Vector3 vel = rigid.LinearVelocity;
|
Vector3 vel = rigid.LinearVelocity;
|
||||||
|
rigid.AngularVelocity = Vector3.Zero;
|
||||||
|
|
||||||
if(vel.GetSqrMagnitude() > 1.0f)
|
|
||||||
|
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 currentRotation = transform.LocalRotation;
|
||||||
Quaternion targetRotation = Quaternion.Euler(0.0f, MathF.Atan2(vel.x, vel.z), 0.0f);
|
Quaternion targetRotation = Quaternion.Euler(0.0f, MathF.Atan2(vel.x, vel.z) + lookOffset, 0.0f);
|
||||||
transform.LocalRotation = Quaternion.Slerp(currentRotation, targetRotation, rotationPerSecond * (float)Time.FixedDeltaTime);
|
transform.LocalRotation = Quaternion.Slerp(currentRotation, targetRotation, rotationPerSecond * (float)Time.DeltaTimeF);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using SHADE;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
@ -10,11 +11,12 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
{
|
{
|
||||||
|
|
||||||
protected HomeOwnerAI ai;
|
protected HomeOwnerAI ai;
|
||||||
|
protected Animator animator;
|
||||||
public AIBaseState(StateMachine stateMachine): base(stateMachine, "")
|
public AIBaseState(StateMachine stateMachine): base(stateMachine, "")
|
||||||
{
|
{
|
||||||
stateName = "AI Base State";
|
stateName = "AI Base State";
|
||||||
ai = stateMachine.GetScript<HomeOwnerAI>();
|
ai = stateMachine.GetScript<HomeOwnerAI>();
|
||||||
|
animator = stateMachine.GetComponent<Animator>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,42 +1,82 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
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;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
|
||||||
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
{
|
{
|
||||||
public class AlertState: AIBaseState
|
public class AlertState : AIBaseState
|
||||||
|
{
|
||||||
|
const float alertDuration = 16.0f / 30.0f + 1.0f;
|
||||||
|
float alertTimer = alertDuration;
|
||||||
|
bool firstDetection;
|
||||||
|
public AlertState(StateMachine machine) : base(machine)
|
||||||
{
|
{
|
||||||
const float alertDuration = 2.0f;
|
stateName = "Alert";
|
||||||
float alertTimer = alertDuration;
|
AudioHandler.audioClipHandlers["raccoondetected"] = SHADE.Audio.CreateAudioClip("event:/Raccoon/raccoon_detected");
|
||||||
|
firstDetection = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnEnter()
|
||||||
|
{
|
||||||
|
alertTimer = alertDuration;
|
||||||
|
if (animator)
|
||||||
|
{
|
||||||
|
animator.PlayOneShot(ai.alertAnim);
|
||||||
|
|
||||||
public AlertState(StateMachine machine): base(machine)
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
{
|
{
|
||||||
stateName = "Alert";
|
SHADE.Audio.SetParameterWithLabel("HomeownerBark", "DetectFood");
|
||||||
}
|
AudioHandler.audioClipHandlers["HO_bark"].Play();
|
||||||
|
}
|
||||||
public override void OnEnter()
|
else
|
||||||
{
|
{
|
||||||
alertTimer = alertDuration;
|
SHADE.Audio.SetParameterWithLabel("HomeownerBark", "DetectAgain");
|
||||||
}
|
AudioHandler.audioClipHandlers["HO_bark"].Play();
|
||||||
|
}
|
||||||
|
|
||||||
public override void update()
|
}
|
||||||
{
|
SHADE.Audio.SetParameterWithLabel("PlayerDetection", "Detected");
|
||||||
alertTimer -= Time.DeltaTimeF;
|
|
||||||
if (alertTimer <= 0.0f)
|
|
||||||
{
|
|
||||||
machine.SetState(typeof(ChaseState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
public override void OnExit()
|
||||||
|
{
|
||||||
|
animator.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
public override void fixedUpdate()
|
public override void update()
|
||||||
{
|
{
|
||||||
|
alertTimer -= Time.DeltaTimeF;
|
||||||
}
|
if (alertTimer <= 0.0f)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(ChaseState));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public override void fixedUpdate()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
@ -1,4 +1,6 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
|
using SHADE.Test;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -12,23 +14,80 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
|
|
||||||
float giveUpDuration = 10.0f;
|
float giveUpDuration = 10.0f;
|
||||||
float giveUpTimer = 0.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)
|
public ChaseState(StateMachine machine): base(machine)
|
||||||
{
|
{
|
||||||
stateName = "Chase";
|
stateName = "Chase";
|
||||||
|
rand = new Random();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnEnter()
|
public override void OnEnter()
|
||||||
{
|
{
|
||||||
giveUpTimer = giveUpDuration;
|
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()
|
public override void update()
|
||||||
{
|
{
|
||||||
Navigation nav = machine.GetComponent<Navigation>();
|
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>();
|
AILineOfSight los = ai.GetScript<AILineOfSight>();
|
||||||
if(los && nav)
|
RigidBody rigid = machine.GetComponent<RigidBody>();
|
||||||
|
if (los && nav)
|
||||||
{
|
{
|
||||||
Transform playerTransform = los.player.GetComponent<Transform>();
|
Transform playerTransform = los.player.GetComponent<Transform>();
|
||||||
if (los.withinSight)
|
if (los.withinSight)
|
||||||
|
@ -45,13 +104,18 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
machine.SetState(typeof(TimeoutState));
|
machine.SetState(typeof(TimeoutState));
|
||||||
}
|
}
|
||||||
|
|
||||||
RigidBody rigid = machine.GetComponent<RigidBody>();
|
if(los.distance < atkDistance)
|
||||||
|
{
|
||||||
|
machine.SetState(typeof(AttackState));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(rigid)
|
if(rigid)
|
||||||
{
|
{
|
||||||
if (los.withinSight)
|
if (los.withinSight)
|
||||||
rigid.LinearVelocity = nav.GetForward() * ai.chaseSpeed;
|
rigid.LinearVelocity = nav.GetForward() * ai.chaseSpeed;
|
||||||
else
|
else
|
||||||
rigid.LinearVelocity = nav.GetForward() * ai.patrolSpeed;
|
rigid.LinearVelocity = nav.GetForward() * ai.chaseSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(nav.ReachedTarget())
|
if(nav.ReachedTarget())
|
||||||
|
@ -59,12 +123,44 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
giveUpTimer -= Time.DeltaTimeF;
|
giveUpTimer -= Time.DeltaTimeF;
|
||||||
|
|
||||||
ai.RotateToPlayer();
|
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()
|
public override void fixedUpdate()
|
||||||
|
|
|
@ -23,6 +23,23 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
public override void OnEnter()
|
public override void OnEnter()
|
||||||
{
|
{
|
||||||
timer = 0.0f;
|
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()
|
public override void update()
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -13,8 +14,11 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
Random rand;
|
Random rand;
|
||||||
Vector3 lastFramePos;
|
Vector3 lastFramePos;
|
||||||
|
|
||||||
float stuckTimer ;
|
float stuckTimer;
|
||||||
|
bool run = true;
|
||||||
|
|
||||||
|
float footStepInterval = 12.0f / 30.0f;
|
||||||
|
float footStepTimer = 0.0f;
|
||||||
|
|
||||||
public PatrolState(StateMachine machine) : base(machine)
|
public PatrolState(StateMachine machine) : base(machine)
|
||||||
{
|
{
|
||||||
|
@ -34,7 +38,7 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
if (dest)
|
if (dest)
|
||||||
{
|
{
|
||||||
nav.MoveTo(dest.GlobalPosition);
|
nav.MoveTo(dest.GlobalPosition);
|
||||||
Debug.Log("Moving to" + dest.GlobalPosition.ToString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lastFramePos = transform.GlobalPosition;
|
lastFramePos = transform.GlobalPosition;
|
||||||
|
@ -42,8 +46,28 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
stuckTimer = 0.0f;
|
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()
|
public override void update()
|
||||||
{
|
{
|
||||||
Navigation nav = machine.GetComponent<Navigation>();
|
Navigation nav = machine.GetComponent<Navigation>();
|
||||||
|
@ -55,7 +79,7 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
Vector3 d = lastFramePos - transform.GlobalPosition;
|
Vector3 d = lastFramePos - transform.GlobalPosition;
|
||||||
if (d.GetSqrMagnitude() < 0.001f)
|
if (d.GetSqrMagnitude() < 0.001f)
|
||||||
{
|
{
|
||||||
stuckTimer += Time.DeltaTimeF;
|
//stuckTimer += Time.DeltaTimeF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,7 +99,12 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
{
|
{
|
||||||
machine.SetState(typeof(AlertState));
|
machine.SetState(typeof(AlertState));
|
||||||
}
|
}
|
||||||
|
footStepTimer -= Time.DeltaTimeF;
|
||||||
|
if(footStepTimer <= 0.0f)
|
||||||
|
{
|
||||||
|
footStepTimer += footStepInterval;
|
||||||
|
AudioHandler.audioClipHandlers["HO_footsteps"].Play();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,13 +4,14 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using SHADE;
|
using SHADE;
|
||||||
|
using SHADE_Scripting.Audio;
|
||||||
|
|
||||||
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
{
|
{
|
||||||
public class TimeoutState : AIBaseState
|
public class TimeoutState : AIBaseState
|
||||||
{
|
{
|
||||||
float timer = 0.0f;
|
float timer = 0.0f;
|
||||||
float alertCooldown = 10.0f;
|
float alertCooldown = 1.0f;
|
||||||
|
|
||||||
public TimeoutState(StateMachine machine) : base(machine)
|
public TimeoutState(StateMachine machine) : base(machine)
|
||||||
{
|
{
|
||||||
|
@ -21,7 +22,12 @@ namespace SHADE_Scripting.Gameplay.AIBehaviour.AIRework.States
|
||||||
public override void OnEnter()
|
public override void OnEnter()
|
||||||
{
|
{
|
||||||
timer = 0.0f;
|
timer = 0.0f;
|
||||||
}
|
animator.Play(ai.idleAnim);
|
||||||
|
|
||||||
|
SHADE.Audio.SetParameterWithLabel("HomeownerBark", "DetectLost");
|
||||||
|
AudioHandler.audioClipHandlers["HO_bark"].Play();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public override void update()
|
public override void update()
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
@ -26,16 +27,12 @@ public class Item : Script
|
||||||
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 Vector3 firstRotation;
|
private Vector3 firstRotation;
|
||||||
private Collider collider;
|
|
||||||
public float density = 1.0f;
|
|
||||||
public bool dontReturn = false;
|
public bool dontReturn = false;
|
||||||
|
private bool once = true;
|
||||||
|
|
||||||
|
|
||||||
private bool checkSound = false;
|
|
||||||
private bool homeownerOnce = true;
|
private bool homeownerOnce = true;
|
||||||
public float soundDistance = 10;
|
public float soundDistance = 10;
|
||||||
|
|
||||||
|
@ -52,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)
|
||||||
|
@ -65,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>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,19 +118,6 @@ public class Item : Script
|
||||||
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)
|
||||||
|
@ -144,25 +130,21 @@ public class Item : Script
|
||||||
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"]);
|
|
||||||
|
|
||||||
Debug.Log("ENTER");
|
if (emitter)
|
||||||
if(emitter)
|
|
||||||
emitter.Emit();
|
emitter.Emit();
|
||||||
|
|
||||||
|
once = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (info.GameObject.GetScript<Homeowner1>() && homeownerOnce)
|
|
||||||
|
if (info.GameObject.GetScript<HomeOwnerAI>() && homeownerOnce)
|
||||||
{
|
{
|
||||||
homeownerOnce = false;
|
homeownerOnce = false;
|
||||||
returnBack = true;
|
returnBack = true;
|
||||||
|
@ -171,9 +153,8 @@ public class Item : Script
|
||||||
|
|
||||||
protected override void onCollisionExit(CollisionInfo info)
|
protected override void onCollisionExit(CollisionInfo info)
|
||||||
{
|
{
|
||||||
playSound = true;
|
|
||||||
checkSound = true;
|
|
||||||
homeownerOnce = true;
|
homeownerOnce = true;
|
||||||
|
once = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -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;
|
||||||
|
@ -212,6 +212,14 @@ public class PickAndThrow : Script
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
@ -466,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,7 +22,10 @@ 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 Leftsmoke { get; set; }
|
||||||
public ParticleEmitter Rightsmoke { get; set; }
|
public ParticleEmitter Rightsmoke { get; set; }
|
||||||
|
@ -122,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));
|
||||||
|
@ -189,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);
|
||||||
}
|
}
|
||||||
|
@ -227,7 +234,7 @@ public class PlayerController : Script
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GotCaught();
|
|
||||||
Rotation();
|
Rotation();
|
||||||
MoveKey();
|
MoveKey();
|
||||||
Sprint();
|
Sprint();
|
||||||
|
@ -254,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))
|
||||||
{
|
{
|
||||||
|
@ -290,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;
|
||||||
|
|
||||||
|
@ -334,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));
|
||||||
|
|
||||||
holdItem = false;
|
if (pat && holdItem)
|
||||||
|
{
|
||||||
|
holdItem = false;
|
||||||
|
isAiming = false;
|
||||||
|
cam.FOV = Settings.cameraFOV;
|
||||||
|
pat.TweenAimCamArm(false);
|
||||||
|
pat.SetItemGravityBack();
|
||||||
|
pat.ResetItemObject();
|
||||||
|
}
|
||||||
|
|
||||||
if (!sprintIncreaseOnce)
|
if (!sprintIncreaseOnce)
|
||||||
{
|
{
|
||||||
sprintIncreaseOnce = true;
|
sprintIncreaseOnce = true;
|
||||||
|
@ -418,9 +441,12 @@ public class PlayerController : Script
|
||||||
|
|
||||||
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)))
|
||||||
{
|
{
|
||||||
currentState = RaccoonStates.FALLING;
|
if (currentState != RaccoonStates.CAUGHT)
|
||||||
if (stateMachine && !stateMachine.IsState(typeof(PlayerFallState)))
|
{
|
||||||
stateMachine.SetState(typeof(PlayerFallState));
|
currentState = RaccoonStates.FALLING;
|
||||||
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerFallState)))
|
||||||
|
stateMachine.SetState(typeof(PlayerFallState));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -445,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
|
||||||
|
@ -496,34 +525,54 @@ public class PlayerController : Script
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GotCaught()
|
|
||||||
|
public void Caught()
|
||||||
{
|
{
|
||||||
if (currentState == RaccoonStates.CAUGHT && tranform && respawnPoint)
|
currentState = RaccoonStates.CAUGHT;
|
||||||
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerCaughtState)))
|
||||||
|
stateMachine.SetState(typeof(PlayerCaughtState));
|
||||||
|
|
||||||
|
AudioHandler.audioClipHandlers["RaccoonCaught"].Play();
|
||||||
|
if (pat && pat.item)
|
||||||
{
|
{
|
||||||
AudioHandler.audioClipHandlers["RaccoonCaught"].Play();
|
if (holdItem)
|
||||||
|
{
|
||||||
|
holdItem = false;
|
||||||
|
pat.item.GetScript<Item>().returnBack = true;
|
||||||
|
pat.SetItemGravityBack();
|
||||||
|
pat.ResetItemObject();
|
||||||
|
}
|
||||||
|
if (isAiming)
|
||||||
|
{
|
||||||
|
isAiming = false;
|
||||||
|
cam.FOV = Settings.cameraFOV;
|
||||||
|
camArm.TargetOffset = pat.prevTargetOffSet;
|
||||||
|
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;
|
currentState = RaccoonStates.IDLE;
|
||||||
if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState)))
|
if (stateMachine && !stateMachine.IsState(typeof(PlayerIdleState)))
|
||||||
stateMachine.SetState(typeof(PlayerIdleState));
|
stateMachine.SetState(typeof(PlayerIdleState));
|
||||||
tranform.LocalPosition = respawnPoint.GetComponent<Transform>().LocalPosition;
|
|
||||||
|
|
||||||
GameManager.Instance.RacoonCaught();
|
collider.GetCollisionShape(0).IsTrigger = false;
|
||||||
|
tranform.GlobalPosition = respawnPoint.GetComponent<Transform>().GlobalPosition;
|
||||||
|
|
||||||
if (pat && pat.item)
|
GameManager.Instance.RacoonCaught();
|
||||||
{
|
|
||||||
if (holdItem)
|
|
||||||
{
|
|
||||||
holdItem = false;
|
|
||||||
Debug.Log("PLAYER RETURN");
|
|
||||||
pat.item.GetScript<Item>().returnBack = true;
|
|
||||||
}
|
|
||||||
if (isAiming)
|
|
||||||
{
|
|
||||||
isAiming = false;
|
|
||||||
cam.FOV = Settings.cameraFOV;
|
|
||||||
camArm.TargetOffset = pat.prevTargetOffSet;
|
|
||||||
camArm.ArmLength = pat.tpc.armLength;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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}";
|
||||||
|
@ -91,6 +96,7 @@ public class GameManager : Script
|
||||||
|
|
||||||
AudioHandler.audioClipHandlers["SFXItemScore"] = Audio.CreateAudioClip("event:/Music/stingers/item_scored");
|
AudioHandler.audioClipHandlers["SFXItemScore"] = Audio.CreateAudioClip("event:/Music/stingers/item_scored");
|
||||||
AudioHandler.audioClipHandlers["RaccoonScored"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_scored");
|
AudioHandler.audioClipHandlers["RaccoonScored"] = Audio.CreateAudioClip("event:/Raccoon/raccoon_scored");
|
||||||
|
Audio.SetParameterWithLabel("PlaybackSpeed", "Normal");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void start()
|
protected override void start()
|
||||||
|
@ -103,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;
|
||||||
|
@ -123,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)
|
||||||
{
|
{
|
||||||
|
@ -135,90 +143,59 @@ 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.StopAllSounds(false);
|
||||||
AudioHandler.audioClipHandlers["BGMWin"].Play();
|
|
||||||
goingToWin = true;
|
if (timer <= 0)
|
||||||
if (SceneFadeInOut.Instance != null)
|
AudioHandler.audioClipHandlers["BGMLose"].Play();
|
||||||
SceneFadeInOut.Instance.CallFadeIn();
|
else if (totalItemCount <= 0)
|
||||||
}
|
AudioHandler.audioClipHandlers["BGMWin"].Play();
|
||||||
else if(!goingToWin && (timer < 0))
|
|
||||||
{
|
currGameState = GameState.OVER;
|
||||||
currGameState = GameState.LOSE;
|
finalTime = (int)timer;
|
||||||
AudioHandler.StopAllSounds(false);
|
Results.SetActive(true);
|
||||||
AudioHandler.audioClipHandlers["BGMLose"].Play();
|
|
||||||
goingToLose = true;
|
Input.SetMouseCentering(false);
|
||||||
if (SceneFadeInOut.Instance != null)
|
Application.IsCursorVisible = true;
|
||||||
SceneFadeInOut.Instance.CallFadeIn();
|
GamePause = true;
|
||||||
|
Application.FixDeltaTime = 0;
|
||||||
|
AnimationSystem.TimeScale = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Handling transitions
|
|
||||||
if (SceneFadeInOut.Instance != null)
|
if (SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeInFinished() && waitForTransition)
|
||||||
{
|
SceneManager.ChangeScene(winScene);
|
||||||
if (SceneFadeInOut.Instance.FadeInFinished())
|
|
||||||
{
|
|
||||||
if (goingToWin)
|
|
||||||
{
|
|
||||||
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;
|
||||||
|
if (minusTimerText != GameObject.Null)
|
||||||
{
|
{
|
||||||
timer -= 10.0f;
|
MinusTimerText text = minusTimerText.GetScript<MinusTimerText>();
|
||||||
if(minusTimerText != GameObject.Null)
|
if (text)
|
||||||
{
|
{
|
||||||
MinusTimerText text =minusTimerText.GetScript<MinusTimerText>();
|
text.Reset();
|
||||||
if(text)
|
}
|
||||||
{
|
|
||||||
text.Reset();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void Cheat()
|
private void Cheat()
|
||||||
{
|
{
|
||||||
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();
|
||||||
}
|
}
|
||||||
|
@ -245,23 +222,35 @@ 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);
|
Audio.SetParameter("Multiplier", currMultiplierCombo);
|
||||||
AudioHandler.audioClipHandlers["SFXItemScore"].Play();
|
AudioHandler.audioClipHandlers["SFXItemScore"].Play();
|
||||||
AudioHandler.audioClipHandlers["RaccoonScored"].Play();
|
AudioHandler.audioClipHandlers["RaccoonScored"].Play();
|
||||||
|
|
||||||
MultiplierTextFx fx = multiplierText.GetScript<MultiplierTextFx>();
|
SingleScaleBounce textBounce = scoreText.GetScript<SingleScaleBounce>();
|
||||||
|
SingleScaleBounce textBGBounce = scoreTextBG.GetScript<SingleScaleBounce>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (textBounce)
|
||||||
|
textBounce.ScaleBounceOnce();*/
|
||||||
|
|
||||||
|
if (textBGBounce)
|
||||||
|
textBGBounce.ScaleBounceOnce();
|
||||||
|
|
||||||
|
|
||||||
|
MultiplierTextFx fx = multiplierText.GetScript<MultiplierTextFx>();
|
||||||
if (fx)
|
if (fx)
|
||||||
{
|
{
|
||||||
fx.ShowMultiplier(currMultiplierCombo, maxMultiplierDuration);
|
fx.ShowMultiplier(currMultiplierCombo, maxMultiplierDuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleScaleBounce sb = scoreText.GetScript<SingleScaleBounce>();
|
|
||||||
if(sb)
|
|
||||||
{
|
|
||||||
sb.ScaleBounceOnce();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -22,7 +22,11 @@ public class ScoringZone : Script
|
||||||
{
|
{
|
||||||
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 )
|
||||||
{
|
{
|
||||||
GameManager.Instance.Score += info.GameObject.GetScript<Item>().Score * GameManager.Instance.currMultiplierCombo;
|
if (GameManager.Instance.currMultiplierCombo > 1)
|
||||||
|
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.EmissionCount = startingParticleCount * GameManager.Instance.currMultiplierCombo;
|
||||||
particle.Emit();
|
particle.Emit();
|
||||||
|
|
|
@ -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,
|
||||||
LINEAR
|
EASE_OUT_CIRCLE,
|
||||||
}
|
EASE_OUT_BACK,
|
||||||
|
LINEAR
|
||||||
|
}
|
||||||
|
|
||||||
public static class EasingHelper
|
public static class EasingHelper
|
||||||
{
|
{
|
||||||
|
@ -47,11 +49,19 @@ public static class EasingHelper
|
||||||
}
|
}
|
||||||
|
|
||||||
case EASING_METHOD.LINEAR:
|
case EASING_METHOD.LINEAR:
|
||||||
{
|
{
|
||||||
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>();
|
||||||
|
|
|
@ -5,43 +5,43 @@ using SHADE_Scripting.UI;
|
||||||
|
|
||||||
public class ChangeSceneButton : Script
|
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;
|
|
||||||
|
|
||||||
protected override void awake()
|
private bool clickedFlag;
|
||||||
{
|
|
||||||
clickedFlag = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void start()
|
protected override void awake()
|
||||||
|
{
|
||||||
|
clickedFlag = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
UIElement ui = GetComponent<UIElement>();
|
||||||
|
if (ui != null)
|
||||||
{
|
{
|
||||||
UIElement ui = GetComponent<UIElement>();
|
ui.OnRelease.RegisterAction(() =>
|
||||||
if (ui != null)
|
{
|
||||||
|
if (sceneID != 0)
|
||||||
{
|
{
|
||||||
ui.OnRelease.RegisterAction(() =>
|
Audio.PlaySFXOnce2D("event:/UI/success");
|
||||||
{
|
Audio.StopAllSounds();
|
||||||
if (sceneID != 0)
|
clickedFlag = true;
|
||||||
{
|
levelTransistion.SetActive(true);
|
||||||
Audio.PlaySFXOnce2D("event:/UI/success");
|
|
||||||
Audio.StopAllSounds();
|
|
||||||
if (SceneFadeInOut.Instance != null)
|
|
||||||
SceneFadeInOut.Instance.CallFadeIn();
|
|
||||||
clickedFlag = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Debug.LogError("Failed to register button action for ChangeSceneButton.");
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
protected override void update()
|
else
|
||||||
{
|
{
|
||||||
if (clickedFlag && sceneID != 0 && SceneFadeInOut.Instance.FadeInFinished())
|
Debug.LogError("Failed to register button action for ChangeSceneButton.");
|
||||||
{
|
|
||||||
SceneManager.ChangeScene(sceneID);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (levelTransistion.GetScript<LevelTransistion>().complete && clickedFlag)
|
||||||
|
{
|
||||||
|
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()
|
||||||
|
|
|
@ -82,6 +82,9 @@ public class CutsceneIntro : Script
|
||||||
private bool cutscene2Done = false;
|
private bool cutscene2Done = false;
|
||||||
private bool cutscene3Done = false;
|
private bool cutscene3Done = false;
|
||||||
|
|
||||||
|
public GameObject levelTransition;
|
||||||
|
private bool waiting = false;
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
initCutscene1();
|
initCutscene1();
|
||||||
|
@ -109,6 +112,9 @@ public class CutsceneIntro : Script
|
||||||
|
|
||||||
protected override void update()
|
protected override void update()
|
||||||
{
|
{
|
||||||
|
if (!levelTransition.GetScript<LevelTransistion>().complete)
|
||||||
|
return;
|
||||||
|
|
||||||
Canvas1();
|
Canvas1();
|
||||||
Canvas2();
|
Canvas2();
|
||||||
Canvas3();
|
Canvas3();
|
||||||
|
@ -148,8 +154,12 @@ public class CutsceneIntro : Script
|
||||||
|
|
||||||
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene3Done && canvas3.IsActiveSelf)
|
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene3Done && canvas3.IsActiveSelf)
|
||||||
{
|
{
|
||||||
SceneManager.ChangeScene(nextScene);
|
levelTransition.GetScript<LevelTransistion>().resetToLeft();
|
||||||
|
waiting = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (levelTransition.GetScript<LevelTransistion>().complete && waiting)
|
||||||
|
SceneManager.ChangeScene(nextScene);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Canvas1()
|
private void Canvas1()
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SHADE;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.UI
|
||||||
|
{
|
||||||
|
public class GameTimer: Script
|
||||||
|
{
|
||||||
|
private ScaleBounce scaleBounce;
|
||||||
|
private TextRenderable text;
|
||||||
|
public float criticalTime = 30;
|
||||||
|
|
||||||
|
public float timer;
|
||||||
|
|
||||||
|
|
||||||
|
protected override void awake()
|
||||||
|
{
|
||||||
|
text = GetComponent<TextRenderable>();
|
||||||
|
if(!text)
|
||||||
|
{
|
||||||
|
Debug.Log("GameTimer: No text renderable found");
|
||||||
|
}
|
||||||
|
|
||||||
|
scaleBounce = GetScript<ScaleBounce>();
|
||||||
|
if(!scaleBounce)
|
||||||
|
{
|
||||||
|
Debug.Log("GameTimer: No Scalebounce found in children");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
scaleBounce.isActive = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
timer = GameManager.Instance.timer;
|
||||||
|
|
||||||
|
if (timer <= criticalTime)
|
||||||
|
{
|
||||||
|
scaleBounce.isActive = true;
|
||||||
|
text.TextColor = new Color(1.0f, 0.0f, 0.0f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: SC_GameTimer
|
||||||
|
ID: 158823052
|
||||||
|
Type: 9
|
|
@ -12,6 +12,7 @@ public class InverseCamera : Script
|
||||||
public bool inverseX = false;
|
public bool inverseX = false;
|
||||||
public bool inverseY = false;
|
public bool inverseY = false;
|
||||||
|
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
UIElement ui = GetComponent<UIElement>();
|
UIElement ui = GetComponent<UIElement>();
|
||||||
|
@ -29,19 +30,17 @@ public class InverseCamera : Script
|
||||||
Debug.LogError("Failed to register Toggle action for inverse");
|
Debug.LogError("Failed to register Toggle action for inverse");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
protected override void start()
|
protected override void update()
|
||||||
{
|
{
|
||||||
UIElement ui = GetComponent<UIElement>();
|
UIElement ui = GetComponent<UIElement>();
|
||||||
if (ui)
|
if (ui)
|
||||||
{
|
{
|
||||||
ui.OnClick.RegisterAction(() =>
|
Toggle toggle = ui.GetComponent<Toggle>();
|
||||||
{
|
|
||||||
Toggle toggle = ui.GetComponent<Toggle>();
|
if (inverseX)
|
||||||
if(inverseX)
|
Settings.inverseX = toggle.GetValue();
|
||||||
Settings.inverseX = toggle.GetValue();
|
if (inverseY)
|
||||||
if(inverseY)
|
Settings.inverseY = toggle.GetValue();
|
||||||
Settings.inverseY = toggle.GetValue();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
using SHADE;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
|
||||||
|
public class LevelTransistion : Script
|
||||||
|
{
|
||||||
|
|
||||||
|
public GameObject logo;
|
||||||
|
public GameObject bg;
|
||||||
|
public float duration = 2.0f;
|
||||||
|
public float bgEndPositionX = 2500;
|
||||||
|
public float logoEndPositionX = 2500;
|
||||||
|
|
||||||
|
public bool rotAndScale = true;
|
||||||
|
public float rotationAmt = 360;
|
||||||
|
public float scaleAmt = 631;
|
||||||
|
|
||||||
|
public bool complete { get; set; }
|
||||||
|
|
||||||
|
private Transform logoTran;
|
||||||
|
private Transform bgTran;
|
||||||
|
|
||||||
|
private TweenThread bgTween;
|
||||||
|
private TweenThread logoTween;
|
||||||
|
private TweenThread rot;
|
||||||
|
private TweenThread scale;
|
||||||
|
|
||||||
|
protected override void awake()
|
||||||
|
{
|
||||||
|
logoTran = logo.GetComponent<Transform>();
|
||||||
|
if (!logoTran)
|
||||||
|
Debug.LogError("MISSING LOGO TRAN");
|
||||||
|
|
||||||
|
bgTran = bg.GetComponent<Transform>();
|
||||||
|
if (!bgTran)
|
||||||
|
Debug.LogError("MISSING BG TRAN");
|
||||||
|
|
||||||
|
complete = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
bgTween = TweenManager.CreateTweenThread(duration, bgTran.LocalPosition.x, bgEndPositionX, EASING_METHOD.EASE_OUT_CIRCLE);
|
||||||
|
logoTween = TweenManager.CreateTweenThread(duration , logoTran.LocalPosition.x, logoEndPositionX, EASING_METHOD.EASE_OUT_CIRCLE);
|
||||||
|
rot = TweenManager.CreateTweenThread(duration , 0, rotationAmt, EASING_METHOD.EASE_OUT_BACK);
|
||||||
|
scale = TweenManager.CreateTweenThread(duration, 0, scaleAmt, EASING_METHOD.EASE_OUT_BACK);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (bgTween != null)
|
||||||
|
bgTran.LocalPosition = new Vector3(bgTween.GetValue(), 0, bgTran.LocalPosition.z);
|
||||||
|
|
||||||
|
if (rotAndScale)
|
||||||
|
{
|
||||||
|
logoTran.LocalScale = new Vector3(scale.GetValue(), scale.GetValue(), 1);
|
||||||
|
logoTran.LocalEulerAngles = new Vector3(0, 0, SHADE.Math.DegreesToRadians(rot.GetValue()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logoTran.LocalPosition = new Vector3(logoTween.GetValue(), 0, logoTran.LocalPosition.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bgTween.IsCompleted() && logoTween.IsCompleted())
|
||||||
|
complete = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resetToLeft()
|
||||||
|
{
|
||||||
|
logoTran.LocalEulerAngles = Vector3.Zero;
|
||||||
|
logoTran.LocalPosition = Vector3.Zero;
|
||||||
|
logoTran.LocalScale = Vector3.Zero;
|
||||||
|
bgTween.duration = 0.8f;
|
||||||
|
bgTween.Reset(-3000.0f,0.0f);
|
||||||
|
logoTween.duration = 0.8f;
|
||||||
|
logoTween.Reset();
|
||||||
|
rot.duration = 0.8f;
|
||||||
|
rot.Reset();
|
||||||
|
scale.duration = 0.8f;
|
||||||
|
scale.Reset();
|
||||||
|
complete = false;
|
||||||
|
rotAndScale = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: SC_LevelTransistion
|
||||||
|
ID: 158044875
|
||||||
|
Type: 9
|
|
@ -26,7 +26,8 @@ public class MainMenu : Script
|
||||||
{
|
{
|
||||||
Input.SetMouseCentering(false);
|
Input.SetMouseCentering(false);
|
||||||
Application.IsCursorVisible = true;
|
Application.IsCursorVisible = true;
|
||||||
SceneFadeInOut.Instance.CallFadeOut();
|
if(SceneFadeInOut.Instance)
|
||||||
|
SceneFadeInOut.Instance.CallFadeOut();
|
||||||
}
|
}
|
||||||
protected override void update()
|
protected override void update()
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,6 +3,7 @@ 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;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace SHADE_Scripting.UI
|
namespace SHADE_Scripting.UI
|
||||||
|
@ -12,98 +13,70 @@ namespace SHADE_Scripting.UI
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
private TweenThread sizeThread;
|
private TweenThread sizeThread;
|
||||||
private TweenThread sizeInvertThread;
|
private TweenThread sizeInvertThread;
|
||||||
private TweenThread alphaThread;
|
|
||||||
|
|
||||||
|
|
||||||
public float maxSize = 1.0f;
|
public float maxSize = 1.0f;
|
||||||
public float minSize = 0.3f;
|
public float minSize = 0.3f;
|
||||||
public float minAlpha = 0.3f;
|
|
||||||
|
|
||||||
|
|
||||||
private bool showMultiplier = false;
|
|
||||||
const float sizeUpDuration = 0.1f;
|
const float sizeUpDuration = 0.1f;
|
||||||
|
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
private Vector3 defaultScale;
|
private Vector3 defaultScale;
|
||||||
|
|
||||||
|
private bool tweenUp = false;
|
||||||
|
|
||||||
protected override void start()
|
protected override void start()
|
||||||
{
|
{
|
||||||
sizeThread = TweenManager.CreateTweenThread(0.0f, maxSize, minSize, EASING_METHOD.EASE_IN_SINE);
|
sizeThread = TweenManager.CreateTweenThread(0.01f, maxSize, minSize, EASING_METHOD.EASE_IN_SINE);
|
||||||
sizeInvertThread = TweenManager.CreateTweenThread(sizeUpDuration, minSize, maxSize, EASING_METHOD.EASE_IN_SINE);
|
sizeInvertThread = TweenManager.CreateTweenThread(sizeUpDuration, minSize, maxSize, EASING_METHOD.EASE_IN_SINE);
|
||||||
alphaThread = TweenManager.CreateTweenThread(0.0f, 1.0f, minAlpha, EASING_METHOD.EASE_OUT_SINE);
|
|
||||||
Transform transform = GetComponent<Transform>();
|
Transform transform = GetComponent<Transform>();
|
||||||
if (transform != null)
|
if (transform != null)
|
||||||
{
|
{
|
||||||
defaultScale = transform.LocalScale;
|
defaultScale = transform.LocalScale;
|
||||||
transform.LocalScale = Vector3.Zero;
|
transform.LocalScale = Vector3.Zero;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
showMultiplier = false;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void update()
|
protected override void update()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (sizeThread == null || sizeInvertThread == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Transform transform = GetComponent<Transform>();
|
||||||
|
|
||||||
|
GetComponent<TextRenderable>().Text = $"X {GameManager.Instance.currMultiplierCombo}";
|
||||||
|
|
||||||
|
if (transform != null)
|
||||||
|
{
|
||||||
|
if (tweenUp == false)
|
||||||
{
|
{
|
||||||
Transform transform = GetComponent<Transform>();
|
transform.LocalScale = defaultScale * sizeThread.GetValue();
|
||||||
|
|
||||||
|
|
||||||
if (transform != null && showMultiplier == true)
|
|
||||||
{
|
|
||||||
if(!sizeInvertThread.IsCompleted())
|
|
||||||
{
|
|
||||||
transform.LocalScale = defaultScale * sizeInvertThread.GetValue();
|
|
||||||
|
|
||||||
Renderable rend = GetComponentInChildren<Renderable>();
|
|
||||||
if(rend)
|
|
||||||
{
|
|
||||||
rend.Material.SetProperty<float>("data.alpha", 1.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
TextRenderable text = GetComponent<TextRenderable>();
|
|
||||||
if (text)
|
|
||||||
{
|
|
||||||
Color clr = text.TextColor;
|
|
||||||
text.TextColor = new Color(clr.r, clr.g, clr.b, 1.0f);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(sizeThread.IsCompleted())
|
|
||||||
{
|
|
||||||
transform.LocalScale = Vector3.Zero;
|
|
||||||
showMultiplier = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
transform.LocalScale = defaultScale * sizeThread.GetValue();
|
|
||||||
|
|
||||||
Renderable rend = GetComponentInChildren<Renderable>();
|
|
||||||
if (rend)
|
|
||||||
{
|
|
||||||
rend.Material.SetProperty<float>("data.alpha", alphaThread.GetValue());
|
|
||||||
}
|
|
||||||
TextRenderable text = GetComponent<TextRenderable>();
|
|
||||||
if(text)
|
|
||||||
{
|
|
||||||
Color clr = text.TextColor;
|
|
||||||
text.TextColor = new Color(clr.r,clr.g,clr.b,alphaThread.GetValue() * 1.3f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (sizeInvertThread.IsCompleted())
|
||||||
|
{
|
||||||
|
tweenUp = false;
|
||||||
|
sizeThread.Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
transform.LocalScale = defaultScale * sizeInvertThread.GetValue();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void ShowMultiplier(int multiplier, float duration)
|
public void ShowMultiplier(int multiplier, float duration)
|
||||||
{
|
{
|
||||||
GetComponent<TextRenderable>().Text = $"X {multiplier}";
|
|
||||||
sizeThread.duration = duration + sizeUpDuration;
|
sizeThread.duration = duration + sizeUpDuration;
|
||||||
alphaThread.duration = duration + sizeUpDuration;
|
|
||||||
|
|
||||||
sizeInvertThread.Reset();
|
sizeInvertThread.Reset();
|
||||||
sizeThread.Reset();
|
sizeThread.Reset();
|
||||||
alphaThread.Reset();
|
tweenUp = true;
|
||||||
showMultiplier = true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ namespace SHADE_Scripting.UI
|
||||||
public GameObject sfxVolSlider;
|
public GameObject sfxVolSlider;
|
||||||
public GameObject bgmVolSlider;
|
public GameObject bgmVolSlider;
|
||||||
public GameObject fovSlider;
|
public GameObject fovSlider;
|
||||||
public GameObject sensitivitySlider;
|
|
||||||
|
|
||||||
protected override void awake()
|
protected override void awake()
|
||||||
{
|
{
|
||||||
|
@ -21,7 +20,6 @@ namespace SHADE_Scripting.UI
|
||||||
Slider sfx = sfxVolSlider.GetComponent<Slider>();
|
Slider sfx = sfxVolSlider.GetComponent<Slider>();
|
||||||
Slider bgm = bgmVolSlider.GetComponent<Slider>();
|
Slider bgm = bgmVolSlider.GetComponent<Slider>();
|
||||||
Slider fov = fovSlider.GetComponent<Slider>();
|
Slider fov = fovSlider.GetComponent<Slider>();
|
||||||
Slider sens = sensitivitySlider.GetComponent<Slider>();
|
|
||||||
|
|
||||||
if (mv != null)
|
if (mv != null)
|
||||||
{
|
{
|
||||||
|
@ -42,12 +40,6 @@ namespace SHADE_Scripting.UI
|
||||||
fov.ScaledValue = Settings.cameraFOV;
|
fov.ScaledValue = Settings.cameraFOV;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (sens != null)
|
|
||||||
{
|
|
||||||
sens.ScaledValue = Settings.cameraSensitivity;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,7 +50,6 @@ namespace SHADE_Scripting.UI
|
||||||
Slider sfx = sfxVolSlider.GetComponent<Slider>();
|
Slider sfx = sfxVolSlider.GetComponent<Slider>();
|
||||||
Slider bgm = bgmVolSlider.GetComponent<Slider>();
|
Slider bgm = bgmVolSlider.GetComponent<Slider>();
|
||||||
Slider fov = fovSlider.GetComponent<Slider>();
|
Slider fov = fovSlider.GetComponent<Slider>();
|
||||||
Slider sens = sensitivitySlider.GetComponent<Slider>();
|
|
||||||
|
|
||||||
if (mv != null)
|
if (mv != null)
|
||||||
{
|
{
|
||||||
|
@ -80,11 +71,6 @@ namespace SHADE_Scripting.UI
|
||||||
{
|
{
|
||||||
Settings.cameraFOV = fov.ScaledValue;
|
Settings.cameraFOV = fov.ScaledValue;
|
||||||
}
|
}
|
||||||
if (sens != null)
|
|
||||||
{
|
|
||||||
Settings.cameraSensitivity = sens.ScaledValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
using SHADE;
|
||||||
|
using SHADE_Scripting.UI;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
|
||||||
|
public class Results : Script
|
||||||
|
{
|
||||||
|
public GameObject score;
|
||||||
|
public GameObject timeLeft;
|
||||||
|
public GameObject maxCombo;
|
||||||
|
public GameObject finalScore;
|
||||||
|
public GameObject contiuneBtn;
|
||||||
|
public GameObject levelTransition;
|
||||||
|
public uint nextScene;
|
||||||
|
public float scoreTweenDur = 2.0f;
|
||||||
|
|
||||||
|
private TextRenderable scoreText;
|
||||||
|
private TextRenderable timeLeftText;
|
||||||
|
private TextRenderable maxComboText;
|
||||||
|
private TextRenderable finalScoreText;
|
||||||
|
|
||||||
|
private int scoreCount = 0;
|
||||||
|
private bool once = true;
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
private TweenThread scoreTween;
|
||||||
|
|
||||||
|
private bool waitForTransition;
|
||||||
|
protected override void awake()
|
||||||
|
{
|
||||||
|
scoreText = score.GetComponent<TextRenderable>();
|
||||||
|
if (!scoreText)
|
||||||
|
Debug.LogError("MISSING SCORE TEXT");
|
||||||
|
|
||||||
|
timeLeftText = timeLeft.GetComponent<TextRenderable>();
|
||||||
|
if (!timeLeftText)
|
||||||
|
Debug.LogError("MISSING TIME LEFT TEXT");
|
||||||
|
|
||||||
|
maxComboText = maxCombo.GetComponent<TextRenderable>();
|
||||||
|
if (!maxComboText)
|
||||||
|
Debug.LogError("MISSING MAX COMBO TEXT");
|
||||||
|
|
||||||
|
finalScoreText = finalScore.GetComponent<TextRenderable>();
|
||||||
|
if (!finalScoreText)
|
||||||
|
Debug.LogError("MISSING FINAL SCORE TEXT");
|
||||||
|
|
||||||
|
if (!contiuneBtn)
|
||||||
|
Debug.LogError("MISSING CONTIUNE BTN");
|
||||||
|
else
|
||||||
|
contiuneBtn.SetActive(false);
|
||||||
|
|
||||||
|
waitForTransition = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
scoreCount = GameManager.Instance.Score + (GameManager.Instance.finalTime * 100);
|
||||||
|
|
||||||
|
if(scoreText)
|
||||||
|
scoreText.Text = $"{GameManager.Instance.Score}";
|
||||||
|
if (timeLeftText)
|
||||||
|
timeLeftText.Text = $"{GameManager.Instance.finalTime}s";
|
||||||
|
if (maxComboText)
|
||||||
|
maxComboText.Text = $"X{GameManager.Instance.MaxComboAccquired}";
|
||||||
|
if (finalScoreText)
|
||||||
|
finalScoreText.Text = $"{scoreCount}";
|
||||||
|
|
||||||
|
UIElement contiune = contiuneBtn.GetComponent<UIElement>();
|
||||||
|
if (contiune != null)
|
||||||
|
{
|
||||||
|
contiune.OnRelease.RegisterAction(() =>
|
||||||
|
{
|
||||||
|
levelTransition.GetScript<LevelTransistion>().resetToLeft();
|
||||||
|
waitForTransition = true;
|
||||||
|
|
||||||
|
GameManager.Instance.GamePause = false;
|
||||||
|
Application.FixDeltaTime = Time.DefaultFixDeltaTime;
|
||||||
|
AnimationSystem.TimeScale = AnimationSystem.DefaultTimeScale;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogError("Failed to register contiune button.");
|
||||||
|
}
|
||||||
|
|
||||||
|
scoreTween = TweenManager.CreateTweenThread(scoreTweenDur, 0, scoreCount, EASING_METHOD.EASE_IN_SINE);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (levelTransition.GetScript<LevelTransistion>().complete && waitForTransition)
|
||||||
|
{
|
||||||
|
Audio.StopAllSounds();
|
||||||
|
SceneManager.ChangeScene(nextScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (finalScoreText && !scoreTween.IsCompleted())
|
||||||
|
finalScoreText.Text = $"{(int)scoreTween.GetValue()}";
|
||||||
|
else if(scoreTween.IsCompleted() && once)
|
||||||
|
{
|
||||||
|
contiuneBtn.SetActive(true);
|
||||||
|
finalScoreText.Text = $"{scoreCount}";
|
||||||
|
once = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: SC_Results
|
||||||
|
ID: 154482040
|
||||||
|
Type: 9
|
|
@ -1,4 +1,4 @@
|
||||||
using SHADE;
|
using SHADE;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -7,41 +7,55 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace SHADE_Scripting.UI
|
namespace SHADE_Scripting.UI
|
||||||
{
|
{
|
||||||
public class ScaleBounce:Script
|
public class ScaleBounce : Script
|
||||||
|
{
|
||||||
|
[NonSerialized]
|
||||||
|
private TweenThread thread;
|
||||||
|
|
||||||
|
public float minScale = 1.0f;
|
||||||
|
public float maxScale = 1.2f;
|
||||||
|
public float duration = 1.0f;
|
||||||
|
|
||||||
|
private Vector3 defaultScale;
|
||||||
|
|
||||||
|
|
||||||
|
public bool isActive = false;
|
||||||
|
|
||||||
|
private bool lastActive = false;
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
{
|
{
|
||||||
[NonSerialized]
|
thread = TweenManager.CreateTweenThread(duration, minScale, maxScale, EASING_METHOD.EASE_IN_SINE);
|
||||||
private TweenThread thread;
|
Transform trans = GetComponent<Transform>();
|
||||||
|
if (trans != null)
|
||||||
public float minScale = 1.0f;
|
{
|
||||||
public float maxScale = 1.2f;
|
defaultScale = trans.LocalScale;
|
||||||
public float duration = 1.0f;
|
}
|
||||||
|
|
||||||
private Vector3 defaultScale;
|
|
||||||
|
|
||||||
|
|
||||||
protected override void start()
|
|
||||||
{
|
|
||||||
thread = TweenManager.CreateTweenThread(duration, minScale, maxScale, EASING_METHOD.EASE_IN_SINE);
|
|
||||||
Transform trans = GetComponent<Transform>();
|
|
||||||
if(trans != null)
|
|
||||||
{
|
|
||||||
defaultScale = trans.LocalScale;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void update()
|
|
||||||
{
|
|
||||||
Transform trans = GetComponent<Transform>();
|
|
||||||
if(trans != null)
|
|
||||||
{
|
|
||||||
trans.LocalScale = defaultScale * thread.GetValue();
|
|
||||||
}
|
|
||||||
if(thread.IsCompleted())
|
|
||||||
{
|
|
||||||
thread.ResetInvert();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (thread == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (isActive != lastActive && isActive == true)
|
||||||
|
{
|
||||||
|
thread.Reset();
|
||||||
|
}
|
||||||
|
lastActive = isActive;
|
||||||
|
|
||||||
|
Transform trans = GetComponent<Transform>();
|
||||||
|
if (trans != null && isActive)
|
||||||
|
{
|
||||||
|
trans.LocalScale = defaultScale * thread.GetValue();
|
||||||
|
}
|
||||||
|
if (thread.IsCompleted())
|
||||||
|
{
|
||||||
|
thread.ResetInvert();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,44 +7,43 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace SHADE_Scripting.UI
|
namespace SHADE_Scripting.UI
|
||||||
{
|
{
|
||||||
public class ScrollingCredits: Script
|
public class ScrollingCredits : Script
|
||||||
|
{
|
||||||
|
|
||||||
|
public float endY = 4000.0f;
|
||||||
|
public float duration = 30.0f;
|
||||||
|
public GameObject levelTransition;
|
||||||
|
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
TweenThread thread;
|
||||||
|
|
||||||
|
protected override void awake()
|
||||||
|
{
|
||||||
|
base.awake();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
{
|
{
|
||||||
|
|
||||||
public float endY = 4000.0f;
|
Transform transform = GetComponent<Transform>();
|
||||||
public float duration = 30.0f;
|
if (transform != null)
|
||||||
|
{
|
||||||
|
thread = TweenManager.CreateTweenThread(duration, transform.LocalPosition.y, endY, EASING_METHOD.LINEAR);
|
||||||
[NonSerialized]
|
thread.SetResetOnInactive(GameObject);
|
||||||
TweenThread thread;
|
}
|
||||||
|
|
||||||
protected override void awake()
|
|
||||||
{
|
|
||||||
base.awake();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void start()
|
|
||||||
{
|
|
||||||
base.start();
|
|
||||||
|
|
||||||
Transform transform = GetComponent<Transform>();
|
|
||||||
if(transform != null)
|
|
||||||
{
|
|
||||||
thread = TweenManager.CreateTweenThread(duration, transform.LocalPosition.y, endY, EASING_METHOD.LINEAR);
|
|
||||||
thread.SetResetOnInactive(GameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void update()
|
|
||||||
{
|
|
||||||
base.update();
|
|
||||||
|
|
||||||
Transform transform = GetComponent<Transform>();
|
|
||||||
|
|
||||||
if(thread != null && transform != null)
|
|
||||||
{
|
|
||||||
transform.LocalPosition = new Vector3( transform.LocalPosition.x ,thread.GetValue() , transform.LocalPosition.z);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
|
||||||
|
Transform transform = GetComponent<Transform>();
|
||||||
|
|
||||||
|
if (thread != null && transform != null)
|
||||||
|
{
|
||||||
|
transform.LocalPosition = new Vector3(transform.LocalPosition.x, thread.GetValue(), transform.LocalPosition.z);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,67 +7,73 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace SHADE_Scripting.UI
|
namespace SHADE_Scripting.UI
|
||||||
{
|
{
|
||||||
public class SingleScaleBounce: Script
|
public class SingleScaleBounce : Script
|
||||||
|
{
|
||||||
|
[NonSerialized]
|
||||||
|
TweenThread thread;
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
Vector3 defaultScale;
|
||||||
|
|
||||||
|
public float durationUp = 0.15f;
|
||||||
|
public float durationDown = 0.3f;
|
||||||
|
|
||||||
|
public float scaleSize = 1.2f;
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
private bool scaleUp = false;
|
||||||
|
|
||||||
|
private Transform trans;
|
||||||
|
|
||||||
|
protected override void awake()
|
||||||
{
|
{
|
||||||
[NonSerialized]
|
trans = GetComponent<Transform>();
|
||||||
TweenThread thread;
|
if (trans != null)
|
||||||
|
{
|
||||||
[NonSerialized]
|
defaultScale = trans.LocalScale;
|
||||||
Vector3 defaultScale;
|
}
|
||||||
|
|
||||||
public float durationUp = 0.15f;
|
|
||||||
public float durationDown = 0.3f;
|
|
||||||
|
|
||||||
public float scaleSize = 1.2f;
|
|
||||||
|
|
||||||
[NonSerialized]
|
|
||||||
private bool scaleUp = false;
|
|
||||||
|
|
||||||
protected override void awake()
|
|
||||||
{
|
|
||||||
Transform trans = GetComponent<Transform>();
|
|
||||||
if(trans != null)
|
|
||||||
{
|
|
||||||
defaultScale = trans.LocalScale;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void start()
|
|
||||||
{
|
|
||||||
thread = TweenManager.CreateTweenThread(0.0f,1.0f,1.0f,EASING_METHOD.EASE_IN_SINE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
protected override void update()
|
|
||||||
{
|
|
||||||
if(scaleUp)
|
|
||||||
{
|
|
||||||
if(thread.IsCompleted())
|
|
||||||
{
|
|
||||||
scaleUp = false;
|
|
||||||
thread.duration = durationDown;
|
|
||||||
thread.ResetInvert();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Transform trans = GetComponent<Transform>();
|
|
||||||
if(trans != null)
|
|
||||||
{
|
|
||||||
trans.LocalScale = defaultScale * thread.GetValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void ScaleBounceOnce()
|
|
||||||
{
|
|
||||||
scaleUp = true;
|
|
||||||
thread.duration = durationUp;
|
|
||||||
thread.Reset(1.0f, scaleSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
|
||||||
|
thread = TweenManager.CreateTweenThread(0.0f, 1.0f, 1.0f, EASING_METHOD.LINEAR);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
if (scaleUp)
|
||||||
|
{
|
||||||
|
if (thread != null && thread.IsCompleted())
|
||||||
|
{
|
||||||
|
scaleUp = false;
|
||||||
|
thread.duration = durationDown;
|
||||||
|
thread.method = EASING_METHOD.LINEAR;
|
||||||
|
thread.ResetInvert();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trans && thread != null)
|
||||||
|
trans.LocalScale = defaultScale * thread.GetValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ScaleBounceOnce()
|
||||||
|
{
|
||||||
|
scaleUp = true;
|
||||||
|
if (thread != null)
|
||||||
|
{
|
||||||
|
thread.duration = durationUp;
|
||||||
|
thread.Reset(1.0f, scaleSize);
|
||||||
|
thread.method = EASING_METHOD.EASE_OUT_BACK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Log("Single Scale Bounce: thread is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
using SHADE;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.UI
|
||||||
|
{
|
||||||
|
public class SliderFX : Script
|
||||||
|
{
|
||||||
|
|
||||||
|
public string onClickSound = "event:/UI/button_success";
|
||||||
|
public string onReleaseSound = "event:/UI/button_fail";
|
||||||
|
|
||||||
|
|
||||||
|
[NonSerialized]
|
||||||
|
private AudioClipHandler onClickACHandler;
|
||||||
|
[NonSerialized]
|
||||||
|
private AudioClipHandler onReleaseACHandler;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected override void awake()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
if (onClickSound != "Empty")
|
||||||
|
onClickACHandler = SHADE.Audio.CreateAudioClip(onClickSound);
|
||||||
|
if (onReleaseSound != "Empty")
|
||||||
|
onReleaseACHandler = SHADE.Audio.CreateAudioClip(onReleaseSound);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
Transform transform = GetComponent<Transform>();
|
||||||
|
if (transform == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
UIElement ui = GetComponent<UIElement>();
|
||||||
|
if (ui == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
ui.OnClick.RegisterAction(() =>
|
||||||
|
{
|
||||||
|
if (onClickSound != "Empty")
|
||||||
|
onClickACHandler.Play();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.OnRelease.RegisterAction(() =>
|
||||||
|
{
|
||||||
|
if (onReleaseSound != "Empty")
|
||||||
|
onReleaseACHandler.Play();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: SC_SliderFX
|
||||||
|
ID: 157251414
|
||||||
|
Type: 9
|
|
@ -35,9 +35,9 @@ public class StealFoodPopUp : Script
|
||||||
|
|
||||||
protected override void start()
|
protected override void start()
|
||||||
{
|
{
|
||||||
rot = TweenManager.CreateTweenThread(popInDuration, 0, rotationAmt, EASING_METHOD.EASE_IN_SINE);
|
rot = TweenManager.CreateTweenThread(popInDuration * 0.4f, 0, rotationAmt, EASING_METHOD.LINEAR);
|
||||||
scaleX = TweenManager.CreateTweenThread(popInDuration, 0, scaleAmtX, EASING_METHOD.EASE_IN_SINE);
|
scaleX = TweenManager.CreateTweenThread(popInDuration, 0, scaleAmtX, EASING_METHOD.EASE_OUT_BACK);
|
||||||
scaleY = TweenManager.CreateTweenThread(popInDuration, 0, scaleAmtY, EASING_METHOD.EASE_IN_SINE);
|
scaleY = TweenManager.CreateTweenThread(popInDuration, 0, scaleAmtY, EASING_METHOD.EASE_OUT_BACK);
|
||||||
|
|
||||||
tran = GetComponent<Transform>();
|
tran = GetComponent<Transform>();
|
||||||
if (!tran)
|
if (!tran)
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SHADE;
|
||||||
|
|
||||||
|
namespace SHADE_Scripting.UI
|
||||||
|
{
|
||||||
|
public class TransitToMainMenu: Script
|
||||||
|
{
|
||||||
|
public float timeToTransit = 0.0f;
|
||||||
|
public uint sceneToChange = 0;
|
||||||
|
private float timer = 0.0f;
|
||||||
|
private bool sceneChanged = false;
|
||||||
|
|
||||||
|
protected override void start()
|
||||||
|
{
|
||||||
|
timer = timeToTransit;
|
||||||
|
sceneChanged = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected override void update()
|
||||||
|
{
|
||||||
|
timer -= Time.DeltaTimeF;
|
||||||
|
if(timer <= 0.0f && sceneChanged == false)
|
||||||
|
{
|
||||||
|
SceneManager.ChangeScene(sceneToChange);
|
||||||
|
sceneChanged = true;
|
||||||
|
}
|
||||||
|
if(Input.GetKeyDown(Input.KeyCode.Space))
|
||||||
|
{
|
||||||
|
timer = 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
Name: TransitToMainMenu
|
||||||
|
ID: 159865134
|
||||||
|
Type: 9
|
Binary file not shown.
|
@ -14,6 +14,8 @@ struct EmitterParameters
|
||||||
float rotationDecay;
|
float rotationDecay;
|
||||||
vec4 lifeAndSizeRange; // min life, max life, min size, max size
|
vec4 lifeAndSizeRange; // min life, max life, min size, max size
|
||||||
vec4 colorTint;
|
vec4 colorTint;
|
||||||
|
vec4 colorTintRange;
|
||||||
|
vec4 colorDecay;
|
||||||
float sizeDecay;
|
float sizeDecay;
|
||||||
uint textureIndex;
|
uint textureIndex;
|
||||||
float padding[2];
|
float padding[2];
|
||||||
|
@ -27,6 +29,7 @@ struct ParticleData
|
||||||
vec4 acceleration;
|
vec4 acceleration;
|
||||||
vec4 scaleAndDecay;
|
vec4 scaleAndDecay;
|
||||||
vec4 colorTint;
|
vec4 colorTint;
|
||||||
|
vec4 colorDecay;
|
||||||
float life;
|
float life;
|
||||||
uint textureIndex;
|
uint textureIndex;
|
||||||
};
|
};
|
||||||
|
@ -175,9 +178,18 @@ void main()
|
||||||
particle.scaleAndDecay.y = particleSize;
|
particle.scaleAndDecay.y = particleSize;
|
||||||
particle.scaleAndDecay.z = emitterParams.data.sizeDecay;
|
particle.scaleAndDecay.z = emitterParams.data.sizeDecay;
|
||||||
particle.scaleAndDecay.w = emitterParams.data.sizeDecay;
|
particle.scaleAndDecay.w = emitterParams.data.sizeDecay;
|
||||||
|
particle.colorDecay = emitterParams.data.colorDecay;
|
||||||
|
|
||||||
|
float randRange = rand(seed) * 2.0f - 1.0f;
|
||||||
|
|
||||||
// Set particle color tint
|
// Set particle color tint
|
||||||
particle.colorTint = emitterParams.data.colorTint;
|
particle.colorTint = emitterParams.data.colorTint + vec4 (randRange * emitterParams.data.colorTintRange.x,
|
||||||
|
randRange * emitterParams.data.colorTintRange.y,
|
||||||
|
randRange * emitterParams.data.colorTintRange.z,
|
||||||
|
randRange * emitterParams.data.colorTintRange.w);
|
||||||
|
|
||||||
|
// particle.colorTint = emitterParams.data.colorTint;
|
||||||
|
|
||||||
|
|
||||||
// Set the texture for the particle
|
// Set the texture for the particle
|
||||||
particle.textureIndex = emitterParams.data.textureIndex;
|
particle.textureIndex = emitterParams.data.textureIndex;
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,27 @@
|
||||||
|
#version 460 core
|
||||||
|
#extension GL_EXT_nonuniform_qualifier : require
|
||||||
|
|
||||||
|
layout (location = 0) out vec4 fragColor;
|
||||||
|
|
||||||
|
layout (set = 0, binding = 1) uniform sampler2D textures[]; // for textures (global)
|
||||||
|
|
||||||
|
// between shader stages
|
||||||
|
layout(location = 0) in struct
|
||||||
|
{
|
||||||
|
vec2 uv; // location = 0
|
||||||
|
} In;
|
||||||
|
|
||||||
|
// material stuff
|
||||||
|
layout(location = 1) flat in struct
|
||||||
|
{
|
||||||
|
uint textureIndex;
|
||||||
|
vec4 color;
|
||||||
|
} InFlat;
|
||||||
|
|
||||||
|
void main ()
|
||||||
|
{
|
||||||
|
fragColor = vec4 (texture(textures [nonuniformEXT(InFlat.textureIndex)], In.uv)) * InFlat.color;
|
||||||
|
|
||||||
|
if (fragColor.a < 0.01f)
|
||||||
|
discard;
|
||||||
|
}
|
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
Name: ParticleRounded_FS
|
||||||
|
ID: 42315398
|
||||||
|
Type: 2
|
|
@ -0,0 +1,107 @@
|
||||||
|
#version 460 core
|
||||||
|
|
||||||
|
struct GenericData
|
||||||
|
{
|
||||||
|
//! Delta time
|
||||||
|
float dt;
|
||||||
|
|
||||||
|
//! Elapsed time of the application
|
||||||
|
float elapsedTime;
|
||||||
|
|
||||||
|
//! Viewport width of the scene (excluding imgui, that means smaller than window)
|
||||||
|
uint viewportWidth;
|
||||||
|
|
||||||
|
//! Ditto but for height
|
||||||
|
uint viewportHeight;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ParticleData
|
||||||
|
{
|
||||||
|
vec4 position;
|
||||||
|
vec4 orientationSpeedDecay;
|
||||||
|
vec4 velocity;
|
||||||
|
vec4 acceleration;
|
||||||
|
vec4 scaleAndDecay;
|
||||||
|
vec4 colorTint;
|
||||||
|
vec4 colorDecay;
|
||||||
|
float life;
|
||||||
|
uint textureIndex;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout (set = 0, binding = 0) uniform GenericDataBuffer
|
||||||
|
{
|
||||||
|
GenericData data;
|
||||||
|
} genericDataBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
layout(set = 1, binding = 0) uniform CameraData
|
||||||
|
{
|
||||||
|
vec4 position;
|
||||||
|
mat4 vpMat;
|
||||||
|
mat4 viewMat;
|
||||||
|
mat4 projMat;
|
||||||
|
} cameraData;
|
||||||
|
|
||||||
|
// output buffer not needed
|
||||||
|
layout (std430, set = 2, binding = 2) coherent restrict buffer ParticlesOutputBuffer
|
||||||
|
{
|
||||||
|
ParticleData data[];
|
||||||
|
} outputParticles;
|
||||||
|
|
||||||
|
layout (std430, set = 2, binding = 4) coherent restrict buffer IndicesData
|
||||||
|
{
|
||||||
|
uint indices[];
|
||||||
|
};
|
||||||
|
|
||||||
|
// between shader stages
|
||||||
|
layout(location = 0) out struct
|
||||||
|
{
|
||||||
|
vec2 uv; // location = 0
|
||||||
|
} Out;
|
||||||
|
|
||||||
|
// material stuff
|
||||||
|
layout(location = 1) out struct
|
||||||
|
{
|
||||||
|
uint textureIndex; // location = 1
|
||||||
|
vec4 color; // location = 2
|
||||||
|
} OutFlat;
|
||||||
|
|
||||||
|
vec2 CreateQuad (in uint vertexID)
|
||||||
|
{
|
||||||
|
uint b = 1 << vertexID;
|
||||||
|
return vec2 ((0x3 & b) != 0, (0x9 & b) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
// Create a quad and its texture coordinates
|
||||||
|
Out.uv = CreateQuad (gl_VertexIndex);
|
||||||
|
vec3 vertexPos = vec3 (Out.uv - vec2(0.5f), 0.0f);
|
||||||
|
vertexPos.y *= 0.5f;
|
||||||
|
|
||||||
|
ParticleData particle = outputParticles.data[indices[gl_InstanceIndex]];
|
||||||
|
|
||||||
|
vec3 normalized = normalize (vec3 (particle.velocity.xyz));
|
||||||
|
float pitch = acos (dot (normalized.xyz, normalize (vec3 (normalized.x, 0.0f, normalized.z))));
|
||||||
|
|
||||||
|
float angle = pitch;
|
||||||
|
// float angle = atan (normalized.y, normalized.x);
|
||||||
|
vec2 particleScaleData = particle.scaleAndDecay.xy; // x and y
|
||||||
|
|
||||||
|
mat3 rotate = mat3 (1.0f);
|
||||||
|
rotate[0][0] = cos(angle);
|
||||||
|
rotate[0][1] = sin(angle);
|
||||||
|
rotate[1][0] = -sin(angle);
|
||||||
|
rotate[1][1] = cos(angle);
|
||||||
|
|
||||||
|
vec3 particlePos = rotate * vertexPos;
|
||||||
|
|
||||||
|
vec3 viewRight = normalize (vec3 (cameraData.viewMat[0][0], cameraData.viewMat[1][0], cameraData.viewMat[2][0]));
|
||||||
|
vec3 viewUp = normalize(vec3 (cameraData.viewMat[0][1], cameraData.viewMat[1][1], cameraData.viewMat[2][1]));
|
||||||
|
|
||||||
|
particlePos = particle.position.xyz + (viewRight * particlePos.x * particleScaleData.x) + (viewUp * particlePos.y * particleScaleData.y);
|
||||||
|
OutFlat.textureIndex = particle.textureIndex;
|
||||||
|
OutFlat.color = particle.colorTint;
|
||||||
|
|
||||||
|
gl_Position = cameraData.vpMat * vec4(particlePos, 1.0f);
|
||||||
|
}
|
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
Name: ParticleRounded_VS
|
||||||
|
ID: 44202416
|
||||||
|
Type: 2
|
|
@ -18,6 +18,7 @@ struct ParticleData
|
||||||
vec4 acceleration;
|
vec4 acceleration;
|
||||||
vec4 scaleAndDecay;
|
vec4 scaleAndDecay;
|
||||||
vec4 colorTint;
|
vec4 colorTint;
|
||||||
|
vec4 colorDecay;
|
||||||
float life;
|
float life;
|
||||||
uint textureIndex;
|
uint textureIndex;
|
||||||
};
|
};
|
||||||
|
|
Binary file not shown.
|
@ -17,6 +17,8 @@ struct ParticleData
|
||||||
vec4 velocity;
|
vec4 velocity;
|
||||||
vec4 acceleration;
|
vec4 acceleration;
|
||||||
vec4 scaleAndDecay;
|
vec4 scaleAndDecay;
|
||||||
|
vec4 colorTint;
|
||||||
|
vec4 colorDecay;
|
||||||
float life;
|
float life;
|
||||||
uint textureIndex;
|
uint textureIndex;
|
||||||
};
|
};
|
||||||
|
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue