Implemented Animation Clip asset and animation controller #410
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,8 @@
|
|||
- VertexShader: 46580970
|
||||
FragmentShader: 35983630
|
||||
SubPass: UI
|
||||
Properties:
|
||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||
data.textureIndex: 51238312
|
||||
data.alpha: 1
|
||||
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,3 @@
|
|||
Name: CutScene_04a
|
||||
ID: 130935405
|
||||
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: 61471971
|
||||
data.alpha: 1
|
||||
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,3 @@
|
|||
Name: CutScene_04b
|
||||
ID: 122461516
|
||||
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: 58217538
|
||||
data.alpha: 1
|
||||
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,3 @@
|
|||
Name: CutScene_04c
|
||||
ID: 124507864
|
||||
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: 61980534
|
||||
data.alpha: 1
|
||||
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,3 @@
|
|||
Name: CutScene_05a
|
||||
ID: 118069989
|
||||
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: 51561286
|
||||
data.alpha: 1
|
||||
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,3 @@
|
|||
Name: CutScene_05b
|
||||
ID: 132945336
|
||||
Type: 7
|
|
@ -1,6 +1,6 @@
|
|||
- VertexShader: 46580970
|
||||
FragmentShader: 50110174
|
||||
SubPass: UI
|
||||
SubPass: UI Translucent
|
||||
Properties:
|
||||
data.color: {x: 0, y: 0, z: 0, w: 1}
|
||||
data.textureIndex: 0
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
SubPass: UI
|
||||
Properties:
|
||||
data.color: {x: 1, y: 1, z: 1, w: 1}
|
||||
data.textureIndex: 54429632
|
||||
data.textureIndex: 58181851
|
||||
data.alpha: 1
|
||||
data.beta: {x: 1, y: 1, z: 1}
|
|
@ -0,0 +1,334 @@
|
|||
- EID: 1
|
||||
Name: Canvas4
|
||||
IsActive: true
|
||||
NumberOfChildren: 3
|
||||
Components:
|
||||
Canvas Component:
|
||||
Canvas Width: 1920
|
||||
Canvas Height: 1080
|
||||
Scale by canvas width: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 10
|
||||
Name: CutScene4
|
||||
IsActive: true
|
||||
NumberOfChildren: 3
|
||||
Components:
|
||||
UI Component:
|
||||
Canvas ID: 1
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 2
|
||||
Name: pic1
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -1275, y: 255, z: 0.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1313, y: 544, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 130935405
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 1
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 65542
|
||||
Name: pic2
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 1600, y: 150, z: 0.400000006}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 640, y: 661, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 122461516
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 1
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 5
|
||||
Name: pic3
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -2000, y: -275, z: 0.300000012}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1848, y: 575, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 124507864
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 1
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 11
|
||||
Name: Background
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.699999988}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1920, y: 1080, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 117531460
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 1
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 12
|
||||
Name: Text
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 250, y: -500, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 50, y: 50, z: 50}
|
||||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: Press Space to contiune
|
||||
Font: 176667660
|
||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 1
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 3
|
||||
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: 7
|
||||
Name: CutsceneManager
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components: ~
|
||||
Scripts:
|
||||
- Type: CutsceneEnd
|
||||
Enabled: true
|
||||
nextScene: 92009475
|
||||
duration: 1
|
||||
skipDuration: 0.100000001
|
||||
cutscene4Points: 4
|
||||
cutscene4Pics: 10
|
||||
cutscene5Points: 21
|
||||
cutscene5Pics: 15
|
||||
canvas4: 1
|
||||
canvas5: 14
|
||||
- EID: 4
|
||||
Name: CutScene4Points
|
||||
IsActive: true
|
||||
NumberOfChildren: 3
|
||||
Components: ~
|
||||
Scripts: ~
|
||||
- EID: 9
|
||||
Name: Pic1Point
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -275, y: 255, z: 0.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 8
|
||||
Name: Pic2Point
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 600, y: 150, z: 0.400000006}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 65549
|
||||
Name: Pic3Point
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: -275, z: 0.300000012}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 14
|
||||
Name: Canvas5
|
||||
IsActive: false
|
||||
NumberOfChildren: 3
|
||||
Components:
|
||||
Canvas Component:
|
||||
Canvas Width: 1920
|
||||
Canvas Height: 1080
|
||||
Scale by canvas width: false
|
||||
IsActive: false
|
||||
Scripts: ~
|
||||
- EID: 15
|
||||
Name: CutScene5
|
||||
IsActive: true
|
||||
NumberOfChildren: 2
|
||||
Components:
|
||||
UI Component:
|
||||
Canvas ID: 14
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 16
|
||||
Name: pic1
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -600, y: 1000, z: 0.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 634, y: 1027, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 118069989
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 14
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 17
|
||||
Name: pic2
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 250, y: -1000, z: 0.400000006}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1337, y: 1028, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 132945336
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 14
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 19
|
||||
Name: Background
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.699999988}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1920, y: 1080, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 117531460
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 14
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 20
|
||||
Name: Text
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 250, y: -500, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 50, y: 50, z: 50}
|
||||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: Press Space to contiune
|
||||
Font: 176667660
|
||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: false
|
||||
UI Component:
|
||||
Canvas ID: 14
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 21
|
||||
Name: CutScene5Points
|
||||
IsActive: true
|
||||
NumberOfChildren: 2
|
||||
Components: ~
|
||||
Scripts: ~
|
||||
- EID: 22
|
||||
Name: Pic1Point
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -600, y: 0, z: 0.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 23
|
||||
Name: Pic2Point
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 250, y: 0, z: 0.400000006}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
Scripts: ~
|
|
@ -0,0 +1,3 @@
|
|||
Name: CutSceneEnd
|
||||
ID: 84606951
|
||||
Type: 5
|
|
@ -113,6 +113,8 @@
|
|||
Text Renderer Component:
|
||||
Text: Press Space to contiune
|
||||
Font: 176667660
|
||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 1
|
||||
|
@ -148,9 +150,11 @@
|
|||
NumberOfChildren: 0
|
||||
Components: ~
|
||||
Scripts:
|
||||
- Type: Cutscene
|
||||
- Type: CutsceneIntro
|
||||
Enabled: true
|
||||
duration: 2
|
||||
nextScene: 96668835
|
||||
duration: 1
|
||||
skipDuration: 0.100000001
|
||||
cutscene1Points: 4
|
||||
cutscene1Pics: 10
|
||||
cutscene2Points: 20
|
||||
|
@ -314,6 +318,8 @@
|
|||
Text Renderer Component:
|
||||
Text: Press Space to contiune
|
||||
Font: 176667660
|
||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 13
|
||||
|
@ -448,7 +454,7 @@
|
|||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -1425, y: -200, z: 0.5}
|
||||
Translate: {x: -1600, y: -200, z: 0.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1299, y: 575, z: 1}
|
||||
IsActive: true
|
||||
|
@ -515,6 +521,8 @@
|
|||
Text Renderer Component:
|
||||
Text: Press Space to contiune
|
||||
Font: 176667660
|
||||
Color: {x: 0, y: 0, z: 0, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: false
|
||||
UI Component:
|
||||
Canvas ID: 24
|
||||
|
|
|
@ -277,7 +277,12 @@
|
|||
Position Offset: {x: 0, y: 0.5, z: 0}
|
||||
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.Audio.SoundLoopEmitter
|
||||
Enabled: true
|
||||
clipHandlerName: SFXWash65
|
||||
clipPath: event:/Props/washing_machine_loop
|
||||
volume: 0.300000012
|
||||
- EID: 66
|
||||
Name: washingMachineDoor
|
||||
IsActive: true
|
||||
|
@ -418,7 +423,12 @@
|
|||
Position Offset: {x: 0, y: 0.5, z: 0}
|
||||
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.Audio.SoundLoopEmitter
|
||||
Enabled: true
|
||||
clipHandlerName: SFXWash43
|
||||
clipPath: event:/Props/washing_machine_loop
|
||||
volume: 0.300000012
|
||||
- EID: 44
|
||||
Name: washingMachineDoor
|
||||
IsActive: true
|
||||
|
@ -460,7 +470,12 @@
|
|||
Position Offset: {x: 0, y: 0.5, z: 0}
|
||||
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.Audio.SoundLoopEmitter
|
||||
Enabled: true
|
||||
clipHandlerName: SFXWash42
|
||||
clipPath: event:/Props/washing_machine_loop
|
||||
volume: 0.300000012
|
||||
- EID: 131081
|
||||
Name: washingMachineDoor
|
||||
IsActive: true
|
||||
|
@ -2529,7 +2544,7 @@
|
|||
Collider Component:
|
||||
Colliders:
|
||||
- Is Trigger: false
|
||||
Collision Tag: 0
|
||||
Collision Tag: 1
|
||||
Type: Box
|
||||
Half Extents: {x: 1.79999995, y: 1, z: 4}
|
||||
Friction: 0.400000006
|
||||
|
@ -2538,7 +2553,7 @@
|
|||
Position Offset: {x: 0, y: 0.550000012, z: 0}
|
||||
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||
- Is Trigger: false
|
||||
Collision Tag: 0
|
||||
Collision Tag: 1
|
||||
Type: Box
|
||||
Half Extents: {x: 1.79999995, y: 1, z: 2.70000005}
|
||||
Friction: 0.400000006
|
||||
|
@ -4101,60 +4116,6 @@
|
|||
Rotation Offset: {x: 0, y: 0, z: 0}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 199
|
||||
Name: =====Text====
|
||||
IsActive: true
|
||||
NumberOfChildren: 3
|
||||
Components: ~
|
||||
Scripts: ~
|
||||
- EID: 237
|
||||
Name: Score
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -800, y: 400, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 60, y: 60, z: 60}
|
||||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: "Score: 0"
|
||||
Font: 176667660
|
||||
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 206
|
||||
Name: Timer
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 500, y: 400, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 60, y: 60, z: 60}
|
||||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: "Time Left: 200"
|
||||
Font: 176667660
|
||||
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 238
|
||||
Name: Multiplier
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -800, y: 300, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 60, y: 60, z: 60}
|
||||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: ""
|
||||
Font: 176667660
|
||||
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 236
|
||||
Name: ====GameManager====
|
||||
IsActive: true
|
||||
|
@ -4169,9 +4130,9 @@
|
|||
totalItemCount: 4
|
||||
Score: 0
|
||||
timer: 200
|
||||
scoreText: 237
|
||||
timeText: 206
|
||||
multiplierText: 238
|
||||
scoreText: 449
|
||||
timeText: 520
|
||||
multiplierText: 139
|
||||
maxMultiplierDuration: 5
|
||||
maxMultiplierCombo: 10
|
||||
multiplierFont: 60
|
||||
|
@ -4225,6 +4186,7 @@
|
|||
- Type: Homeowner1
|
||||
Enabled: true
|
||||
waypointsPool: 234
|
||||
startWaypoint: 233
|
||||
patrolSpeed: 3
|
||||
chaseSpeed: 6
|
||||
turningSpeed: 5
|
||||
|
@ -4903,9 +4865,9 @@
|
|||
NumberOfChildren: 5
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -8, y: 1.142977, z: -4}
|
||||
Translate: {x: -8, y: 0.899999976, z: -4}
|
||||
Rotate: {x: -0, y: 1.57079649, z: 0}
|
||||
Scale: {x: 0.999999881, y: 1, z: 0.999999881}
|
||||
Scale: {x: 0.999965608, y: 1, z: 0.999965608}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 149697411
|
||||
|
@ -5016,7 +4978,7 @@
|
|||
armLength: 3
|
||||
turnSpeedPitch: 0.200000003
|
||||
turnSpeedYaw: 0.400000006
|
||||
inverseXControls: false
|
||||
inverseXControls: true
|
||||
inverseYControls: false
|
||||
pitchUpperClamp: 45
|
||||
pitchLowerClamp: 5
|
||||
|
@ -5135,6 +5097,7 @@
|
|||
endPoint2: [1, 1.5, -7.5]
|
||||
endPoint3: [2.5, 1.5, -3]
|
||||
playerCamera: 65730
|
||||
gameplayCanvas: 459
|
||||
duration: 3
|
||||
- EID: 453
|
||||
Name: PreviewLevel1
|
||||
|
@ -5221,7 +5184,7 @@
|
|||
Transform Component:
|
||||
Translate: {x: 0, y: 100, z: 0}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 300, y: 200, z: 500}
|
||||
Scale: {x: 400, y: 100, z: 500}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
|
@ -5237,7 +5200,15 @@
|
|||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 456
|
||||
Name: QuitButton
|
||||
IsActive: true
|
||||
|
@ -5246,7 +5217,7 @@
|
|||
Transform Component:
|
||||
Translate: {x: 0, y: -300, z: 0}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 300, y: 200, z: 500}
|
||||
Scale: {x: 400, y: 100, z: 500}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
|
@ -5262,7 +5233,15 @@
|
|||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 455
|
||||
Name: RetryButton
|
||||
IsActive: true
|
||||
|
@ -5271,7 +5250,7 @@
|
|||
Transform Component:
|
||||
Translate: {x: 0, y: -100, z: 0}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 300, y: 200, z: 500}
|
||||
Scale: {x: 400, y: 100, z: 500}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
|
@ -5287,7 +5266,15 @@
|
|||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 454
|
||||
Name: GamePauseText
|
||||
IsActive: true
|
||||
|
@ -5300,8 +5287,9 @@
|
|||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: Game Pause
|
||||
Font: 176667660
|
||||
Font: 174412429
|
||||
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: false
|
||||
UI Component:
|
||||
Canvas ID: 458
|
||||
|
@ -5345,3 +5333,145 @@
|
|||
alphaValue: 1
|
||||
fadeInTime: 0.5
|
||||
fadeOutTime: 0.5
|
||||
- EID: 459
|
||||
Name: Gameplay Canvas
|
||||
IsActive: true
|
||||
NumberOfChildren: 3
|
||||
Components:
|
||||
Canvas Component:
|
||||
Canvas Width: 1920
|
||||
Canvas Height: 1080
|
||||
Scale by canvas width: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 449
|
||||
Name: Score Text
|
||||
IsActive: true
|
||||
NumberOfChildren: 1
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -800, y: 365, z: 0.600000024}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 100, y: 100, z: 60}
|
||||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: My name is Brandon.
|
||||
Font: 174412429
|
||||
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 459
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 521
|
||||
Name: Score BG
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0.300000012, y: 0.600000024, z: 0.98999995}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 3.45600009, y: 2, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 127527215
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 459
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 520
|
||||
Name: Timer Text
|
||||
IsActive: true
|
||||
NumberOfChildren: 1
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 700, y: 400, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 60, y: 60, z: 60}
|
||||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: My name is Brandon.
|
||||
Font: 174412429
|
||||
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 459
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 519
|
||||
Name: Timer BG
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0.5, y: 0.300000012, z: 0.98999995}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 5, y: 2, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 126220632
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 459
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 139
|
||||
Name: Multiplier Text
|
||||
IsActive: true
|
||||
NumberOfChildren: 1
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -800, y: 250, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 50, y: 50, z: 60}
|
||||
IsActive: true
|
||||
Text Renderer Component:
|
||||
Text: X2
|
||||
Font: 174412429
|
||||
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||
Text Size: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 459
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.MultiplierTextFx
|
||||
Enabled: true
|
||||
maxSize: 1
|
||||
minSize: 0.300000012
|
||||
minAlpha: 0.300000012
|
||||
- EID: 518
|
||||
Name: Multiplier BG
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0.400000006, y: 0.400000006, z: 0.98999995}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 4.26499987, y: 2, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 133784677
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 459
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -29,7 +29,7 @@
|
|||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||
Translate: {x: 0, y: 0, z: 0.300000012}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1920, y: 1080, z: 1}
|
||||
IsActive: true
|
||||
|
@ -49,7 +49,7 @@
|
|||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 75, z: 0}
|
||||
Translate: {x: 0, y: 75, z: 0.200000003}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 400, y: 100, z: 1}
|
||||
IsActive: true
|
||||
|
@ -73,10 +73,10 @@
|
|||
sceneID: 97158628
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 6
|
||||
|
@ -85,7 +85,7 @@
|
|||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: -200, z: 0}
|
||||
Translate: {x: 0, y: -200, z: 0.200000003}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 400, y: 100, z: 1}
|
||||
IsActive: true
|
||||
|
@ -108,10 +108,10 @@
|
|||
Enabled: true
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 3
|
||||
|
@ -154,3 +154,39 @@
|
|||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.TweenManager
|
||||
Enabled: true
|
||||
- EID: 450
|
||||
Name: TransitionCanvas
|
||||
IsActive: true
|
||||
NumberOfChildren: 1
|
||||
Components:
|
||||
Canvas Component:
|
||||
Canvas Width: 1920
|
||||
Canvas Height: 1080
|
||||
Scale by canvas width: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 65982
|
||||
Name: Transition
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 2500, y: 1080, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 120016136
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 450
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.SceneFadeInOut
|
||||
Enabled: true
|
||||
alphaValue: 1
|
||||
fadeInTime: 0.5
|
||||
fadeOutTime: 0.5
|
|
@ -21,7 +21,7 @@
|
|||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 129138332
|
||||
Material: 121834459
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 0
|
||||
|
@ -97,13 +97,13 @@
|
|||
Scripts:
|
||||
- Type: ChangeSceneButton
|
||||
Enabled: true
|
||||
sceneID: 96668835
|
||||
sceneID: 91947920
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: "event:/Music/player_undetected\x00<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 6
|
||||
|
@ -135,10 +135,10 @@
|
|||
Enabled: true
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 7
|
||||
|
@ -168,10 +168,10 @@
|
|||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- Type: SHADE_Scripting.UI.ChangeCanvasButton
|
||||
|
@ -204,10 +204,10 @@
|
|||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- Type: SHADE_Scripting.UI.ChangeCanvasButton
|
||||
|
@ -240,10 +240,10 @@
|
|||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- Type: SHADE_Scripting.UI.ChangeCanvasButton
|
||||
|
@ -276,10 +276,10 @@
|
|||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- Type: SHADE_Scripting.UI.ChangeCanvasButton
|
||||
|
@ -352,23 +352,23 @@
|
|||
Scripts: ~
|
||||
- EID: 14
|
||||
Name: BackGround
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.5}
|
||||
Translate: {x: 0, y: 0, z: 2.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1920, y: 1080, z: 1}
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 121834459
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 13
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 15
|
||||
Name: Instruction Image
|
||||
|
@ -378,7 +378,7 @@
|
|||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.400000006}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1344, y: 756, z: 1}
|
||||
Scale: {x: 1167.40002, y: 900, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
|
@ -428,10 +428,10 @@
|
|||
multiImageList: 15
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 17
|
||||
|
@ -465,10 +465,10 @@
|
|||
multiImageList: 15
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 18
|
||||
|
@ -501,18 +501,10 @@
|
|||
canvasToActivate: 0
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 19
|
||||
|
@ -525,26 +517,33 @@
|
|||
Canvas Height: 1080
|
||||
Scale by canvas width: false
|
||||
IsActive: false
|
||||
Scripts: ~
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.Options
|
||||
Enabled: true
|
||||
masterVolSlider: 29
|
||||
sfxVolSlider: 30
|
||||
bgmVolSlider: 31
|
||||
fovSlider: 37
|
||||
sensitivitySlider: 38
|
||||
- EID: 20
|
||||
Name: BackGround
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 1}
|
||||
Translate: {x: 0, y: 0, z: 1.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1920, y: 1080, z: 1}
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 121834459
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 19
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 21
|
||||
Name: BackButton
|
||||
|
@ -574,6 +573,14 @@
|
|||
- Type: SHADE_Scripting.UI.ChangeCanvasButton
|
||||
Enabled: true
|
||||
canvasToActivate: 0
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 22
|
||||
Name: Options Title Text
|
||||
IsActive: true
|
||||
|
@ -587,6 +594,8 @@
|
|||
Text Renderer Component:
|
||||
Text: Options
|
||||
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
|
||||
|
@ -607,6 +616,8 @@
|
|||
Text Renderer Component:
|
||||
Text: Audio
|
||||
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
|
||||
|
@ -643,6 +654,8 @@
|
|||
Text Renderer Component:
|
||||
Text: Master
|
||||
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
|
||||
|
@ -663,6 +676,8 @@
|
|||
Text Renderer Component:
|
||||
Text: SFX
|
||||
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
|
||||
|
@ -683,6 +698,8 @@
|
|||
Text Renderer Component:
|
||||
Text: BGM
|
||||
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
|
||||
|
@ -722,6 +739,8 @@
|
|||
IsActive: true
|
||||
Slider Component:
|
||||
Slider Value: 1
|
||||
Min Value: 0
|
||||
Max Value: 100
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 19
|
||||
|
@ -745,6 +764,8 @@
|
|||
IsActive: true
|
||||
Slider Component:
|
||||
Slider Value: 1
|
||||
Min Value: 0
|
||||
Max Value: 100
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 19
|
||||
|
@ -768,6 +789,8 @@
|
|||
IsActive: true
|
||||
Slider Component:
|
||||
Slider Value: 1
|
||||
Min Value: 0
|
||||
Max Value: 100
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 19
|
||||
|
@ -788,6 +811,8 @@
|
|||
Text Renderer Component:
|
||||
Text: Camera
|
||||
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
|
||||
|
@ -798,7 +823,7 @@
|
|||
- EID: 33
|
||||
Name: Camera Text Group
|
||||
IsActive: true
|
||||
NumberOfChildren: 2
|
||||
NumberOfChildren: 4
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -900, y: -220, z: 0}
|
||||
|
@ -824,6 +849,8 @@
|
|||
Text Renderer Component:
|
||||
Text: FOV
|
||||
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
|
||||
|
@ -844,6 +871,8 @@
|
|||
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
|
||||
|
@ -851,10 +880,54 @@
|
|||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 449
|
||||
Name: Camera Invert X Text
|
||||
IsActive: false
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: -200, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 75, y: 75, z: 1}
|
||||
IsActive: false
|
||||
Text Renderer Component:
|
||||
Text: "Camera Invert X:"
|
||||
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: 19
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: false
|
||||
Scripts: ~
|
||||
- EID: 447
|
||||
Name: Camera Invert Y Text
|
||||
IsActive: false
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 800, y: -200, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 75, y: 75, z: 1}
|
||||
IsActive: false
|
||||
Text Renderer Component:
|
||||
Text: "Y:"
|
||||
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: 19
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: false
|
||||
Scripts: ~
|
||||
- EID: 36
|
||||
Name: Camera Slider Group
|
||||
IsActive: true
|
||||
NumberOfChildren: 2
|
||||
NumberOfChildren: 4
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 100, y: -200, z: 0}
|
||||
|
@ -883,6 +956,8 @@
|
|||
IsActive: true
|
||||
Slider Component:
|
||||
Slider Value: 1
|
||||
Min Value: 45
|
||||
Max Value: 120
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 19
|
||||
|
@ -906,6 +981,8 @@
|
|||
IsActive: true
|
||||
Slider Component:
|
||||
Slider Value: 1
|
||||
Min Value: 0
|
||||
Max Value: 100
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 19
|
||||
|
@ -913,6 +990,56 @@
|
|||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 448
|
||||
Name: Invert X Toggle Button
|
||||
IsActive: false
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -300, y: -200, z: 0}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 75, y: 75, z: 1}
|
||||
IsActive: false
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 129340704
|
||||
IsActive: false
|
||||
Toggle Button Component:
|
||||
Non Toggled Texture: 55358401
|
||||
Toggled Texture: 52333376
|
||||
Value: false
|
||||
IsActive: false
|
||||
UI Component:
|
||||
Canvas ID: 19
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: false
|
||||
Scripts: ~
|
||||
- EID: 445
|
||||
Name: Invert Y Toggle Button
|
||||
IsActive: false
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -50, y: -200, z: 0}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 75, y: 75, z: 1}
|
||||
IsActive: false
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 129340704
|
||||
IsActive: false
|
||||
Toggle Button Component:
|
||||
Non Toggled Texture: 55358401
|
||||
Toggled Texture: 52333376
|
||||
Value: false
|
||||
IsActive: false
|
||||
UI Component:
|
||||
Canvas ID: 19
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: false
|
||||
Scripts: ~
|
||||
- EID: 39
|
||||
Name: Audio Slider Text Group
|
||||
IsActive: true
|
||||
|
@ -942,6 +1069,8 @@
|
|||
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
|
||||
|
@ -952,8 +1081,6 @@
|
|||
- Type: SHADE_Scripting.UI.SliderText
|
||||
Enabled: true
|
||||
sliderObj: 29
|
||||
minValue: 0
|
||||
maxValue: 100
|
||||
- EID: 41
|
||||
Name: SFX Volume Slider Text
|
||||
IsActive: true
|
||||
|
@ -967,6 +1094,8 @@
|
|||
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
|
||||
|
@ -977,8 +1106,6 @@
|
|||
- Type: SHADE_Scripting.UI.SliderText
|
||||
Enabled: true
|
||||
sliderObj: 30
|
||||
minValue: 0
|
||||
maxValue: 100
|
||||
- EID: 42
|
||||
Name: BGM Volume Slider Text
|
||||
IsActive: true
|
||||
|
@ -992,6 +1119,8 @@
|
|||
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
|
||||
|
@ -1002,8 +1131,6 @@
|
|||
- Type: SHADE_Scripting.UI.SliderText
|
||||
Enabled: true
|
||||
sliderObj: 31
|
||||
minValue: 0
|
||||
maxValue: 100
|
||||
- EID: 43
|
||||
Name: Camera Slider Text Group
|
||||
IsActive: true
|
||||
|
@ -1033,6 +1160,8 @@
|
|||
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
|
||||
|
@ -1043,8 +1172,6 @@
|
|||
- Type: SHADE_Scripting.UI.SliderText
|
||||
Enabled: true
|
||||
sliderObj: 37
|
||||
minValue: 0
|
||||
maxValue: 100
|
||||
- EID: 45
|
||||
Name: Sensitivity Slider Text
|
||||
IsActive: true
|
||||
|
@ -1058,6 +1185,8 @@
|
|||
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
|
||||
|
@ -1068,12 +1197,10 @@
|
|||
- Type: SHADE_Scripting.UI.SliderText
|
||||
Enabled: true
|
||||
sliderObj: 38
|
||||
minValue: 0
|
||||
maxValue: 100
|
||||
- EID: 46
|
||||
Name: Credits Canvas
|
||||
IsActive: false
|
||||
NumberOfChildren: 3
|
||||
NumberOfChildren: 4
|
||||
Components:
|
||||
Canvas Component:
|
||||
Canvas Width: 1920
|
||||
|
@ -1082,12 +1209,12 @@
|
|||
IsActive: false
|
||||
Scripts: ~
|
||||
- EID: 47
|
||||
Name: BackGround
|
||||
Name: Scrolling Credits
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: -3800, z: 0.100000001}
|
||||
Translate: {x: 0, y: -3800, z: 1.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1920, y: 8026, z: 1}
|
||||
IsActive: true
|
||||
|
@ -1100,7 +1227,11 @@
|
|||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.ScrollingCredits
|
||||
Enabled: true
|
||||
endY: 4000
|
||||
duration: 20
|
||||
- EID: 48
|
||||
Name: BackButton
|
||||
IsActive: true
|
||||
|
@ -1129,25 +1260,55 @@
|
|||
- Type: SHADE_Scripting.UI.ChangeCanvasButton
|
||||
Enabled: true
|
||||
canvasToActivate: 0
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 49
|
||||
Name: Credits Title Text
|
||||
IsActive: true
|
||||
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: true
|
||||
IsActive: false
|
||||
Text Renderer Component:
|
||||
Text: Credits
|
||||
Font: 174412429
|
||||
IsActive: true
|
||||
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: true
|
||||
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: 50
|
||||
Name: Level Select Canvas
|
||||
|
@ -1162,23 +1323,23 @@
|
|||
Scripts: ~
|
||||
- EID: 51
|
||||
Name: BackGround
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 1}
|
||||
Translate: {x: 0, y: 0, z: 1.5}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1920, y: 1080, z: 1}
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 121834459
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 50
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 52
|
||||
Name: BackButton
|
||||
|
@ -1208,6 +1369,14 @@
|
|||
- Type: SHADE_Scripting.UI.ChangeCanvasButton
|
||||
Enabled: true
|
||||
canvasToActivate: 0
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 53
|
||||
Name: Level Select Title Text
|
||||
IsActive: true
|
||||
|
@ -1221,6 +1390,8 @@
|
|||
Text Renderer Component:
|
||||
Text: Level Select
|
||||
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: 50
|
||||
|
@ -1228,3 +1399,39 @@
|
|||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 450
|
||||
Name: TransitionCanvas
|
||||
IsActive: true
|
||||
NumberOfChildren: 1
|
||||
Components:
|
||||
Canvas Component:
|
||||
Canvas Width: 1920
|
||||
Canvas Height: 1080
|
||||
Scale by canvas width: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 65982
|
||||
Name: Transition
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 2500, y: 1080, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 120016136
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 450
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.SceneFadeInOut
|
||||
Enabled: true
|
||||
alphaValue: 1
|
||||
fadeInTime: 0.5
|
||||
fadeOutTime: 0.5
|
|
@ -5,13 +5,14 @@
|
|||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 7, z: 0}
|
||||
Rotate: {x: 1.48352981, y: 0, z: 0}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 0.999999344, y: 0.999999821, z: 0.999999523}
|
||||
IsActive: true
|
||||
RigidBody Component:
|
||||
Type: Dynamic
|
||||
Drag: 0.00999999978
|
||||
Angular Drag: 0.100000001
|
||||
Gravity Scale: 1
|
||||
Use Gravity: true
|
||||
Interpolate: false
|
||||
Sleeping Enabled: true
|
||||
|
@ -26,8 +27,9 @@
|
|||
Colliders:
|
||||
- Is Trigger: false
|
||||
Collision Tag: 0
|
||||
Type: Box
|
||||
Half Extents: {x: 1, y: 1, z: 1}
|
||||
Type: Capsule
|
||||
Radius: 1
|
||||
Height: 2
|
||||
Friction: 0.400000006
|
||||
Bounciness: 0
|
||||
Density: 1
|
||||
|
@ -75,10 +77,10 @@
|
|||
Yaw: 0
|
||||
Roll: 0
|
||||
Width: 1920
|
||||
Height: 1080
|
||||
Near: 0.00999999978
|
||||
Far: 10000
|
||||
Perspective: true
|
||||
FOV: 90
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 65539
|
||||
|
@ -187,6 +189,7 @@
|
|||
Type: Dynamic
|
||||
Drag: 0.00999999978
|
||||
Angular Drag: 0.100000001
|
||||
Gravity Scale: 1
|
||||
Use Gravity: true
|
||||
Interpolate: true
|
||||
Sleeping Enabled: true
|
||||
|
|
|
@ -14,10 +14,10 @@
|
|||
Yaw: 0
|
||||
Roll: 0
|
||||
Width: 1200
|
||||
Height: 1080
|
||||
Near: 0.00999999978
|
||||
Far: 10000
|
||||
Perspective: true
|
||||
FOV: 90
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 1
|
||||
|
@ -26,9 +26,9 @@
|
|||
NumberOfChildren: 1
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: -1.86388135, y: 0.0544953719, z: 0}
|
||||
Rotate: {x: -0, y: 0, z: -0}
|
||||
Scale: {x: 1, y: 1, z: 1}
|
||||
Translate: {x: 0, y: 0.189419448, z: 0}
|
||||
Rotate: {x: 0.00523597933, y: -2.96353412, z: -6.40293041e-10}
|
||||
Scale: {x: 1.00000191, y: 1, z: 1.00000191}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 149697411
|
||||
|
@ -55,10 +55,15 @@
|
|||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 1.82978272, z: -3.28967047}
|
||||
Rotate: {x: -0, y: 0, z: -0}
|
||||
Scale: {x: 1, y: 1, z: 1}
|
||||
IsActive: true
|
||||
Light Component:
|
||||
Position: {x: 3, y: 4.5, z: 7}
|
||||
Type: Directional
|
||||
Direction: {x: -0.298000008, y: 0.522498012, z: 0.798600018}
|
||||
Direction: {x: 0, y: 0, z: 1}
|
||||
Color: {x: 1, y: 1, z: 1, w: 1}
|
||||
Layer: 4294967295
|
||||
Strength: 0
|
||||
|
@ -85,8 +90,8 @@
|
|||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0.0810000002, z: 0}
|
||||
Rotate: {x: -1.57079637, y: 0, z: 0}
|
||||
Scale: {x: 50, y: 50, z: 50}
|
||||
Rotate: {x: -1.57079625, y: 0, z: -0}
|
||||
Scale: {x: 50, y: 49.9999924, z: 49.9999924}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||
Translate: {x: 0, y: 0, z: 0.300000012}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 1920, y: 1080, z: 1}
|
||||
IsActive: true
|
||||
|
@ -49,7 +49,7 @@
|
|||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 75, z: 0}
|
||||
Translate: {x: 0, y: 75, z: 0.200000003}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 400, y: 100, z: 1}
|
||||
IsActive: true
|
||||
|
@ -73,10 +73,10 @@
|
|||
sceneID: 97158628
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 6
|
||||
|
@ -85,7 +85,7 @@
|
|||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: -200, z: 0}
|
||||
Translate: {x: 0, y: -200, z: 0.200000003}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 400, y: 100, z: 1}
|
||||
IsActive: true
|
||||
|
@ -108,10 +108,10 @@
|
|||
Enabled: true
|
||||
- Type: SHADE_Scripting.UI.ButtonFX
|
||||
Enabled: true
|
||||
onHoverEnterSound: event:/Music/player_undetected
|
||||
onHoverExitSound: event:/Music/player_undetected
|
||||
onClickSound: event:/Music/player_undetected
|
||||
onReleaseSound: event:/Music/player_undetected
|
||||
onHoverEnterSound: Empty
|
||||
onHoverExitSound: Empty
|
||||
onClickSound: event:/UI/mouse_down_element
|
||||
onReleaseSound: Empty
|
||||
hoverScale: 1.10000002
|
||||
clickScale: 0.899999976
|
||||
- EID: 3
|
||||
|
@ -154,3 +154,39 @@
|
|||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.TweenManager
|
||||
Enabled: true
|
||||
- EID: 450
|
||||
Name: TransitionCanvas
|
||||
IsActive: true
|
||||
NumberOfChildren: 1
|
||||
Components:
|
||||
Canvas Component:
|
||||
Canvas Width: 1920
|
||||
Canvas Height: 1080
|
||||
Scale by canvas width: false
|
||||
IsActive: true
|
||||
Scripts: ~
|
||||
- EID: 65982
|
||||
Name: Transition
|
||||
IsActive: true
|
||||
NumberOfChildren: 0
|
||||
Components:
|
||||
Transform Component:
|
||||
Translate: {x: 0, y: 0, z: 0.100000001}
|
||||
Rotate: {x: 0, y: 0, z: 0}
|
||||
Scale: {x: 2500, y: 1080, z: 1}
|
||||
IsActive: true
|
||||
Renderable Component:
|
||||
Mesh: 141771688
|
||||
Material: 120016136
|
||||
IsActive: true
|
||||
UI Component:
|
||||
Canvas ID: 450
|
||||
Hovered: false
|
||||
Clicked: false
|
||||
IsActive: true
|
||||
Scripts:
|
||||
- Type: SHADE_Scripting.UI.SceneFadeInOut
|
||||
Enabled: true
|
||||
alphaValue: 1
|
||||
fadeInTime: 0.5
|
||||
fadeOutTime: 0.5
|
|
@ -0,0 +1,32 @@
|
|||
using SHADE;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SHADE_Scripting.Audio
|
||||
{
|
||||
public class SoundLoopEmitter : Script
|
||||
{
|
||||
[SerializeField]
|
||||
private string clipHandlerName;
|
||||
|
||||
[SerializeField]
|
||||
private string clipPath;
|
||||
|
||||
public float volume;
|
||||
|
||||
protected override void awake()
|
||||
{
|
||||
AudioHandler.audioClipHandlers[clipHandlerName] = SHADE.Audio.CreateAudioClip(clipPath);
|
||||
}
|
||||
|
||||
protected override void start()
|
||||
{
|
||||
SHADE.Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers[clipHandlerName], GameObject.EntityId);
|
||||
AudioHandler.audioClipHandlers[clipHandlerName].SetVolume(volume);
|
||||
AudioHandler.audioClipHandlers[clipHandlerName].Play();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
Name: CS_SoundLoopEmitter
|
||||
ID: 154714630
|
||||
Type: 9
|
|
@ -37,6 +37,9 @@ public partial class Homeowner1 : BehaviourTree
|
|||
|
||||
private List<GameObject> waypoints;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject startWaypoint;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("The AI will patrol at this speed")]
|
||||
private float patrolSpeed;
|
||||
|
@ -112,8 +115,14 @@ public partial class Homeowner1 : BehaviourTree
|
|||
AudioHandler.audioClipHandlers["BGMAdaptive"] = Audio.CreateAudioClip("event:/Music/bgm_adaptive");
|
||||
|
||||
AudioHandler.audioClipHandlers["SFXFootstep"] = Audio.CreateAudioClip("event:/Homeowner/homeowner_footsteps");
|
||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXFootstep"], GameObject.EntityId);
|
||||
AudioHandler.audioClipHandlers["SFXDetectAh"] = Audio.CreateAudioClip("event:/Homeowner/homeowner_detect_raccoon");
|
||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXDetectAh"], GameObject.EntityId);
|
||||
AudioHandler.audioClipHandlers["SFXDetectSting"] = Audio.CreateAudioClip("event:/Music/stingers/player_detected");
|
||||
AudioHandler.audioClipHandlers["SFXHumming"] = Audio.CreateAudioClip("event:/Homeowner/homeowner_humming");
|
||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXHumming"], GameObject.EntityId);
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].SetVolume(0.15f);
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].Play();
|
||||
|
||||
if (aiInstance != null && aiInstance != this)
|
||||
RemoveScript<Homeowner1>();
|
||||
|
@ -151,6 +160,8 @@ public partial class Homeowner1 : BehaviourTree
|
|||
SetData("distanceToCapture", distanceToCapture);
|
||||
if (GetData("baseCaptureTime") == null || (float)GetData("baseCaptureTime") != captureTime)
|
||||
SetData("baseCaptureTime", captureTime);
|
||||
if (GetData("startWaypoint") == null || (GameObject)GetData("startWaypoint") != startWaypoint)
|
||||
SetData("startWaypoint", startWaypoint);
|
||||
|
||||
events.Tick();
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
using SHADE;
|
||||
using SHADE_Scripting.AIBehaviour.BehaviourTree;
|
||||
using SHADE_Scripting.Audio;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
@ -98,6 +99,35 @@ public partial class LeafAttack : BehaviourTreeNode
|
|||
if (player.GetScript<PlayerController>().stateMachine && !player.GetScript<PlayerController>().stateMachine.IsState(typeof(PlayerCaughtState)))
|
||||
player.GetScript<PlayerController>().stateMachine.SetState(typeof(PlayerCaughtState));
|
||||
|
||||
//Teleport AI back to home waypoint
|
||||
int homeIndex = 0;
|
||||
GameObject? startWaypoint = null;
|
||||
List<GameObject>? waypoints = (List<GameObject>)GetNodeData("waypoints");
|
||||
if (GetNodeData("startWaypoint") != null)
|
||||
startWaypoint = (GameObject)GetNodeData("startWaypoint");
|
||||
if (startWaypoint != null)
|
||||
{
|
||||
for (int i = 0; i < waypoints.Count; ++i)
|
||||
{
|
||||
if (startWaypoint == waypoints[i])
|
||||
{
|
||||
homeIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
SetNodeData("currentWaypointIndex", homeIndex);
|
||||
SetNodeData("playerLastSightedWaypointIndex", homeIndex);
|
||||
SetNodeData("isAlert", false);
|
||||
Audio.SetParameterWithLabel("PlayerDetection", "Undetected");
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].Play();
|
||||
|
||||
Transform? transform = (Transform)GetNodeData("transform");
|
||||
if (waypoints != null && transform != null)
|
||||
{
|
||||
transform.GlobalPosition = waypoints[homeIndex].GetComponent<Transform>().GlobalPosition;
|
||||
}
|
||||
ClearNodeData("target");
|
||||
|
||||
status = BehaviourTreeNodeStatus.SUCCESS;
|
||||
onExit(BehaviourTreeNodeStatus.SUCCESS);
|
||||
return status;
|
||||
|
|
|
@ -60,7 +60,7 @@ public partial class LeafChase : BehaviourTreeNode
|
|||
}
|
||||
}
|
||||
//Debug.Log("Player is nearest " + nearestWaypointIndex);
|
||||
//Debug.Log("I'm at " + (int)GetNodeData("currentWaypointIndex"));
|
||||
//Debug.Log("AI going to " + (int)GetNodeData("currentWaypointIndex"));
|
||||
SetNodeData("playerLastSightedWaypointIndex", nearestWaypointIndex);
|
||||
}
|
||||
|
||||
|
@ -78,6 +78,7 @@ public partial class LeafChase : BehaviourTreeNode
|
|||
GetNodeData("distanceToCapture") == null ||
|
||||
GetNodeData("baseCaptureTime") == null)
|
||||
{
|
||||
//Debug.Log("Chase Failure: null values");
|
||||
status = BehaviourTreeNodeStatus.FAILURE;
|
||||
onExit(BehaviourTreeNodeStatus.FAILURE);
|
||||
return status;
|
||||
|
@ -113,7 +114,8 @@ public partial class LeafChase : BehaviourTreeNode
|
|||
if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == true)
|
||||
{
|
||||
//AudioHandler.audioClipHandlers["BGMAdpative"].SetParameter("Detected", 0.0f);
|
||||
Audio.SetParameter("Detected", 0.0f);
|
||||
//Audio.SetParameter("Detected", 0.0f);
|
||||
Audio.SetParameterWithLabel("PlayerDetection", "Undetected");
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].Play();
|
||||
}
|
||||
SetNodeData("isAlert", false);
|
||||
|
|
|
@ -29,7 +29,7 @@ public partial class LeafPatrol : BehaviourTreeNode
|
|||
private float chaseSpeed;
|
||||
private float turningSpeed;
|
||||
private float retreatTimer = 0.0f;
|
||||
private int currentWaypointIndex = 0;
|
||||
private int currentWaypointIndex = -1;
|
||||
private bool retreatState = false;
|
||||
private bool goingForwards = true;
|
||||
|
||||
|
@ -47,7 +47,7 @@ public partial class LeafPatrol : BehaviourTreeNode
|
|||
//node, and hence we do not need to inherit its constructors
|
||||
public LeafPatrol(string name) : base(name)
|
||||
{
|
||||
currentWaypointIndex = 0;
|
||||
currentWaypointIndex = -1;
|
||||
}
|
||||
|
||||
//When it comes to evaluating,
|
||||
|
@ -57,6 +57,42 @@ public partial class LeafPatrol : BehaviourTreeNode
|
|||
//Debug.LogWarning("LeafPatrol");
|
||||
onEnter(BehaviourTreeNodeStatus.RUNNING);
|
||||
|
||||
//Initialise home waypoint
|
||||
waypoints = (List<GameObject>)GetNodeData("waypoints");
|
||||
if (currentWaypointIndex == -1)
|
||||
{
|
||||
if (waypoints != null)
|
||||
{
|
||||
//Debug.Log("Waypoints not null");
|
||||
if (GetNodeData("startWaypoint") != null)
|
||||
{
|
||||
//Debug.Log("Getting start waypoint");
|
||||
GameObject startWaypoint = (GameObject)(GetNodeData("startWaypoint"));
|
||||
for (int i = 0; i < waypoints.Count; ++i)
|
||||
{
|
||||
if (startWaypoint == waypoints[i])
|
||||
{
|
||||
//Debug.Log("Leaf Patrol Constructor: Start Waypoint Index: " + i.ToString());
|
||||
currentWaypointIndex = i;
|
||||
SetNodeData("currentWaypointIndex", i);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
status = BehaviourTreeNodeStatus.FAILURE;
|
||||
onExit(BehaviourTreeNodeStatus.FAILURE);
|
||||
return status;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
status = BehaviourTreeNodeStatus.FAILURE;
|
||||
onExit(BehaviourTreeNodeStatus.FAILURE);
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
||||
//Get data
|
||||
if (GetNodeData("transform") == null ||
|
||||
GetNodeData("patrolSpeed") == null ||
|
||||
|
@ -104,12 +140,13 @@ public partial class LeafPatrol : BehaviourTreeNode
|
|||
ClearNodeData("isWaiting");
|
||||
return;
|
||||
}
|
||||
waypoints = (List<GameObject>)GetNodeData("waypoints");
|
||||
if (waypoints == null)
|
||||
if (GetNodeData("currentWaypointIndex") != null)
|
||||
{
|
||||
return;
|
||||
//2023 Mar 4, 0400, this is needed when the AI teleports back to the first spot after catching
|
||||
currentWaypointIndex = (int)GetNodeData("currentWaypointIndex");
|
||||
}
|
||||
Vector3 targetPosition = waypoints[currentWaypointIndex].GetComponent<Transform>().GlobalPosition;
|
||||
//Modulo operator to prevent out of range exceptions
|
||||
Vector3 targetPosition = waypoints[(currentWaypointIndex % waypoints.Count)].GetComponent<Transform>().GlobalPosition;
|
||||
//Reach waypoint by X and Z being near enough
|
||||
//Do not consider Y of waypoints yet
|
||||
Vector3 remainingDistance = targetPosition - transform.GlobalPosition;
|
||||
|
@ -195,6 +232,8 @@ public partial class LeafPatrol : BehaviourTreeNode
|
|||
//Debug.Log("AI is at " + transform.GlobalPosition.x.ToString() + " " + transform.GlobalPosition.y.ToString() + " " + transform.GlobalPosition.z.ToString());
|
||||
Vector3 normalisedDifference = targetPosition - transform.GlobalPosition;
|
||||
normalisedDifference.y = 0.0f; //Do not move vertically
|
||||
//Debug.Log("Leaf Patrol Current Waypoint Index: " + currentWaypointIndex.ToString());
|
||||
//Debug.Log("True Difference x " + normalisedDifference.x.ToString() + " z " + normalisedDifference.z.ToString());
|
||||
normalisedDifference /= normalisedDifference.GetMagnitude();
|
||||
//Debug.Log("Normalised Difference x " + normalisedDifference.x.ToString() + " z " + normalisedDifference.z.ToString());
|
||||
|
||||
|
@ -245,7 +284,8 @@ public partial class LeafPatrol : BehaviourTreeNode
|
|||
AudioHandler.audioClipHandlers["SFXHumming"].Play();
|
||||
//AudioHandler.audioClipHandlers["BGMUnalert"].Play();
|
||||
//AudioHandler.audioClipHandlers["BGMAdaptive"].SetParameter("Detected", 0.0f);
|
||||
Audio.SetParameter("Detected", 0.0f);
|
||||
//Audio.SetParameter("Detected", 0.0f);
|
||||
Audio.SetParameterWithLabel("PlayerDetection", "Undetected");
|
||||
}
|
||||
SetNodeData("isAlert", false);
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
private Vector3 eyeOffset;
|
||||
private float sightDistance;
|
||||
private GameObject? player; //To be searched for and marked
|
||||
private bool screamOnce;
|
||||
}
|
||||
|
||||
//FUNCTIONS HERE
|
||||
|
@ -67,7 +68,8 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == true)
|
||||
{
|
||||
//AudioHandler.audioClipHandlers["BGMAdaptive"].SetParameter("Detected", 0.0f);
|
||||
Audio.SetParameter("Detected", 0.0f);
|
||||
//Audio.SetParameter("Detected", 0.0f);
|
||||
Audio.SetParameterWithLabel("PlayerDetection", "Undetected");
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].Play();
|
||||
reevaluateWaypoint();
|
||||
}
|
||||
|
@ -97,6 +99,7 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
|
||||
//Search for player
|
||||
player = GameObject.Find("Player");
|
||||
screamOnce = false;
|
||||
|
||||
//Automatically fail if no player is found
|
||||
if (player == null)
|
||||
|
@ -104,6 +107,7 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
SetNodeData("isAlert", false);
|
||||
status = BehaviourTreeNodeStatus.FAILURE;
|
||||
onExit(BehaviourTreeNodeStatus.FAILURE);
|
||||
screamOnce = false;
|
||||
return status;
|
||||
}
|
||||
else
|
||||
|
@ -125,6 +129,7 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
//handleChaseStop();
|
||||
status = BehaviourTreeNodeStatus.FAILURE;
|
||||
onExit(BehaviourTreeNodeStatus.FAILURE);
|
||||
screamOnce = false;
|
||||
return status;
|
||||
}
|
||||
|
||||
|
@ -140,6 +145,7 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
//handleChaseStop();
|
||||
status = BehaviourTreeNodeStatus.FAILURE;
|
||||
onExit(BehaviourTreeNodeStatus.FAILURE);
|
||||
screamOnce = false;
|
||||
return status;
|
||||
}
|
||||
|
||||
|
@ -156,6 +162,7 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
//Debug.Log("Failure: Player has no collider");
|
||||
status = BehaviourTreeNodeStatus.FAILURE;
|
||||
onExit(BehaviourTreeNodeStatus.FAILURE);
|
||||
screamOnce = false;
|
||||
return status;
|
||||
}
|
||||
//Ray destination to target the centre of the player's collider instead of transform position
|
||||
|
@ -173,6 +180,7 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
//handleChaseStop();
|
||||
status = BehaviourTreeNodeStatus.FAILURE;
|
||||
onExit(BehaviourTreeNodeStatus.FAILURE);
|
||||
screamOnce = false;
|
||||
return status;
|
||||
}
|
||||
else if (sightRayHit.Hit && sightRayHit.Other == player)
|
||||
|
@ -188,31 +196,40 @@ public partial class LeafSearch : BehaviourTreeNode
|
|||
if (GetNodeData("isAlert") == null)
|
||||
{
|
||||
SetNodeData("isAlert", true);
|
||||
screamOnce = true;
|
||||
//Audio.StopAllSounds();
|
||||
AudioHandler.audioClipHandlers["SFXDetectAh"].Play();
|
||||
//AudioHandler.audioClipHandlers["SFXDetectAh"].Play();
|
||||
AudioHandler.audioClipHandlers["SFXDetectSting"].Play();
|
||||
//AudioHandler.audioClipHandlers["BGMAlert"].Play();
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].Stop(false);
|
||||
//AudioHandler.audioClipHandlers["BGMUnalert"].Stop(true);
|
||||
//AudioHandler.audioClipHandlers["BGMAdaptive"].SetParameter("Detected", 1.0f);
|
||||
Audio.SetParameter("Detected", 1.0f);
|
||||
//Audio.SetParameter("Detected", 1.0f);
|
||||
Audio.SetParameterWithLabel("PlayerDetection", "Detected");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetNodeData("isAlert") != null && (bool)GetNodeData("isAlert") == false)
|
||||
{
|
||||
//Audio.StopAllSounds();
|
||||
AudioHandler.audioClipHandlers["SFXDetectAh"].Play();
|
||||
screamOnce = true;
|
||||
//AudioHandler.audioClipHandlers["SFXDetectAh"].Play();
|
||||
AudioHandler.audioClipHandlers["SFXDetectSting"].Play();
|
||||
//AudioHandler.audioClipHandlers["BGMAlert"].Play();
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].Stop(false);
|
||||
//AudioHandler.audioClipHandlers["BGMUnalert"].Stop(true);
|
||||
//AudioHandler.audioClipHandlers["BGMAdaptive"].SetParameter("Detected", 1.0f);
|
||||
Audio.SetParameter("Detected", 1.0f);
|
||||
//Audio.SetParameter("Detected", 1.0f);
|
||||
Audio.SetParameterWithLabel("PlayerDetection", "Detected");
|
||||
}
|
||||
SetNodeData("isAlert", true);
|
||||
}
|
||||
|
||||
if (screamOnce)
|
||||
{
|
||||
AudioHandler.audioClipHandlers["SFXDetectAh"].Play();
|
||||
}
|
||||
|
||||
status = BehaviourTreeNodeStatus.SUCCESS;
|
||||
onExit(BehaviourTreeNodeStatus.SUCCESS);
|
||||
return status;
|
||||
|
|
|
@ -14,6 +14,12 @@ public class Breakable : Script
|
|||
public bool isBreak { get; set; }
|
||||
private List<GameObject> itemPieces = new List<GameObject>();
|
||||
|
||||
[SerializeField]
|
||||
private string breakClipHandlerName;
|
||||
|
||||
[SerializeField]
|
||||
private string breakClipPath;
|
||||
|
||||
protected override void awake()
|
||||
{
|
||||
rb = GetComponent<RigidBody>();
|
||||
|
@ -32,7 +38,7 @@ public class Breakable : Script
|
|||
|
||||
isBreak = false;
|
||||
|
||||
AudioHandler.audioClipHandlers["SFXBreak"] = Audio.CreateAudioClip("event:/Props/impact_break");
|
||||
AudioHandler.audioClipHandlers[breakClipHandlerName] = Audio.CreateAudioClip(breakClipPath);
|
||||
}
|
||||
|
||||
protected override void update()
|
||||
|
@ -76,7 +82,9 @@ public class Breakable : Script
|
|||
|
||||
GameManager.Instance.itemShatter = false;
|
||||
isBreak = false;
|
||||
AudioHandler.audioClipHandlers["SFXBreak"].Play();
|
||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers[breakClipHandlerName], GameObject.EntityId);
|
||||
AudioHandler.audioClipHandlers[breakClipHandlerName].Play();
|
||||
//Audio.DetachAudioClipFromObject(AudioHandler.audioClipHandlers[breakClipHandlerName]);
|
||||
GameObject.SetActive(false);
|
||||
}
|
||||
}
|
|
@ -121,11 +121,15 @@ public class Item : Script
|
|||
|
||||
if (playSound)
|
||||
{
|
||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXImpactElastic"], GameObject.EntityId);
|
||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXImpactHard"], GameObject.EntityId);
|
||||
if (currCategory == ItemCategory.LIGHT)
|
||||
AudioHandler.audioClipHandlers["SFXImpactElastic"].Play();
|
||||
else if (currCategory == ItemCategory.MEDIUM || currCategory == ItemCategory.HEAVY)
|
||||
AudioHandler.audioClipHandlers["SFXImpactHard"].Play();
|
||||
playSound = false;
|
||||
Audio.DetachAudioClipFromObject(AudioHandler.audioClipHandlers["SFXImpactElastic"]);
|
||||
Audio.DetachAudioClipFromObject(AudioHandler.audioClipHandlers["SFXImpactHard"]);
|
||||
}
|
||||
|
||||
if (info.GameObject.GetScript<Homeowner1>() && !returnBack)
|
||||
|
|
|
@ -21,12 +21,12 @@ public class PickAndThrow : Script
|
|||
private Collider itemCollider;
|
||||
private Item itemScript;
|
||||
private Transform raccoonHoldLocation;
|
||||
private ThirdPersonCamera tpc;
|
||||
public ThirdPersonCamera tpc { get; set; }
|
||||
private float lastXDir;
|
||||
private float lastZDir;
|
||||
private bool inRange = false;
|
||||
public bool throwItem = false;
|
||||
private Vector3 prevTargetOffSet;
|
||||
public Vector3 prevTargetOffSet { get; set; }
|
||||
|
||||
[Tooltip("Lenght of ray")]
|
||||
public float rayDistance = 1;
|
||||
|
@ -165,7 +165,7 @@ public class PickAndThrow : Script
|
|||
}
|
||||
}
|
||||
|
||||
private void ResetItemObject()
|
||||
public void ResetItemObject()
|
||||
{
|
||||
itemRidigBody = null;
|
||||
itemTransform = null;
|
||||
|
|
|
@ -22,7 +22,7 @@ public class PlayerController : Script
|
|||
public Camera cam { get; set; }
|
||||
public CameraArm camArm { get; set; }
|
||||
private PickAndThrow pat;
|
||||
public StateMachine stateMachine;
|
||||
public StateMachine stateMachine { get; set; }
|
||||
|
||||
public bool holdItem { get; set; }
|
||||
public bool isAiming { get; set; }
|
||||
|
@ -78,9 +78,9 @@ public class PlayerController : Script
|
|||
|
||||
//silhouette=====================================================================
|
||||
public GameObject silhouettePlayer;
|
||||
public Renderable silhouettePlayerRend;
|
||||
private Renderable silhouettePlayerRend;
|
||||
public GameObject silhouetteBag;
|
||||
public Renderable silhouetteBagRend;
|
||||
private Renderable silhouetteBagRend;
|
||||
|
||||
protected override void awake()
|
||||
{
|
||||
|
@ -348,7 +348,7 @@ public class PlayerController : Script
|
|||
if (isMoveKeyPress && tranform && !isAiming)
|
||||
{
|
||||
Quaternion currentRotation = tranform.LocalRotation;
|
||||
Quaternion targetRotation = Quaternion.LookRotation(new Vector3(axisMove.x, 0.0f, axisMove.y), Vector3.Up);
|
||||
Quaternion targetRotation = Quaternion.Euler(0.0f, MathF.Atan2(axisMove.x,axisMove.y), 0.0f);
|
||||
tranform.LocalRotation = Quaternion.Slerp(currentRotation, targetRotation, rotationFactorPerFrame * (float)Time.FixedDeltaTime);
|
||||
}
|
||||
else if (camArm && tranform && isAiming)
|
||||
|
@ -409,9 +409,18 @@ public class PlayerController : Script
|
|||
|
||||
if (pat && pat.item)
|
||||
{
|
||||
holdItem = false;
|
||||
isAiming = false;
|
||||
pat.item.GetScript<Item>().returnBack = true;
|
||||
if (holdItem)
|
||||
{
|
||||
holdItem = false;
|
||||
pat.item.GetScript<Item>().returnBack = true;
|
||||
}
|
||||
if (isAiming)
|
||||
{
|
||||
isAiming = false;
|
||||
cam.FOV = pat.defaultFOV;
|
||||
camArm.TargetOffset = pat.prevTargetOffSet;
|
||||
camArm.ArmLength = pat.tpc.armLength;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace SHADE_Scripting
|
|||
{
|
||||
AddComponent<Camera>();
|
||||
}
|
||||
GetComponent<Camera>().SetMainCamera();
|
||||
|
||||
if (!GetComponent<CameraArm>())
|
||||
{
|
||||
AddComponent<CameraArm>();
|
||||
|
|
|
@ -36,7 +36,6 @@ public class GameManager : Script
|
|||
public bool itemScored {get;set;}
|
||||
public int currMultiplierCombo { get; set;}
|
||||
public float multiplierFont = 60.0f;
|
||||
private Vector3 fontScalar;
|
||||
|
||||
public static GameManager Instance { get; private set; }
|
||||
|
||||
|
@ -63,7 +62,6 @@ public class GameManager : Script
|
|||
itemScored = false;
|
||||
currMultiplierCombo = 1;
|
||||
currMultiplierDuration = 0;
|
||||
fontScalar = new Vector3(multiplierFont / maxMultiplierDuration, multiplierFont / maxMultiplierDuration , multiplierFont / maxMultiplierDuration);
|
||||
itemShatter = false;
|
||||
GamePause = false;
|
||||
stealFoodPopUpDone = false;
|
||||
|
@ -76,26 +74,29 @@ public class GameManager : Script
|
|||
goingToLose = false;
|
||||
|
||||
if (scoreText)
|
||||
scoreText.GetComponent<TextRenderable>().Text = $"Score: {Score}";
|
||||
scoreText.GetComponent<TextRenderable>().Text = $"{Score}";
|
||||
if (timeText)
|
||||
timeText.GetComponent<TextRenderable>().Text = $"Time Left: {timer.ToString("0")}";
|
||||
timeText.GetComponent<TextRenderable>().Text = $"{timer.ToString("0")}";
|
||||
|
||||
Input.SetMouseCentering(true);
|
||||
Application.IsCursorVisible = false;
|
||||
Application.FixDeltaTime = Time.DefaultFixDeltaTime;
|
||||
}
|
||||
|
||||
protected override void start()
|
||||
{
|
||||
AudioHandler.audioClipHandlers["BGMAdaptive"] = Audio.CreateAudioClip("event:/Music/bgm_adaptive");
|
||||
AudioHandler.audioClipHandlers["BGMAdaptive"] = Audio.CreateAudioClip("event:/Music/bgm_adaptive_new");
|
||||
AudioHandler.audioClipHandlers["BGMAdaptive"].Play();
|
||||
|
||||
Audio.SetParameter("Detected", 0.0f);
|
||||
Audio.SetParameterWithLabel("PlayerDetection", "Undetected");
|
||||
|
||||
AudioHandler.audioClipHandlers["KitchenAmbience"] = Audio.CreateAudioClip("event:/Ambience/roomtone_kitchen");
|
||||
AudioHandler.audioClipHandlers["KitchenAmbience"].Play();
|
||||
|
||||
AudioHandler.audioClipHandlers["SFXHumming"] = Audio.CreateAudioClip("event:/Homeowner/homeowner_humming");
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].SetVolume(0.15f);
|
||||
AudioHandler.audioClipHandlers["SFXHumming"].Play();
|
||||
if (SceneFadeInOut.Instance != null)
|
||||
SceneFadeInOut.Instance.CallFadeOut();
|
||||
|
||||
SceneFadeInOut.Instance.CallFadeOut();
|
||||
GamePause = false;
|
||||
}
|
||||
|
||||
protected override void update()
|
||||
|
@ -105,18 +106,18 @@ public class GameManager : Script
|
|||
return;
|
||||
}
|
||||
|
||||
Cheat();
|
||||
|
||||
if (currGameState == GameState.START)
|
||||
{
|
||||
timer -= Time.DeltaTimeF;
|
||||
if(scoreText)
|
||||
scoreText.GetComponent<TextRenderable>().Text = $"{Score}";
|
||||
if(timeText)
|
||||
timeText.GetComponent<TextRenderable>().Text = $"Time Left: {timer.ToString("0")}";
|
||||
timeText.GetComponent<TextRenderable>().Text = $"{timer.ToString("0.00")}";
|
||||
|
||||
if (itemScored)
|
||||
{
|
||||
//multiplierText.GetComponent<TextRenderable>().Text = $"X {currMultiplierCombo}";
|
||||
//multiplierText.GetComponent<Transform>().LocalScale -= fontScalar * Time.DeltaTimeF;
|
||||
currMultiplierDuration += Time.DeltaTimeF;
|
||||
|
||||
if (currMultiplierDuration >= maxMultiplierDuration)
|
||||
|
@ -127,31 +128,43 @@ public class GameManager : Script
|
|||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//multiplierText.GetComponent<Transform>().LocalScale = Vector3.Zero;
|
||||
}
|
||||
|
||||
if (!goingToLose && ((timer > 0 && totalItemCount <= 0 && !itemShatter) || Input.GetKeyDown(Input.KeyCode.F1)))
|
||||
if (!goingToLose && ((timer > 0 && totalItemCount <= 0 && !itemShatter)))
|
||||
{
|
||||
currGameState = GameState.WIN;
|
||||
AudioHandler.StopAllSounds(false);
|
||||
AudioHandler.audioClipHandlers["BGMWin"].Play();
|
||||
goingToWin = true;
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
if (SceneFadeInOut.Instance != null)
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
}
|
||||
else if(!goingToWin && (timer < 0 || Input.GetKeyDown(Input.KeyCode.F2)))
|
||||
else if(!goingToWin && (timer < 0))
|
||||
{
|
||||
currGameState = GameState.LOSE;
|
||||
AudioHandler.StopAllSounds(false);
|
||||
AudioHandler.audioClipHandlers["BGMLose"].Play();
|
||||
goingToLose = true;
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
if (SceneFadeInOut.Instance != null)
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
}
|
||||
}
|
||||
|
||||
//Handling transitions
|
||||
if (SceneFadeInOut.Instance.FadeInFinished())
|
||||
if (SceneFadeInOut.Instance != null)
|
||||
{
|
||||
if (SceneFadeInOut.Instance.FadeInFinished())
|
||||
{
|
||||
if (goingToWin)
|
||||
{
|
||||
SceneManager.ChangeScene(winScene);
|
||||
}
|
||||
if (goingToLose)
|
||||
{
|
||||
SceneManager.ChangeScene(loseScene);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (goingToWin)
|
||||
{
|
||||
|
@ -164,6 +177,27 @@ public class GameManager : Script
|
|||
}
|
||||
}
|
||||
|
||||
private void Cheat()
|
||||
{
|
||||
if (Input.GetKeyUp(Input.KeyCode.F1))
|
||||
{
|
||||
currGameState = GameState.WIN;
|
||||
AudioHandler.StopAllSounds(false);
|
||||
goingToWin = true;
|
||||
if (SceneFadeInOut.Instance != null)
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
}
|
||||
else if (Input.GetKeyUp(Input.KeyCode.F2))
|
||||
{
|
||||
currGameState = GameState.LOSE;
|
||||
AudioHandler.StopAllSounds(false);
|
||||
goingToLose = true;
|
||||
if (SceneFadeInOut.Instance != null)
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected override void onDestroy()
|
||||
{
|
||||
if (Instance == this)
|
||||
|
@ -175,7 +209,6 @@ public class GameManager : Script
|
|||
totalItemCount -= 1;
|
||||
itemScored = true;
|
||||
currMultiplierDuration = 0;
|
||||
//multiplierText.GetComponent<Transform>().LocalScale = new Vector3(multiplierFont, multiplierFont, multiplierFont);
|
||||
|
||||
if (currMultiplierCombo < maxMultiplierCombo)
|
||||
currMultiplierCombo += 1;
|
||||
|
@ -183,9 +216,9 @@ public class GameManager : Script
|
|||
MultiplierTextFx fx = multiplierText.GetScript<MultiplierTextFx>();
|
||||
if (fx)
|
||||
{
|
||||
fx.ShowMultiplier(currMultiplierCombo, maxMultiplierDuration);
|
||||
fx.ShowMultiplier(currMultiplierCombo, maxMultiplierDuration);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
using SHADE;
|
||||
using SHADE_Scripting.Audio;
|
||||
using System;
|
||||
|
||||
public class JumpPad : Script
|
||||
{
|
||||
protected override void awake()
|
||||
{
|
||||
AudioHandler.audioClipHandlers["SFXJumpPad"] = Audio.CreateAudioClip("event:/Props/jumppad_boing");
|
||||
}
|
||||
|
||||
protected override void update()
|
||||
|
@ -15,6 +17,8 @@ public class JumpPad : Script
|
|||
{
|
||||
if (info.GameObject.GetScript<PlayerController>() && info.GameObject.GetScript<PlayerController>().currentState == PlayerController.RaccoonStates.FALLING)
|
||||
{
|
||||
Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXJumpPad"], GameObject.EntityId);
|
||||
AudioHandler.audioClipHandlers["SFXJumpPad"].Play();
|
||||
info.GameObject.GetScript<PlayerController>().landedOnJumpPad = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ namespace SHADE_Scripting.UI
|
|||
public Vector3 endPoint3;
|
||||
|
||||
public GameObject playerCamera;
|
||||
public GameObject gameplayCanvas;
|
||||
public float duration = 3.0f;
|
||||
|
||||
private bool point1Done = false;
|
||||
|
@ -39,8 +40,6 @@ namespace SHADE_Scripting.UI
|
|||
if (listOfCamera.Count == 0)
|
||||
Debug.LogError("EMPTY PREVIEW POINTS");
|
||||
|
||||
listOfCamera[0].SetMainCamera();
|
||||
|
||||
moveToEndPoint1 = TweenManager.CreateTweenThreadVec3(duration, listOfCamera[0].GetComponent<Transform>().LocalPosition, endPoint1, EASING_METHOD.EASE_IN_SINE);
|
||||
moveToEndPoint2 = TweenManager.CreateTweenThreadVec3(duration, listOfCamera[1].GetComponent<Transform>().LocalPosition, endPoint2, EASING_METHOD.EASE_IN_SINE);
|
||||
moveToEndPoint3 = TweenManager.CreateTweenThreadVec3(duration, listOfCamera[2].GetComponent<Transform>().LocalPosition, endPoint3, EASING_METHOD.EASE_IN_SINE);
|
||||
|
@ -48,31 +47,41 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
}
|
||||
|
||||
protected override void start()
|
||||
{
|
||||
if (gameplayCanvas)
|
||||
gameplayCanvas.SetActive(false);
|
||||
listOfCamera[0].SetMainCamera();
|
||||
}
|
||||
|
||||
protected override void update()
|
||||
{
|
||||
if (!SceneFadeInOut.Instance.FadeOutFinished() && !point1Done)
|
||||
if (SceneFadeInOut.Instance && !SceneFadeInOut.Instance.FadeOutFinished() && !point1Done)
|
||||
{
|
||||
moveToEndPoint1.Reset();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space))
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space) && !point3Done)
|
||||
{
|
||||
skip = true;
|
||||
point1Done = true;
|
||||
point3Done = true;
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
SceneFadeInOut.Instance.alphaValue = 0.01f;
|
||||
}
|
||||
|
||||
if (skip && SceneFadeInOut.Instance.FadeInFinished())
|
||||
if (skip && SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeInFinished())
|
||||
{
|
||||
playerCamera.GetComponent<Camera>().SetMainCamera();
|
||||
SceneFadeInOut.Instance.CallFadeOut();
|
||||
}
|
||||
|
||||
if (skip && SceneFadeInOut.Instance.FadeOutFinished())
|
||||
if (skip && SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeOutFinished())
|
||||
{
|
||||
GameManager.Instance.PreviewLevelDone = true;
|
||||
if (gameplayCanvas)
|
||||
gameplayCanvas.SetActive(true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,7 +90,7 @@ namespace SHADE_Scripting.UI
|
|||
if (!point1Done)
|
||||
{
|
||||
listOfCamera[0].GetComponent<Transform>().LocalPosition = moveToEndPoint1.GetValue();
|
||||
if (moveToEndPoint1.IsCompleted())
|
||||
if (SceneFadeInOut.Instance && moveToEndPoint1.IsCompleted())
|
||||
{
|
||||
point1Done = true;
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
|
@ -89,13 +98,13 @@ namespace SHADE_Scripting.UI
|
|||
}
|
||||
}
|
||||
|
||||
if (SceneFadeInOut.Instance.FadeInFinished() && point1Done)
|
||||
if (SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeInFinished() && point1Done)
|
||||
{
|
||||
listOfCamera[1].SetMainCamera();
|
||||
SceneFadeInOut.Instance.CallFadeOut();
|
||||
}
|
||||
|
||||
if (SceneFadeInOut.Instance.FadeOutFinished() && point1Done)
|
||||
if (SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeOutFinished() && point1Done)
|
||||
{
|
||||
if (!point2Done)
|
||||
{
|
||||
|
@ -114,13 +123,13 @@ namespace SHADE_Scripting.UI
|
|||
}
|
||||
}
|
||||
|
||||
if (SceneFadeInOut.Instance.FadeInFinished() && point2Done)
|
||||
if (SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeInFinished() && point2Done)
|
||||
{
|
||||
listOfCamera[2].SetMainCamera();
|
||||
SceneFadeInOut.Instance.CallFadeOut();
|
||||
}
|
||||
|
||||
if (SceneFadeInOut.Instance.FadeOutFinished() && point2Done)
|
||||
if (SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeOutFinished() && point2Done)
|
||||
{
|
||||
if (!point3Done)
|
||||
{
|
||||
|
@ -139,15 +148,17 @@ namespace SHADE_Scripting.UI
|
|||
}
|
||||
}
|
||||
|
||||
if (SceneFadeInOut.Instance.FadeInFinished() && point3Done)
|
||||
if (SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeInFinished() && point3Done)
|
||||
{
|
||||
playerCamera.GetComponent<Camera>().SetMainCamera();
|
||||
SceneFadeInOut.Instance.CallFadeOut();
|
||||
}
|
||||
|
||||
if (SceneFadeInOut.Instance.FadeOutFinished() && point3Done)
|
||||
if (SceneFadeInOut.Instance && SceneFadeInOut.Instance.FadeOutFinished() && point3Done)
|
||||
{
|
||||
GameManager.Instance.PreviewLevelDone = true;
|
||||
if (gameplayCanvas)
|
||||
gameplayCanvas.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SHADE_Scripting
|
||||
{
|
||||
static public class Settings
|
||||
{
|
||||
static public float cameraSensitivity = 100.0f;
|
||||
|
||||
static public float cameraFOV = 90.0f;
|
||||
|
||||
static public float masterVolume = 100.0f;
|
||||
static public float sfxVolume = 100.0f;
|
||||
static public float bgmVolume = 100.0f;
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
Name: Settings
|
||||
ID: 163325256
|
||||
Type: 9
|
|
@ -52,12 +52,15 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
private static float EaseInSine(float value)
|
||||
{
|
||||
return (float)(1.0f - Math.Cos((value * Math.PI / 2.0f)));
|
||||
|
||||
return (float)(1.0f - Math.Cos((value * Math.PI / 2.0f) ));
|
||||
|
||||
}
|
||||
|
||||
private static float EaseOutSine(float value)
|
||||
{
|
||||
return (float)(Math.Sin(value * Math.PI / 2.0f));
|
||||
return (float)(Math.Sin(value * Math.PI / 2.0f) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using SHADE;
|
||||
using SHADE;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
@ -9,10 +9,10 @@ namespace SHADE_Scripting.UI
|
|||
{
|
||||
public class ButtonFX:Script
|
||||
{
|
||||
public string onHoverEnterSound = "event:/Music/player_undetected";
|
||||
public string onHoverExitSound = "event:/Music/player_undetected";
|
||||
public string onClickSound = "event:/Music/player_undetected";
|
||||
public string onReleaseSound = "event:/Music/player_undetected";
|
||||
public string onHoverEnterSound = "Empty";
|
||||
public string onHoverExitSound = "Empty";
|
||||
public string onClickSound = "event:/UI/mouse_down_element";
|
||||
public string onReleaseSound = "Empty";
|
||||
|
||||
[NonSerialized]
|
||||
private AudioClipHandler onHoverEnterACHandler;
|
||||
|
@ -40,13 +40,16 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
protected override void awake()
|
||||
{
|
||||
onHoverEnterACHandler = SHADE.Audio.CreateAudioClip(onHoverEnterSound);
|
||||
onHoverExitACHandler = SHADE.Audio.CreateAudioClip(onHoverExitSound);
|
||||
onClickACHandler = SHADE.Audio.CreateAudioClip(onClickSound);
|
||||
onReleaseACHandler = SHADE.Audio.CreateAudioClip(onReleaseSound);
|
||||
|
||||
if(onHoverEnterSound != "Empty")
|
||||
onHoverEnterACHandler = SHADE.Audio.CreateAudioClip(onHoverEnterSound);
|
||||
|
||||
if(onHoverExitSound != "Empty")
|
||||
onHoverExitACHandler = SHADE.Audio.CreateAudioClip(onHoverExitSound);
|
||||
|
||||
if (onClickSound != "Empty")
|
||||
onClickACHandler = SHADE.Audio.CreateAudioClip(onClickSound);
|
||||
if (onReleaseSound != "Empty")
|
||||
onReleaseACHandler = SHADE.Audio.CreateAudioClip(onReleaseSound);
|
||||
}
|
||||
|
||||
protected override void start()
|
||||
|
@ -67,7 +70,7 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
ui.OnClick.RegisterAction(() =>
|
||||
{
|
||||
if (onClickSound != "")
|
||||
if (onClickSound != "Empty")
|
||||
onClickACHandler.Play();
|
||||
tweening = true;
|
||||
if(thread != null)
|
||||
|
@ -76,8 +79,10 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
ui.OnRelease.RegisterAction(() =>
|
||||
{
|
||||
if (onReleaseSound != "")
|
||||
if (onReleaseSound != "Empty")
|
||||
onReleaseACHandler.Play();
|
||||
|
||||
|
||||
tweening = true;
|
||||
if (thread != null)
|
||||
thread.Reset(currentScale, 1.0f);
|
||||
|
@ -85,8 +90,12 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
ui.OnHoverEnter.RegisterAction(() =>
|
||||
{
|
||||
if (onHoverEnterSound != "")
|
||||
if (onHoverEnterSound!="Empty")
|
||||
{
|
||||
|
||||
onHoverEnterACHandler.Play();
|
||||
}
|
||||
|
||||
tweening = true;
|
||||
if (thread != null)
|
||||
thread.Reset(currentScale, hoverScale);
|
||||
|
@ -94,7 +103,7 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
ui.OnHoverExit.RegisterAction(() =>
|
||||
{
|
||||
if (onHoverExitSound != "")
|
||||
if (onHoverExitSound != "Empty")
|
||||
onHoverExitACHandler.Play();
|
||||
tweening = true;
|
||||
if (thread != null)
|
||||
|
@ -110,7 +119,7 @@ namespace SHADE_Scripting.UI
|
|||
return;
|
||||
if (tweening == true && thread != null)
|
||||
{
|
||||
Debug.Log("Tweening value " + thread.GetValue());
|
||||
|
||||
transform.LocalScale = defaultScale * thread.GetValue();
|
||||
currentScale = thread.GetValue();
|
||||
if (thread.IsCompleted())
|
||||
|
|
|
@ -22,22 +22,19 @@ public class ChangeSceneButton : Script
|
|||
{
|
||||
ui.OnRelease.RegisterAction(() =>
|
||||
{
|
||||
|
||||
if (sceneID != 0)
|
||||
{
|
||||
Audio.PlaySFXOnce2D("event:/UI/success");
|
||||
|
||||
Audio.StopAllSounds();
|
||||
|
||||
Audio.PlaySFXOnce2D("event:/UI/success");
|
||||
Audio.StopAllSounds();
|
||||
if (SceneFadeInOut.Instance != null)
|
||||
SceneFadeInOut.Instance.CallFadeIn();
|
||||
clickedFlag = true;
|
||||
clickedFlag = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Failed to register button action for ChangeSceneButton.");
|
||||
|
||||
}
|
||||
}
|
||||
protected override void update()
|
||||
|
|
|
@ -0,0 +1,317 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using SHADE;
|
||||
|
||||
|
||||
public class CutsceneEnd : Script
|
||||
{
|
||||
public uint nextScene;
|
||||
public float duration = 3.0f;
|
||||
public float skipDuration = 0.1f;
|
||||
private float oldDuration = 0.0f;
|
||||
|
||||
private Renderable pic4aRenderable;
|
||||
private Renderable pic4bRenderable;
|
||||
private Renderable pic4cRenderable;
|
||||
private Renderable pic5aRenderable;
|
||||
private Renderable pic5bRenderable;
|
||||
|
||||
private Transform pic4aTran;
|
||||
private Transform pic4bTran;
|
||||
private Transform pic4cTran;
|
||||
private Transform pic5aTran;
|
||||
private Transform pic5bTran;
|
||||
|
||||
private float alphaIn = 0.0f;
|
||||
private float time = 0.0f;
|
||||
private bool showPic4a = true;
|
||||
private bool showPic4b = false;
|
||||
private bool showPic4c = false;
|
||||
private bool showPic5a = true;
|
||||
private bool showPic5b = false;
|
||||
|
||||
private bool skip = false;
|
||||
|
||||
public GameObject cutscene4Points;
|
||||
private List<Transform> listOfCutscene4Points;
|
||||
|
||||
public GameObject cutscene4Pics;
|
||||
private List<Renderable> listOfCutscene4Pics;
|
||||
|
||||
public GameObject cutscene5Points;
|
||||
private List<Transform> listOfCutscene5Points;
|
||||
|
||||
public GameObject cutscene5Pics;
|
||||
private List<Renderable> listOfCutscene5Pics;
|
||||
|
||||
private TextRenderable text4;
|
||||
private TextRenderable text5;
|
||||
|
||||
public GameObject canvas4;
|
||||
public GameObject canvas5;
|
||||
|
||||
private bool cutscene4Done = false;
|
||||
private bool cutscene5Done = false;
|
||||
|
||||
protected override void awake()
|
||||
{
|
||||
initCutscene4();
|
||||
initCutscene5();
|
||||
}
|
||||
|
||||
protected override void update()
|
||||
{
|
||||
Canvas4();
|
||||
Canvas5();
|
||||
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space) && !skip && (!cutscene4Done || !cutscene5Done))
|
||||
{
|
||||
skip = true;
|
||||
oldDuration = duration;
|
||||
duration = skipDuration;
|
||||
}
|
||||
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene4Done && canvas4.IsActiveSelf)
|
||||
{
|
||||
canvas4.SetActive(false);
|
||||
canvas5.SetActive(true);
|
||||
duration = oldDuration;
|
||||
skip = false;
|
||||
}
|
||||
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene5Done && canvas5.IsActiveSelf)
|
||||
{
|
||||
SceneManager.ChangeScene(nextScene);
|
||||
}
|
||||
}
|
||||
|
||||
private void Canvas4()
|
||||
{
|
||||
if (canvas4.IsActiveSelf)
|
||||
{
|
||||
if (showPic4a)
|
||||
{
|
||||
if (time < duration)
|
||||
{
|
||||
pic4aTran.LocalPosition = Vector3.Lerp(pic4aTran.LocalPosition, listOfCutscene4Points[0].LocalPosition, time / duration);
|
||||
alphaIn = SHADE.Math.Lerp(0.0f, 1.0f, time / duration);
|
||||
time += Time.DeltaTimeF;
|
||||
}
|
||||
else
|
||||
{
|
||||
pic4aTran.LocalPosition = listOfCutscene4Points[0].LocalPosition;
|
||||
alphaIn = 1.0f;
|
||||
}
|
||||
|
||||
pic4aRenderable.Material.SetProperty<float>("data.alpha", alphaIn);
|
||||
if (alphaIn >= 1.0f)
|
||||
{
|
||||
showPic4a = false;
|
||||
showPic4b = true;
|
||||
time = 0;
|
||||
alphaIn = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (showPic4b)
|
||||
{
|
||||
if (time < duration)
|
||||
{
|
||||
pic4bTran.LocalPosition = Vector3.Lerp(pic4bTran.LocalPosition, listOfCutscene4Points[1].LocalPosition, time / duration);
|
||||
alphaIn = SHADE.Math.Lerp(0.0f, 1.0f, time / duration);
|
||||
time += Time.DeltaTimeF;
|
||||
}
|
||||
else
|
||||
{
|
||||
pic4bTran.LocalPosition = listOfCutscene4Points[1].LocalPosition;
|
||||
alphaIn = 1.0f;
|
||||
}
|
||||
|
||||
pic4bRenderable.Material.SetProperty<float>("data.alpha", alphaIn);
|
||||
if (alphaIn >= 1.0f)
|
||||
{
|
||||
showPic4b = false;
|
||||
showPic4c = true;
|
||||
time = 0;
|
||||
alphaIn = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (showPic4c)
|
||||
{
|
||||
if (time < duration)
|
||||
{
|
||||
pic4cTran.LocalPosition = Vector3.Lerp(pic4cTran.LocalPosition, listOfCutscene4Points[2].LocalPosition, time / duration);
|
||||
alphaIn = SHADE.Math.Lerp(0.0f, 1.0f, time / duration);
|
||||
time += Time.DeltaTimeF;
|
||||
}
|
||||
else
|
||||
{
|
||||
pic4cTran.LocalPosition = listOfCutscene4Points[2].LocalPosition;
|
||||
alphaIn = 1.0f;
|
||||
}
|
||||
|
||||
pic4cRenderable.Material.SetProperty<float>("data.alpha", alphaIn);
|
||||
if (alphaIn >= 1.0f)
|
||||
{
|
||||
showPic4c = false;
|
||||
cutscene4Done = true;
|
||||
text4.Enabled = true;
|
||||
time = 0;
|
||||
alphaIn = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Canvas5()
|
||||
{
|
||||
if (canvas5.IsActiveSelf)
|
||||
{
|
||||
if (showPic5a)
|
||||
{
|
||||
if (time < duration)
|
||||
{
|
||||
pic5aTran.LocalPosition = Vector3.Lerp(pic5aTran.LocalPosition, listOfCutscene5Points[0].LocalPosition, time / duration);
|
||||
alphaIn = SHADE.Math.Lerp(0.0f, 1.0f, time / duration);
|
||||
time += Time.DeltaTimeF;
|
||||
}
|
||||
else
|
||||
{
|
||||
pic5aTran.LocalPosition = listOfCutscene5Points[0].LocalPosition;
|
||||
alphaIn = 1.0f;
|
||||
}
|
||||
|
||||
pic5aRenderable.Material.SetProperty<float>("data.alpha", alphaIn);
|
||||
if (alphaIn >= 1.0f)
|
||||
{
|
||||
showPic5a = false;
|
||||
showPic5b = true;
|
||||
time = 0;
|
||||
alphaIn = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (showPic5b)
|
||||
{
|
||||
if (time < duration)
|
||||
{
|
||||
pic5bTran.LocalPosition = Vector3.Lerp(pic5bTran.LocalPosition, listOfCutscene5Points[1].LocalPosition, time / duration);
|
||||
alphaIn = SHADE.Math.Lerp(0.0f, 1.0f, time / duration);
|
||||
time += Time.DeltaTimeF;
|
||||
}
|
||||
else
|
||||
{
|
||||
pic5bTran.LocalPosition = listOfCutscene5Points[1].LocalPosition;
|
||||
alphaIn = 1.0f;
|
||||
}
|
||||
|
||||
pic5bRenderable.Material.SetProperty<float>("data.alpha", alphaIn);
|
||||
if (alphaIn >= 1.0f)
|
||||
{
|
||||
showPic5b = false;
|
||||
text5.Enabled = true;
|
||||
cutscene5Done = true;
|
||||
time = 0;
|
||||
alphaIn = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void initCutscene4()
|
||||
{
|
||||
if (cutscene4Points)
|
||||
listOfCutscene4Points = cutscene4Points.GetComponentsInChildren<Transform>().ToList();
|
||||
else
|
||||
Debug.LogError("Cutscene4Points Missing");
|
||||
|
||||
if (listOfCutscene4Points.Count == 0)
|
||||
Debug.LogError("Cutscene4Points Empty");
|
||||
|
||||
listOfCutscene4Pics = cutscene4Pics.GetComponentsInChildren<Renderable>().ToList();
|
||||
if (listOfCutscene4Pics.Count == 0)
|
||||
Debug.LogError("Cutscene4Pics Empty");
|
||||
|
||||
if (listOfCutscene4Pics[0])
|
||||
{
|
||||
pic4aRenderable = listOfCutscene4Pics[0].GetComponent<Renderable>();
|
||||
pic4aTran = listOfCutscene4Pics[0].GetComponent<Transform>();
|
||||
pic4aRenderable.Material.SetProperty<float>("data.alpha", 0.0f);
|
||||
}
|
||||
else
|
||||
Debug.LogError("SCENE 4 PIC1 MISSING");
|
||||
|
||||
if (listOfCutscene4Pics[1])
|
||||
{
|
||||
pic4bRenderable = listOfCutscene4Pics[1].GetComponent<Renderable>();
|
||||
pic4bTran = listOfCutscene4Pics[1].GetComponent<Transform>();
|
||||
pic4bRenderable.Material.SetProperty<float>("data.alpha", 0.0f);
|
||||
}
|
||||
else
|
||||
Debug.LogError("SCENE 4 PIC2 MISSING");
|
||||
|
||||
if (listOfCutscene4Pics[2])
|
||||
{
|
||||
pic4cRenderable = listOfCutscene4Pics[2].GetComponent<Renderable>();
|
||||
pic4cTran = listOfCutscene4Pics[2].GetComponent<Transform>();
|
||||
pic4cRenderable.Material.SetProperty<float>("data.alpha", 0.0f);
|
||||
}
|
||||
else
|
||||
Debug.LogError("SCENE 1 PIC3 MISSING");
|
||||
|
||||
if (canvas4)
|
||||
{
|
||||
text4 = canvas4.GetComponentInChildren<TextRenderable>();
|
||||
text4.Enabled = false;
|
||||
}
|
||||
else
|
||||
Debug.LogError("Canvas 4 missing");
|
||||
}
|
||||
|
||||
private void initCutscene5()
|
||||
{
|
||||
if (cutscene5Points)
|
||||
listOfCutscene5Points = cutscene5Points.GetComponentsInChildren<Transform>().ToList();
|
||||
else
|
||||
Debug.LogError("cutscene5Points Missing");
|
||||
|
||||
if (listOfCutscene5Points.Count == 0)
|
||||
Debug.LogError("Cutscene5Points Empty");
|
||||
|
||||
listOfCutscene5Pics = cutscene5Pics.GetComponentsInChildren<Renderable>().ToList();
|
||||
if (listOfCutscene5Pics.Count == 0)
|
||||
Debug.LogError("Cutscene5Pics Empty");
|
||||
|
||||
if (listOfCutscene5Pics[0])
|
||||
{
|
||||
pic5aRenderable = listOfCutscene5Pics[0].GetComponent<Renderable>();
|
||||
pic5aTran = listOfCutscene5Pics[0].GetComponent<Transform>();
|
||||
pic5aRenderable.Material.SetProperty<float>("data.alpha", 0.0f);
|
||||
}
|
||||
else
|
||||
Debug.LogError("SCENE 5 PIC1 MISSING");
|
||||
|
||||
if (listOfCutscene5Pics[1])
|
||||
{
|
||||
pic5bRenderable = listOfCutscene5Pics[1].GetComponent<Renderable>();
|
||||
pic5bTran = listOfCutscene5Pics[1].GetComponent<Transform>();
|
||||
pic5bRenderable.Material.SetProperty<float>("data.alpha", 0.0f);
|
||||
}
|
||||
else
|
||||
Debug.LogError("SCENE 5 PIC2 MISSING");
|
||||
|
||||
if (canvas5)
|
||||
{
|
||||
text5 = canvas5.GetComponentInChildren<TextRenderable>();
|
||||
text5.Enabled = false;
|
||||
canvas5.SetActive(false);
|
||||
}
|
||||
else
|
||||
Debug.LogError("Canvas 5 missing");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
Name: SC_CutSceneEnd
|
||||
ID: 153706859
|
||||
Type: 9
|
|
@ -1,3 +0,0 @@
|
|||
Name: SC_Cutscene
|
||||
ID: 157565851
|
||||
Type: 9
|
|
@ -4,10 +4,12 @@ using System.Linq;
|
|||
using SHADE;
|
||||
|
||||
|
||||
public class Cutscene : Script
|
||||
public class CutsceneIntro : Script
|
||||
{
|
||||
|
||||
public uint nextScene;
|
||||
public float duration = 3.0f;
|
||||
public float skipDuration = 0.1f;
|
||||
private float oldDuration = 0.0f;
|
||||
|
||||
private Renderable pic1aRenderable;
|
||||
|
@ -93,14 +95,14 @@ public class Cutscene : Script
|
|||
Canvas2();
|
||||
Canvas3();
|
||||
|
||||
if (Input.GetKeyDown(Input.KeyCode.Space) && !skip && (!cutscene1Done || !cutscene2Done || !cutscene3Done))
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space) && !skip && (!cutscene1Done || !cutscene2Done || !cutscene3Done))
|
||||
{
|
||||
skip = true;
|
||||
oldDuration = duration;
|
||||
duration = 0.1f;
|
||||
duration = skipDuration;
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(Input.KeyCode.Space) && cutscene1Done && canvas1.IsActiveSelf)
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene1Done && canvas1.IsActiveSelf)
|
||||
{
|
||||
canvas1.SetActive(false);
|
||||
canvas2.SetActive(true);
|
||||
|
@ -108,7 +110,7 @@ public class Cutscene : Script
|
|||
skip = false;
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(Input.KeyCode.Space) && cutscene2Done && canvas2.IsActiveSelf)
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene2Done && canvas2.IsActiveSelf)
|
||||
{
|
||||
canvas2.SetActive(false);
|
||||
canvas3.SetActive(true);
|
||||
|
@ -116,9 +118,9 @@ public class Cutscene : Script
|
|||
skip = false;
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(Input.KeyCode.Space) && cutscene3Done && canvas3.IsActiveSelf)
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space) && cutscene3Done && canvas3.IsActiveSelf)
|
||||
{
|
||||
//change scene
|
||||
SceneManager.ChangeScene(nextScene);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
Name: SC_CutsceneIntro
|
||||
ID: 154967292
|
||||
Type: 9
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using SHADE;
|
||||
using SHADE_Scripting.Audio;
|
||||
using SHADE_Scripting.UI;
|
||||
|
||||
public class EndScene : Script
|
||||
{
|
||||
|
@ -12,6 +13,15 @@ public class EndScene : Script
|
|||
AudioHandler.audioClipHandlers["SFXMouseDownElement"] = Audio.CreateAudioClip("event:/UI/mouse_down_element");
|
||||
AudioHandler.audioClipHandlers["SFXUISuccess"] = Audio.CreateAudioClip("event:/UI/success");
|
||||
}
|
||||
|
||||
protected override void start()
|
||||
{
|
||||
Debug.Log("EndScene::Start():");
|
||||
Input.SetMouseCentering(false);
|
||||
Application.IsCursorVisible = true;
|
||||
SceneFadeInOut.Instance.CallFadeOut();
|
||||
}
|
||||
|
||||
protected override void update()
|
||||
{
|
||||
if (Input.GetKeyDown(Input.KeyCode.R))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using SHADE;
|
||||
using SHADE_Scripting.Audio;
|
||||
using SHADE_Scripting.UI;
|
||||
|
||||
public class MainMenu : Script
|
||||
{
|
||||
|
@ -23,40 +24,12 @@ public class MainMenu : Script
|
|||
|
||||
protected override void start()
|
||||
{
|
||||
Input.SetMouseCentering(false);
|
||||
Application.IsCursorVisible = true;
|
||||
SceneFadeInOut.Instance.CallFadeOut();
|
||||
}
|
||||
protected override void update()
|
||||
{
|
||||
/* if (Input.GetKeyDown(Input.KeyCode.K) && obj)
|
||||
{
|
||||
if (testRenderable.Material.GetProperty<float>("data.alpha") == 1)
|
||||
{
|
||||
testRenderable.Material.SetProperty<float>("data.alpha", 0);
|
||||
}
|
||||
else if (testRenderable.Material.GetProperty<float>("data.alpha") == 0)
|
||||
{
|
||||
testRenderable.Material.SetProperty<float>("data.alpha", 1);
|
||||
}
|
||||
}*/
|
||||
|
||||
if (Input.GetKeyDown(Input.KeyCode.Space))
|
||||
{
|
||||
//Audio.PlaySFXOnce2D("event:/UI/mouse_down_element");
|
||||
AudioHandler.audioClipHandlers["SFXMouseDownElement"].Play();
|
||||
}
|
||||
|
||||
if (Input.GetKeyUp(Input.KeyCode.Space))
|
||||
{
|
||||
//Audio.PlaySFXOnce2D("event:/UI/success");
|
||||
AudioHandler.audioClipHandlers["SFXUISuccess"].Play();
|
||||
SceneManager.ChangeScene(sceneID);
|
||||
Audio.StopAllSounds();
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(Input.KeyCode.Escape))
|
||||
{
|
||||
Audio.StopAllSounds();
|
||||
Application.Quit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ namespace SHADE_Scripting.UI
|
|||
{
|
||||
[NonSerialized]
|
||||
private TweenThread sizeThread;
|
||||
private TweenThread sizeInvertThread;
|
||||
private TweenThread alphaThread;
|
||||
|
||||
|
||||
|
@ -20,6 +21,7 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
|
||||
private bool showMultiplier = false;
|
||||
const float sizeUpDuration = 0.1f;
|
||||
|
||||
[NonSerialized]
|
||||
private Vector3 defaultScale;
|
||||
|
@ -27,6 +29,7 @@ namespace SHADE_Scripting.UI
|
|||
protected override void start()
|
||||
{
|
||||
sizeThread = TweenManager.CreateTweenThread(0.0f, maxSize, minSize, 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>();
|
||||
if (transform != null)
|
||||
|
@ -43,8 +46,29 @@ namespace SHADE_Scripting.UI
|
|||
protected override void update()
|
||||
{
|
||||
Transform transform = GetComponent<Transform>();
|
||||
|
||||
|
||||
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;
|
||||
|
@ -53,7 +77,18 @@ namespace SHADE_Scripting.UI
|
|||
else
|
||||
{
|
||||
transform.LocalScale = defaultScale * sizeThread.GetValue();
|
||||
GetComponentInChildren<Renderable>().Material.SetProperty<float>("data.alpha",alphaThread.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -62,9 +97,10 @@ namespace SHADE_Scripting.UI
|
|||
public void ShowMultiplier(int multiplier, float duration)
|
||||
{
|
||||
GetComponent<TextRenderable>().Text = $"X {multiplier}";
|
||||
sizeThread.duration = duration;
|
||||
alphaThread.duration = duration;
|
||||
sizeThread.duration = duration + sizeUpDuration;
|
||||
alphaThread.duration = duration + sizeUpDuration;
|
||||
|
||||
sizeInvertThread.Reset();
|
||||
sizeThread.Reset();
|
||||
alphaThread.Reset();
|
||||
showMultiplier = true;
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
using SHADE;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SHADE_Scripting.UI
|
||||
{
|
||||
public class Options:Script
|
||||
{
|
||||
public GameObject masterVolSlider;
|
||||
public GameObject sfxVolSlider;
|
||||
public GameObject bgmVolSlider;
|
||||
public GameObject fovSlider;
|
||||
public GameObject sensitivitySlider;
|
||||
|
||||
|
||||
|
||||
|
||||
protected override void awake()
|
||||
{
|
||||
Slider mv = masterVolSlider.GetComponent<Slider>();
|
||||
Slider sfx = sfxVolSlider.GetComponent<Slider>();
|
||||
Slider bgm = bgmVolSlider.GetComponent<Slider>();
|
||||
Slider fov = fovSlider.GetComponent<Slider>();
|
||||
Slider sens = sensitivitySlider.GetComponent<Slider>();
|
||||
|
||||
|
||||
|
||||
if (mv != null)
|
||||
{
|
||||
mv.ScaledValue = Settings.masterVolume;
|
||||
|
||||
}
|
||||
if (sfx != null)
|
||||
{
|
||||
sfx.ScaledValue = Settings.sfxVolume;
|
||||
|
||||
}
|
||||
if (bgm != null)
|
||||
{
|
||||
bgm.ScaledValue = Settings.bgmVolume;
|
||||
|
||||
}
|
||||
if (fov != null)
|
||||
{
|
||||
fov.ScaledValue = Settings.cameraFOV;
|
||||
|
||||
}
|
||||
if (sens != null)
|
||||
{
|
||||
sens.ScaledValue = Settings.cameraSensitivity;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected override void update()
|
||||
{
|
||||
Slider mv = masterVolSlider.GetComponent<Slider>();
|
||||
Slider sfx = sfxVolSlider.GetComponent<Slider>();
|
||||
Slider bgm = bgmVolSlider.GetComponent<Slider>();
|
||||
Slider fov = fovSlider.GetComponent<Slider>();
|
||||
Slider sens = sensitivitySlider.GetComponent<Slider>();
|
||||
|
||||
if(mv != null)
|
||||
{
|
||||
Settings.masterVolume = mv.ScaledValue;
|
||||
}
|
||||
if (sfx != null)
|
||||
{
|
||||
Settings.sfxVolume = sfx.ScaledValue;
|
||||
}
|
||||
if (bgm != null)
|
||||
{
|
||||
Settings.bgmVolume = bgm.ScaledValue;
|
||||
}
|
||||
if (fov != null)
|
||||
{
|
||||
Settings.cameraFOV = fov.ScaledValue;
|
||||
}
|
||||
if (sens != null)
|
||||
{
|
||||
Settings.cameraSensitivity = sens.ScaledValue;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
Name: SC_Options
|
||||
ID: 162565004
|
||||
Type: 9
|
|
@ -13,7 +13,8 @@ public class PauseMenu : Script
|
|||
|
||||
protected override void awake()
|
||||
{
|
||||
GameManager.Instance.GamePause = false;
|
||||
if (GameManager.Instance != null)
|
||||
GameManager.Instance.GamePause = false;
|
||||
|
||||
if (canvas)
|
||||
{
|
||||
|
@ -36,16 +37,19 @@ public class PauseMenu : Script
|
|||
UIElement resume = resumeBtn.GetComponent<UIElement>();
|
||||
if (resume != null)
|
||||
{
|
||||
resume.OnClick.RegisterAction(() =>
|
||||
resume.OnRelease.RegisterAction(() =>
|
||||
{
|
||||
if (GameManager.Instance.GamePause)
|
||||
{
|
||||
GameManager.Instance.GamePause = false;
|
||||
Input.SetMouseCentering(true);
|
||||
Application.IsCursorVisible = false;
|
||||
AudioHandler.PauseAllSounds(false);
|
||||
if (gamePauseText)
|
||||
gamePauseText.Enabled = false;
|
||||
if (canvas)
|
||||
canvas.SetActive(false);
|
||||
Application.FixDeltaTime = Time.DefaultFixDeltaTime;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -58,10 +62,13 @@ public class PauseMenu : Script
|
|||
UIElement retry = retryBtn.GetComponent<UIElement>();
|
||||
if (retry != null)
|
||||
{
|
||||
retry.OnClick.RegisterAction(() =>
|
||||
retry.OnRelease.RegisterAction(() =>
|
||||
{
|
||||
Audio.StopAllSounds();
|
||||
SceneManager.RestartScene();
|
||||
GameManager.Instance.GamePause = false;
|
||||
GameManager.Instance.stealFoodPopUpDone = false;
|
||||
GameManager.Instance.PreviewLevelDone = false;
|
||||
});
|
||||
}
|
||||
else
|
||||
|
@ -72,7 +79,7 @@ public class PauseMenu : Script
|
|||
UIElement quit = quitBtn.GetComponent<UIElement>();
|
||||
if (quit != null)
|
||||
{
|
||||
quit.OnClick.RegisterAction(() =>
|
||||
quit.OnRelease.RegisterAction(() =>
|
||||
{
|
||||
Audio.StopAllSounds();
|
||||
//go to main menu
|
||||
|
@ -88,14 +95,17 @@ public class PauseMenu : Script
|
|||
protected override void update()
|
||||
{
|
||||
|
||||
if (Input.GetKeyDown(Input.KeyCode.Escape) && !GameManager.Instance.GamePause && GameManager.Instance.stealFoodPopUpDone)
|
||||
if (Input.GetKeyUp(Input.KeyCode.Escape) && !GameManager.Instance.GamePause && GameManager.Instance.stealFoodPopUpDone)
|
||||
{
|
||||
GameManager.Instance.GamePause = true;
|
||||
Input.SetMouseCentering(false);
|
||||
Application.IsCursorVisible = true;
|
||||
AudioHandler.PauseAllSounds(true);
|
||||
if (gamePauseText)
|
||||
gamePauseText.Enabled = true;
|
||||
if (canvas)
|
||||
canvas.SetActive(true);
|
||||
Application.FixDeltaTime = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -43,7 +43,6 @@ namespace SHADE_Scripting.UI
|
|||
|
||||
protected override void start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void update()
|
||||
|
@ -56,7 +55,6 @@ namespace SHADE_Scripting.UI
|
|||
if (fadeInTime == 0.0f)
|
||||
{
|
||||
alphaValue = 1.0f;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -64,7 +62,8 @@ namespace SHADE_Scripting.UI
|
|||
}
|
||||
if (alphaValue >= 1.0f)
|
||||
{
|
||||
alphaValue = 1.0f;
|
||||
alphaValue = 1.0f;
|
||||
//GameObject.Parent.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -82,8 +81,10 @@ namespace SHADE_Scripting.UI
|
|||
}
|
||||
if (alphaValue <= 0.0f)
|
||||
{
|
||||
alphaValue = 0.0f;
|
||||
GameObject.Parent.SetActive(false);
|
||||
alphaValue = 0.0f;
|
||||
//This line is to be added so that (because the fade in and out item is usually the front-most UI element)
|
||||
//the fade in and out UI element does not block functionality of other UI elements
|
||||
GameObject.Parent.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
using System;
|
||||
using SHADE;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SHADE_Scripting.UI
|
||||
{
|
||||
public class ScrollingCredits: Script
|
||||
{
|
||||
|
||||
public float endY = 4000.0f;
|
||||
public float duration = 30.0f;
|
||||
|
||||
|
||||
[NonSerialized]
|
||||
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.EASE_IN_SINE);
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
Name: SC_ScrollingCredits
|
||||
ID: 159139676
|
||||
Type: 9
|
|
@ -11,8 +11,6 @@ namespace SHADE_Scripting.UI
|
|||
{
|
||||
public GameObject sliderObj;
|
||||
|
||||
public int minValue = 0;
|
||||
public int maxValue = 0;
|
||||
|
||||
protected override void start()
|
||||
{
|
||||
|
@ -22,7 +20,7 @@ namespace SHADE_Scripting.UI
|
|||
if (slider != null && text != null)
|
||||
{
|
||||
|
||||
text.Text = ((int)(slider.GetValue() * (maxValue - minValue) + minValue)).ToString();
|
||||
text.Text = ((int)(slider.ScaledValue)).ToString();
|
||||
}
|
||||
}
|
||||
protected override void update()
|
||||
|
@ -32,7 +30,7 @@ namespace SHADE_Scripting.UI
|
|||
if(slider != null && text != null)
|
||||
{
|
||||
|
||||
text.Text = ((int)(slider.GetValue() * (maxValue - minValue) + minValue)).ToString();
|
||||
text.Text = ((int)(slider.ScaledValue)).ToString();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -78,8 +78,12 @@ float CalcShadowValue (sampler2D shadowMap, vec4 worldSpaceFragPos, mat4 lightPV
|
|||
float pMax = LinStep (variance / (variance + (d * d)), 0.9f, 1.0f);
|
||||
return min (max (p, pMax), 1.0f);
|
||||
}
|
||||
else if (fragPosLightPOV.z > 1.0f)
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
else
|
||||
return 1.0f;
|
||||
return 0.3f;
|
||||
// return step (fragPosLightPOV.z, );
|
||||
}
|
||||
|
||||
|
@ -125,7 +129,7 @@ void main()
|
|||
vec3 dLightNormalized = normalize (DirLightData.dLightData[i].direction);
|
||||
|
||||
// Get diffuse strength
|
||||
float diffuseStrength = max (0, dot (dLightNormalized, normalView));
|
||||
float diffuseStrength = max (0, dot (-dLightNormalized, normalView));
|
||||
|
||||
// Calculate the fragment color
|
||||
fragColor += DirLightData.dLightData[i].diffuseColor.rgb * diffuseStrength.rrr * pixelDiffuse;
|
||||
|
|
Binary file not shown.
|
@ -78,8 +78,14 @@ void main()
|
|||
outEntityID = In2.eid;
|
||||
lightLayerIndices = In2.lightLayerIndex;
|
||||
|
||||
float vpHeight = float (In2.screenSpacePos.y) - MatProp.data[In2.materialIndex].highlightPosition;
|
||||
vpHeight = float (int (vpHeight) % genericDataBuffer.data.viewportHeight);
|
||||
// float vpHeight = float (In2.screenSpacePos.y) - MatProp.data[In2.materialIndex].highlightPosition;
|
||||
// bring the frame of reference to the object's screen space pos
|
||||
int scale = 470;
|
||||
float vpHeight = float (In2.screenSpacePos.y);
|
||||
float relativePos = float(int (-MatProp.data[In2.materialIndex].highlightPosition) % scale) - float (scale / 2);
|
||||
vpHeight += relativePos;
|
||||
|
||||
// vpHeight = float (int (vpHeight) % genericDataBuffer.data.viewportHeight);
|
||||
float scanlineScale = MatProp.data[In2.materialIndex].thickness * (1.0f - In2.screenSpacePos.z) * 100.0f;
|
||||
|
||||
float lowerLimit = vpHeight - scanlineScale;
|
||||
|
|
Binary file not shown.
|
@ -3,7 +3,7 @@
|
|||
#extension GL_ARB_shading_language_420pack : enable
|
||||
#extension GL_EXT_nonuniform_qualifier : require
|
||||
|
||||
layout (input_attachment_index = 0, set = 3, binding = 0) uniform subpassInput sceneTexture;
|
||||
layout (input_attachment_index = 0, set = 0, binding = 0) uniform subpassInput sceneTexture;
|
||||
|
||||
|
||||
layout(location = 0) out vec4 fragColor;
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
Name: TX_cutscene_04a
|
||||
ID: 51238312
|
||||
Type: 3
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
Name: TX_cutscene_04b
|
||||
ID: 61471971
|
||||
Type: 3
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
Name: TX_cutscene_04c
|
||||
ID: 58217538
|
||||
Type: 3
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
Name: TX_cutscene_05a
|
||||
ID: 61980534
|
||||
Type: 3
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
Name: TX_cutscene_05b
|
||||
ID: 51561286
|
||||
Type: 3
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
Name: MainMenuBG
|
||||
ID: 58181851
|
||||
Type: 3
|
|
@ -201,8 +201,6 @@ namespace Sandbox
|
|||
|
||||
#ifdef SHEDITOR
|
||||
if(editor->editorState == SHEditor::State::PLAY)
|
||||
#else
|
||||
window.ClipMouseCursor();
|
||||
#endif
|
||||
SHSceneManager::SceneUpdate(0.016f);
|
||||
#ifdef SHEDITOR
|
||||
|
|
|
@ -54,13 +54,42 @@ namespace SHADE
|
|||
|
||||
denseListener = &SHComponentManager::GetDense<SHAudioListenerComponent>();
|
||||
fmodStudioSystem->getCoreSystem(&fmodSystem);
|
||||
fmodSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0);
|
||||
result = fmodStudioSystem->initialize(AUDIO_SYS_MAX_CHANNELS, AUDIO_SYS_MAX_CHANNELS, FMOD_STUDIO_INIT_NORMAL | FMOD_INIT_NORMAL, extraDriverData);
|
||||
|
||||
result = fmodSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_5POINT1, 0);
|
||||
ErrorCheck();
|
||||
result = fmodSystem->setOutput(FMOD_OUTPUTTYPE_AUDIO3D);
|
||||
if(result != FMOD_OK)
|
||||
{
|
||||
result = fmodSystem->setOutput(FMOD_OUTPUTTYPE_WINSONIC);
|
||||
if (result == FMOD_OK)
|
||||
{
|
||||
result = fmodSystem->setSoftwareFormat(0, FMOD_SPEAKERMODE_7POINT1POINT4, 0);
|
||||
ErrorCheck();
|
||||
}
|
||||
}
|
||||
|
||||
int numDrivers{};
|
||||
result = fmodSystem->getNumDrivers(&numDrivers);
|
||||
if(numDrivers == 0)
|
||||
{
|
||||
fmodSystem->setDSPBufferSize(512, 4);
|
||||
fmodSystem->setOutput(FMOD_OUTPUTTYPE_AUTODETECT);
|
||||
}
|
||||
FMOD_OUTPUTTYPE outputType{};
|
||||
fmodSystem->getSoftwareFormat(0, &speakerMode, 0);
|
||||
fmodSystem->getOutput(&outputType);
|
||||
|
||||
FMOD_STUDIO_INITFLAGS studioInitFlags = FMOD_STUDIO_INIT_NORMAL;
|
||||
FMOD_INITFLAGS coreInitFlags = FMOD_INIT_NORMAL | FMOD_INIT_3D_RIGHTHANDED;
|
||||
#ifdef _DEBUG
|
||||
studioInitFlags |= FMOD_STUDIO_INIT_LIVEUPDATE;
|
||||
coreInitFlags |= FMOD_INIT_PROFILE_ENABLE;
|
||||
#endif
|
||||
|
||||
result = fmodStudioSystem->initialize(AUDIO_SYS_MAX_CHANNELS, studioInitFlags, coreInitFlags, extraDriverData);
|
||||
|
||||
ErrorCheck();
|
||||
|
||||
fmodSystem->setSoftwareFormat(0, speakerMode, 0);
|
||||
|
||||
result = fmodSystem->createChannelGroup("SFX", &sfxChannelGroup);
|
||||
ErrorCheck();
|
||||
|
||||
|
@ -104,6 +133,10 @@ namespace SHADE
|
|||
const ReceiverPtr ON_PAUSE_RECEIVER_PTR = std::dynamic_pointer_cast<SHEventReceiver>(ON_PAUSE_RECEIVER);
|
||||
SHEventManager::SubscribeTo(SH_EDITOR_ON_PAUSE_EVENT, ON_PAUSE_RECEIVER_PTR);
|
||||
|
||||
const std::shared_ptr ON_SCENE_EXIT_RECEIVER{ std::make_shared<SHEventReceiverSpec<SHAudioSystem>>(this, &SHAudioSystem::onSceneExit) };
|
||||
const ReceiverPtr ON_SCENE_EXIT_RECEIVER_PTR = std::dynamic_pointer_cast<SHEventReceiver>(ON_SCENE_EXIT_RECEIVER);
|
||||
SHEventManager::SubscribeTo(SH_SCENE_EXIT_POST, ON_SCENE_EXIT_RECEIVER_PTR);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -145,7 +178,9 @@ namespace SHADE
|
|||
FMOD_3D_ATTRIBUTES attribs{ { 0 } };
|
||||
SHVec3 pos = camComponent->GetPosition();
|
||||
SHVec3 forward, up, right;
|
||||
|
||||
camSystem->GetCameraAxis(*camComponent, forward, right, up);
|
||||
up *= -1.0f;
|
||||
attribs.position = { pos.x, pos.y, pos.z };
|
||||
attribs.forward = { forward.x, forward.y, forward.z };
|
||||
attribs.up = { up.x, up.y, up.z };
|
||||
|
@ -156,7 +191,7 @@ namespace SHADE
|
|||
auto [begin, end] = audioClipLibrary.GetDenseAccess();
|
||||
for (auto& it = begin; it != end; ++it)
|
||||
{
|
||||
if(it->instance && (it->transformRef != MAX_EID))
|
||||
if(it->instance && it->instance->isValid() && (it->transformRef != MAX_EID))
|
||||
{
|
||||
if(SHTransformComponent* transformComponent = SHComponentManager::GetComponent_s<SHTransformComponent>(it->transformRef))
|
||||
{
|
||||
|
@ -165,11 +200,13 @@ namespace SHADE
|
|||
SHQuaternion worldOrientation = transformComponent->GetWorldOrientation();
|
||||
SHVec3 orientatedFoward = (worldOrientation * SHQuaternion::FromEuler(SHVec3::Forward) * SHQuaternion::Conjugate(worldOrientation)).ToEuler();
|
||||
SHVec3 orientatedUp = (worldOrientation * SHQuaternion::FromEuler(SHVec3::Up) * SHQuaternion::Conjugate(worldOrientation)).ToEuler();
|
||||
|
||||
orientatedFoward = SHVec3::Normalise(orientatedFoward);
|
||||
orientatedUp = SHVec3::Normalise(orientatedUp);
|
||||
attribs.position = {pos.x, pos.y, pos.z};
|
||||
attribs.forward = {orientatedFoward.x, orientatedFoward.y, orientatedFoward.z};
|
||||
attribs.up = {orientatedUp.x, orientatedUp.y, orientatedUp.z};
|
||||
it->instance->set3DAttributes(&attribs);
|
||||
result = it->instance->set3DAttributes(&attribs);
|
||||
ErrorCheck();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -656,6 +693,15 @@ namespace SHADE
|
|||
}
|
||||
}
|
||||
|
||||
void SHAudioSystem::SetParameterWithLabel(const char* path, const char* label)
|
||||
{
|
||||
result = fmodStudioSystem->setParameterByNameWithLabel(path, label);
|
||||
if (result != FMOD_OK)
|
||||
{
|
||||
ErrorCheck();
|
||||
}
|
||||
}
|
||||
|
||||
void AudioClip::Play()
|
||||
{
|
||||
if(!instance)
|
||||
|
@ -734,12 +780,16 @@ namespace SHADE
|
|||
}
|
||||
}
|
||||
|
||||
//void AudioClip::SetParameterLabel(const char* paramName, const char* label)
|
||||
//{
|
||||
// if (!instance)
|
||||
// return;
|
||||
// instance->setParameterByNameWithLabel(paramName, label);
|
||||
//}
|
||||
void AudioClip::SetParameterWithLabel(const char* paramName, const char* label)
|
||||
{
|
||||
if (!instance)
|
||||
return;
|
||||
FMOD_RESULT result = instance->setParameterByNameWithLabel(paramName, label);
|
||||
if (result != FMOD_OK)
|
||||
{
|
||||
SHLOG_ERROR("Audio system error: {}", FMOD_ErrorString(result))
|
||||
}
|
||||
}
|
||||
|
||||
float AudioClip::GetParameterValue(const char* paramName)
|
||||
{
|
||||
|
@ -783,6 +833,18 @@ namespace SHADE
|
|||
|
||||
return onStopEvent->handle;
|
||||
}
|
||||
|
||||
SHEventHandle SHAudioSystem::onSceneExit(SHEventPtr onSceneExitEvent)
|
||||
{
|
||||
auto [begin, end] = audioClipLibrary.GetDenseAccess();
|
||||
for (auto& it = begin; it != end; ++it)
|
||||
{
|
||||
it->instance->release();
|
||||
}
|
||||
|
||||
return onSceneExitEvent->handle;
|
||||
}
|
||||
|
||||
SHEventHandle SHAudioSystem::onPlay(SHEventPtr onStopEvent)
|
||||
{
|
||||
if(GetPaused())
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace SHADE
|
|||
void SetPause(bool pause);
|
||||
bool IsPaused();
|
||||
void SetParameter(const char* paramName, float value);
|
||||
//void SetParameterLabel(const char* paramName, const char* label);
|
||||
void SetParameterWithLabel(const char* paramName, const char* label);
|
||||
float GetParameterValue(const char* paramName);
|
||||
float GetVolume();
|
||||
void SetVolume(float volume);
|
||||
|
@ -94,6 +94,7 @@ namespace SHADE
|
|||
|
||||
float GetParameterValue(const char* path);
|
||||
void SetParameter(const char* path, float value);
|
||||
void SetParameterWithLabel(const char* path, const char* label);
|
||||
|
||||
private:
|
||||
FMOD::Studio::System* fmodStudioSystem;
|
||||
|
@ -122,6 +123,7 @@ namespace SHADE
|
|||
SHEventHandle onPlay(SHEventPtr onStopEvent);
|
||||
SHEventHandle onStop(SHEventPtr onStopEvent);
|
||||
SHEventHandle onPause(SHEventPtr onStopEvent);
|
||||
SHEventHandle onSceneExit(SHEventPtr onSceneExitEvent);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -9,9 +9,7 @@
|
|||
|
||||
namespace SHADE
|
||||
{
|
||||
|
||||
class SHBox;
|
||||
class SHRay;
|
||||
struct SHRay;
|
||||
|
||||
class SH_API SHCameraArmComponent final: public SHComponent
|
||||
{
|
||||
|
|
|
@ -272,6 +272,13 @@ namespace SHADE
|
|||
if (arm->isActive == true)
|
||||
{
|
||||
camera.offset = arm->GetOffset();
|
||||
|
||||
SHVec3 tOffset = arm->GetTargetOffset();
|
||||
|
||||
|
||||
tOffset = SHVec3::RotateY(tOffset, SHMath::DegreesToRadians(arm->GetYaw()));
|
||||
|
||||
|
||||
if (arm->lookAtCameraOrigin)
|
||||
CameraLookAt(camera, camera.position + arm->GetTargetOffset());
|
||||
|
||||
|
@ -559,7 +566,7 @@ namespace SHADE
|
|||
}
|
||||
|
||||
#else
|
||||
return SHVec2{ GetDirector(index)->GetWidth(),GetDirector(index)->GetHeight() };
|
||||
return SHVec2{ GetDirector(index)->GetWidth(),GetDirector(index)->GetWidth() / screenAspectRatio };
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -380,10 +380,14 @@ namespace SHADE
|
|||
break;
|
||||
case AssetType::MESH: break;
|
||||
case AssetType::SCENE:
|
||||
if (editor->LoadScene(asset->id))
|
||||
{
|
||||
editor->editorConfig->workingSceneID = asset->id;
|
||||
}
|
||||
{
|
||||
if(editor->LoadScene(asset->id))
|
||||
{
|
||||
#ifdef SHEDITOR
|
||||
editor->editorConfig->workingSceneID = asset->id;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
break;
|
||||
case AssetType::PREFAB: break;
|
||||
case AssetType::MATERIAL:
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include "Editor/SHEditorWidgets.hpp"
|
||||
#include "Graphics/MiddleEnd/Interface/SHRenderable.h"
|
||||
#include "Graphics/MiddleEnd/Lights/SHLightComponent.h"
|
||||
#include "Physics/Interface/SHRigidBodyComponent.h"
|
||||
#include "Physics/Interface/SHColliderComponent.h"
|
||||
#include "Reflection/SHReflectionMetadata.h"
|
||||
#include "Resource/SHResourceManager.h"
|
||||
|
@ -25,6 +26,7 @@
|
|||
#include "Animation/SHAnimatorComponent.h"
|
||||
#include "Physics/Collision/Shapes/SHBox.h"
|
||||
#include "Physics/Collision/Shapes/SHSphere.h"
|
||||
#include "Physics/Collision/Shapes/SHCapsule.h"
|
||||
#include "../SHEditorWindowManager.h"
|
||||
#include "../AssetBrowser/SHAssetBrowser.h"
|
||||
#include "Graphics/MiddleEnd/TrajectoryRendering/SHTrajectoryRenderableComponent.h"
|
||||
|
@ -264,6 +266,10 @@ namespace SHADE
|
|||
if(rbType == SHRigidBodyComponent::Type::DYNAMIC) //Dynamic only fields
|
||||
{
|
||||
SHEditorWidgets::CheckBox("Use Gravity", [component]{return component->IsGravityEnabled();}, [component](bool const& value){component->SetGravityEnabled(value);}, "Gravity");
|
||||
|
||||
if (component->IsGravityEnabled())
|
||||
SHEditorWidgets::DragFloat("Gravity Scale", [component] {return component->GetGravityScale(); }, [component](float const& value) {component->SetGravityScale(value); }, "Gravity Scale");
|
||||
|
||||
//SHEditorWidgets::DragFloat("Mass", [component] {return component->GetMass(); }, [component](float const& value) {component->SetMass(value); }, "Mass");
|
||||
}
|
||||
if (rbType == SHRigidBodyComponent::Type::DYNAMIC || rbType == SHRigidBodyComponent::Type::KINEMATIC) //Dynamic or Kinematic only fields
|
||||
|
@ -372,12 +378,26 @@ namespace SHADE
|
|||
(
|
||||
"Radius",
|
||||
[sphereShape] { return sphereShape->GetRelativeRadius(); },
|
||||
[sphereShape](float const& value) { sphereShape->SetRelativeRadius(value); });
|
||||
[sphereShape](float const& value) { sphereShape->SetRelativeRadius(value); }
|
||||
);
|
||||
}
|
||||
else if (collisionShape->GetType() == SHCollisionShape::Type::CAPSULE)
|
||||
{
|
||||
SHEditorWidgets::BeginPanel(std::format("{} Capsule #{}", ICON_MD_CIRCLE, i).data(), { ImGui::GetContentRegionAvail().x, ImGui::GetContentRegionAvail().y });
|
||||
auto* capsuleShape = dynamic_cast<SHCapsule*>(collisionShape);
|
||||
SHEditorWidgets::DragFloat
|
||||
(
|
||||
"Radius",
|
||||
[capsuleShape] { return capsuleShape->GetRelativeRadius(); },
|
||||
[capsuleShape](float const& value) { capsuleShape->SetRelativeRadius(value); }
|
||||
);
|
||||
SHEditorWidgets::DragFloat
|
||||
(
|
||||
"Height",
|
||||
[capsuleShape] { return capsuleShape->GetRelativeHeight(); },
|
||||
[capsuleShape](float const& value) { capsuleShape->SetRelativeHeight(value); }
|
||||
);
|
||||
}
|
||||
//else if (collisionShape->GetType() == SHCollisionShape::Type::CAPSULE)
|
||||
//{
|
||||
|
||||
//}
|
||||
|
||||
{
|
||||
SHEditorWidgets::CheckBox("Is Trigger", [collisionShape] { return collisionShape->IsTrigger(); }, [collisionShape](bool value) { collisionShape->SetIsTrigger(value); });
|
||||
|
@ -420,25 +440,20 @@ namespace SHADE
|
|||
|
||||
if (ImGui::BeginMenu("Add Collider"))
|
||||
{
|
||||
int newColl = -1;
|
||||
int newCollider = -1;
|
||||
|
||||
if (ImGui::Selectable("Box Collider"))
|
||||
{
|
||||
newColl = component->AddBoxCollisionShape(SHVec3::One);
|
||||
newCollider = component->AddBoxCollisionShape(SHVec3::One);
|
||||
}
|
||||
if (ImGui::Selectable("Sphere Collider"))
|
||||
{
|
||||
newColl = component->AddSphereCollisionShape(1.0f);
|
||||
newCollider = component->AddSphereCollisionShape(1.0f);
|
||||
}
|
||||
if (ImGui::Selectable("Capsule Collider"))
|
||||
{
|
||||
newCollider = component->AddCapsuleCollisionShape(1.0f, 2.0f);
|
||||
}
|
||||
|
||||
//No idea why this doesn't work
|
||||
//if (newColl > 0)
|
||||
//{
|
||||
// auto newCollisionShape = component->GetCollisionShape(newColl);
|
||||
// auto prevCollisionShapeInSeq = component->GetCollisionShape(newColl - 1);
|
||||
// newCollisionShape.SetCollisionTag(SHCollisionTagMatrix::GetTag(prevCollisionShapeInSeq.GetCollisionTag().GetName()));
|
||||
|
||||
//}
|
||||
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "Serialization/SHSerialization.h"
|
||||
#include "Serialization/Configurations/SHConfigurationManager.h"
|
||||
#include "Editor/EditorWindow/SHEditorWindowManager.h"
|
||||
#include "Physics/System/SHPhysicsSystem.h"
|
||||
#include "Physics/System/SHPhysicsDebugDrawSystem.h"
|
||||
#include "Camera/SHCameraSystem.h"
|
||||
#include "Tools/Utilities/SHClipboardUtilities.h"
|
||||
|
@ -359,21 +360,63 @@ namespace SHADE
|
|||
{
|
||||
if (ImGui::BeginMenu("Physics Settings"))
|
||||
{
|
||||
if (auto* physicsSystem = SHSystemManager::GetSystem<SHPhysicsSystem>())
|
||||
{
|
||||
SHEditorWidgets::DragVec3
|
||||
(
|
||||
"Gravity", { "X", "Y", "Z" },
|
||||
[physicsSystem] {return physicsSystem->GetGravity(); },
|
||||
[physicsSystem](SHVec3 const& value) { physicsSystem->SetGravity(value); }
|
||||
, false, "Global Gravity", 0.1f, "%.3f", 0.0f, 0.0f
|
||||
);
|
||||
|
||||
SHEditorWidgets::SliderScalar<uint16_t>
|
||||
(
|
||||
"Velocity Iterations", ImGuiDataType_U16, (uint16_t)1, (uint16_t)32,
|
||||
[physicsSystem] { return physicsSystem->GetNumVelocityIterations(); },
|
||||
[physicsSystem](uint16_t value) { physicsSystem->SetNumVelocityIterations(value); },
|
||||
"Number of times velocity is solved per collision. Higher values increase precision at the cost of performance.",
|
||||
"%zu"
|
||||
);
|
||||
|
||||
SHEditorWidgets::SliderScalar<uint16_t>
|
||||
(
|
||||
"Position Iterations", ImGuiDataType_U16, (uint16_t)1, (uint16_t)32,
|
||||
[physicsSystem] { return physicsSystem->GetNumPositionIterations(); },
|
||||
[physicsSystem](uint16_t value) { physicsSystem->SetNumPositionIterations(value); },
|
||||
"Number of times position is solved per collision. Higher values increase precision at the cost of performance.",
|
||||
"%zu"
|
||||
);
|
||||
|
||||
SHEditorWidgets::CheckBox
|
||||
(
|
||||
"Sleeping Enabled",
|
||||
[physicsSystem] { return physicsSystem->IsSleepingEnabled(); },
|
||||
[physicsSystem](bool value) { physicsSystem->EnableSleeping(value); },
|
||||
"If bodies are allowed to sleep. Sleeping increases performance of the simulation and should be left enabled."
|
||||
);
|
||||
}
|
||||
|
||||
if (auto* physicsDebugDraw = SHSystemManager::GetSystem<SHPhysicsDebugDrawSystem>())
|
||||
{
|
||||
bool drawColliders = physicsDebugDraw->GetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::COLLIDERS);
|
||||
if (ImGui::Checkbox("Draw Colliders", &drawColliders))
|
||||
physicsDebugDraw->SetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::COLLIDERS, drawColliders);
|
||||
if(ImGui::CollapsingHeader("Debug Draw", ImGuiTreeNodeFlags_DefaultOpen))
|
||||
{
|
||||
bool drawColliders = physicsDebugDraw->GetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::COLLIDERS);
|
||||
if (ImGui::Checkbox("Draw Colliders", &drawColliders))
|
||||
physicsDebugDraw->SetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::COLLIDERS, drawColliders);
|
||||
|
||||
bool drawContactPoints = physicsDebugDraw->GetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::CONTACTS);
|
||||
if (ImGui::Checkbox("Draw Contact Points", &drawContactPoints))
|
||||
physicsDebugDraw->SetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::CONTACTS, drawContactPoints);
|
||||
bool drawContactPoints = physicsDebugDraw->GetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::CONTACTS);
|
||||
if (ImGui::Checkbox("Draw Contact Points", &drawContactPoints))
|
||||
physicsDebugDraw->SetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::CONTACTS, drawContactPoints);
|
||||
|
||||
bool drawRays = physicsDebugDraw->GetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::RAYCASTS);
|
||||
if (ImGui::Checkbox("Draw Rays", &drawRays))
|
||||
physicsDebugDraw->SetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::RAYCASTS, drawRays);
|
||||
bool drawRays = physicsDebugDraw->GetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::RAYCASTS);
|
||||
if (ImGui::Checkbox("Draw Rays", &drawRays))
|
||||
physicsDebugDraw->SetFlagState(SHPhysicsDebugDrawSystem::DebugDrawFlags::RAYCASTS, drawRays);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
#include "Scene/SHSceneManager.h"
|
||||
#include "Serialization/SHSerialization.h"
|
||||
#include "Tools/SHDebugDraw.h"
|
||||
#include "Input/SHInputManager.h"
|
||||
|
||||
RTTR_REGISTRATION
|
||||
{
|
||||
|
@ -600,8 +601,10 @@ namespace SHADE
|
|||
{
|
||||
//Load the scene
|
||||
sceneToLoad = 0;
|
||||
#ifdef SHEDITOR
|
||||
editorConfig->workingSceneID = assetID;
|
||||
SHConfigurationManager::SaveEditorConfig();
|
||||
#endif
|
||||
SHSceneManager::RestartScene(assetID);
|
||||
return true;
|
||||
}
|
||||
|
@ -624,6 +627,7 @@ namespace SHADE
|
|||
}
|
||||
else if (editorState == State::PAUSE)
|
||||
{
|
||||
SHWindow::SetMouseVisible(prevCursorVisibleState);
|
||||
editorState = State::PLAY;
|
||||
}
|
||||
}
|
||||
|
@ -637,6 +641,9 @@ namespace SHADE
|
|||
.previousState = editorState
|
||||
};
|
||||
editorState = State::PAUSE;
|
||||
SHInputManager::SetMouseCentering(false);
|
||||
prevCursorVisibleState = SHWindow::GetMouseVisible();
|
||||
SHWindow::SetMouseVisible(true);
|
||||
SHEventManager::BroadcastEvent<SHEditorStateChangeEvent>(STATE_CHANGE_EVENT, SH_EDITOR_ON_PAUSE_EVENT);
|
||||
}
|
||||
|
||||
|
@ -648,6 +655,9 @@ namespace SHADE
|
|||
{
|
||||
.previousState = editorState
|
||||
};
|
||||
SHWindow::SetMouseVisible(true);
|
||||
prevCursorVisibleState = true;
|
||||
SHInputManager::SetMouseCentering(false);
|
||||
editorState = SHEditor::State::STOP;
|
||||
SHCommandManager::SwapStacks();
|
||||
SHEventManager::BroadcastEvent<SHEditorStateChangeEvent>(STATE_CHANGE_EVENT, SH_EDITOR_ON_STOP_EVENT);
|
||||
|
|
|
@ -154,7 +154,7 @@ namespace SHADE
|
|||
SHEventHandle onEditorStateChanged(SHEventPtr eventPtr);
|
||||
|
||||
bool isUnsavedChangesPromptOpen = false;
|
||||
|
||||
bool prevCursorVisibleState = true;
|
||||
static constexpr std::string_view sceneNamePromptName = "Save scene as...";
|
||||
static constexpr std::string_view unsavedChangesPromptName = "Unsaved Changes";
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@ namespace SHADE
|
|||
const bool CHANGED = ImGui::InputText("##", &buffer[0], TEXT_FIELD_MAX_LENGTH);
|
||||
if (CHANGED)
|
||||
{
|
||||
value = std::string(buffer.data(), buffer.data() + TEXT_FIELD_MAX_LENGTH);
|
||||
value = std::string(buffer.data(), buffer.data() + std::strlen(buffer.data()));
|
||||
}
|
||||
return CHANGED;
|
||||
}
|
||||
|
|
|
@ -37,6 +37,8 @@ namespace SHADE
|
|||
{
|
||||
prevFrameTime = std::chrono::high_resolution_clock::now();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//TODO Legacy code. Delete soon
|
||||
|
|
|
@ -375,15 +375,15 @@ namespace SHADE
|
|||
const SHVec3 LOCAL_FORWARD = SHVec3::Rotate(SHVec3::Forward, rotation);
|
||||
|
||||
// Rotate the circle
|
||||
SHQuaternion circleOrientation = SHQuaternion::FromEuler(SHVec3(SHMath::DegreesToRadians(90.0), 0.0f, 0.0f)) * rotation;
|
||||
SHQuaternion circleOrientation = SHQuaternion::FromEuler(SHVec3(SHMath::DegreesToRadians(90.0f), 0.0f, 0.0f)) * rotation;
|
||||
|
||||
// Compute top and bottom of the cylinder
|
||||
const SHVec3 HALF_UP = LOCAL_UP * (height * 0.5f - radius);
|
||||
const SHVec3 HALF_UP = LOCAL_UP * (height * 0.5f);
|
||||
const SHVec3 TOP_POS = position + HALF_UP;
|
||||
const SHVec3 BOT_POS = position - HALF_UP;
|
||||
|
||||
// Render circles
|
||||
const SHVec3 CIRCLE_SCALE = SHVec3(radius * 2.0f, radius * 2.0, radius * 2.0);
|
||||
const SHVec3 CIRCLE_SCALE = SHVec3(radius * 2.0f, radius * 2.0f, radius * 2.0f);
|
||||
drawCircle(meshBatch, SHMatrix::Transform(TOP_POS, circleOrientation, CIRCLE_SCALE), color);
|
||||
drawCircle(meshBatch, SHMatrix::Transform(BOT_POS, circleOrientation, CIRCLE_SCALE), color);
|
||||
|
||||
|
@ -394,7 +394,7 @@ namespace SHADE
|
|||
drawLine(lineBatch, TOP_POS - LOCAL_FORWARD * radius, BOT_POS - LOCAL_FORWARD * radius, color);
|
||||
|
||||
// Render caps
|
||||
const SHVec3 RADIUS_SCALE = SHVec3(radius * 2.0, radius * 2.0f, radius * 2.0);
|
||||
const SHVec3 RADIUS_SCALE = SHVec3(radius * 2.0f, radius * 2.0f, radius * 2.0f);
|
||||
const SHMatrix TOP_CAP_MAT = SHMatrix::Transform(TOP_POS, rotation, RADIUS_SCALE);
|
||||
drawMesh
|
||||
(
|
||||
|
@ -404,7 +404,7 @@ namespace SHADE
|
|||
const SHMatrix BOT_CAP_MAT = SHMatrix::Transform
|
||||
(
|
||||
BOT_POS,
|
||||
SHQuaternion::FromEuler(SHVec3(SHMath::DegreesToRadians(180.0), 0.0f, 0.0f)) * rotation,
|
||||
SHQuaternion::FromEuler(SHVec3(SHMath::DegreesToRadians(180.0f), 0.0f, 0.0f)) * rotation,
|
||||
RADIUS_SCALE
|
||||
);
|
||||
drawMesh
|
||||
|
|
|
@ -555,6 +555,11 @@ namespace SHADE
|
|||
// Create buffer for generic data and attach to descriptor set
|
||||
graphicsGenericData.Init(device, genericAndTextureDescSet);
|
||||
|
||||
auto windowDims = window->GetWindowSize();
|
||||
|
||||
graphicsGenericData.SetViewportWidth(windowDims.first);
|
||||
graphicsGenericData.SetViewportHeight(windowDims.second);
|
||||
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
@ -669,7 +674,7 @@ namespace SHADE
|
|||
#endif
|
||||
}
|
||||
|
||||
static bool shadowAdded = false;
|
||||
//static bool shadowAdded = false;
|
||||
|
||||
//if (shadowAdded == false && SHInputManager::GetKey(SHInputManager::SH_KEYCODE::B))
|
||||
//{
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue