ColorEase struct, new spritesheet
This commit is contained in:
parent
58238f0484
commit
e1d55fce67
|
|
@ -661,7 +661,7 @@ SpriteRenderer:
|
||||||
m_FlipX: 0
|
m_FlipX: 0
|
||||||
m_FlipY: 0
|
m_FlipY: 0
|
||||||
m_DrawMode: 2
|
m_DrawMode: 2
|
||||||
m_Size: {x: 100, y: 0.47}
|
m_Size: {x: 100, y: 0.45}
|
||||||
m_AdaptiveModeThreshold: 0.5
|
m_AdaptiveModeThreshold: 0.5
|
||||||
m_SpriteTileMode: 0
|
m_SpriteTileMode: 0
|
||||||
m_WasSpriteAssigned: 1
|
m_WasSpriteAssigned: 1
|
||||||
|
|
@ -761,6 +761,8 @@ MonoBehaviour:
|
||||||
scheduledInputs: []
|
scheduledInputs: []
|
||||||
canGO: {fileID: 8575099813453766973}
|
canGO: {fileID: 8575099813453766973}
|
||||||
blackout: {fileID: 6779319467216197044}
|
blackout: {fileID: 6779319467216197044}
|
||||||
|
alarmMat: {fileID: 2100000, guid: cffd715f1564d4440881c6fe148baa9c, type: 2}
|
||||||
|
bgPlaneSR: {fileID: 5948254459511631684}
|
||||||
conveyorBeltAnim: {fileID: 3839135881600344077}
|
conveyorBeltAnim: {fileID: 3839135881600344077}
|
||||||
alarmAnim: {fileID: 3637100343128600021}
|
alarmAnim: {fileID: 3637100343128600021}
|
||||||
dingAnim: {fileID: 7386547292618809648}
|
dingAnim: {fileID: 7386547292618809648}
|
||||||
|
|
@ -1087,12 +1089,8 @@ MonoBehaviour:
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
startBeat: 0
|
startBeat: 0
|
||||||
|
parentAnim: {fileID: 0}
|
||||||
anim: {fileID: 5817211847633092072}
|
anim: {fileID: 5817211847633092072}
|
||||||
sr: {fileID: 8380232789943656751}
|
|
||||||
canSprites:
|
|
||||||
- {fileID: 947544752, guid: 5a8f2715082952e4b804a4b950cf25d4, type: 3}
|
|
||||||
- {fileID: -1665090095, guid: 5a8f2715082952e4b804a4b950cf25d4, type: 3}
|
|
||||||
cannedSprite: {fileID: 1930332746, guid: 5a8f2715082952e4b804a4b950cf25d4, type: 3}
|
|
||||||
--- !u!95 &5817211847633092072
|
--- !u!95 &5817211847633092072
|
||||||
Animator:
|
Animator:
|
||||||
serializedVersion: 5
|
serializedVersion: 5
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 164 KiB |
|
|
@ -47,7 +47,7 @@ TextureImporter:
|
||||||
spriteMeshType: 1
|
spriteMeshType: 1
|
||||||
alignment: 0
|
alignment: 0
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
spritePixelsToUnits: 215
|
spritePixelsToUnits: 197
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
alphaUsage: 1
|
alphaUsage: 1
|
||||||
|
|
@ -108,10 +108,10 @@ TextureImporter:
|
||||||
name: Cannery_0
|
name: Cannery_0
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 139
|
x: 129
|
||||||
y: 1886
|
y: 1907
|
||||||
width: 222
|
width: 206
|
||||||
height: 178
|
height: 116
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -129,10 +129,10 @@ TextureImporter:
|
||||||
name: Cannery_1
|
name: Cannery_1
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 408
|
x: 378
|
||||||
y: 1886
|
y: 1906
|
||||||
width: 222
|
width: 206
|
||||||
height: 178
|
height: 141
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -150,10 +150,10 @@ TextureImporter:
|
||||||
name: Cannery_2
|
name: Cannery_2
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 659
|
x: 610
|
||||||
y: 1887
|
y: 1907
|
||||||
width: 223
|
width: 207
|
||||||
height: 178
|
height: 165
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -171,10 +171,10 @@ TextureImporter:
|
||||||
name: Cannery_3
|
name: Cannery_3
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 1042
|
x: 965
|
||||||
y: 1868
|
y: 1893
|
||||||
width: 188
|
width: 174
|
||||||
height: 104
|
height: 90
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -192,10 +192,10 @@ TextureImporter:
|
||||||
name: Cannery_4
|
name: Cannery_4
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 1958
|
x: 1784
|
||||||
y: 352
|
y: 569
|
||||||
width: 212
|
width: 175
|
||||||
height: 1659
|
height: 1459
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -213,10 +213,10 @@ TextureImporter:
|
||||||
name: Cannery_5
|
name: Cannery_5
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 2354
|
x: 2172
|
||||||
y: 352
|
y: 1559
|
||||||
width: 212
|
width: 177
|
||||||
height: 1659
|
height: 371
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -234,10 +234,10 @@ TextureImporter:
|
||||||
name: Cannery_9
|
name: Cannery_9
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 1035
|
x: 963
|
||||||
y: 1025
|
y: 1114
|
||||||
width: 776
|
width: 709
|
||||||
height: 680
|
height: 619
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -255,10 +255,10 @@ TextureImporter:
|
||||||
name: Cannery_16
|
name: Cannery_16
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 712
|
x: 659
|
||||||
y: 505
|
y: 627
|
||||||
width: 243
|
width: 225
|
||||||
height: 370
|
height: 323
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -276,12 +276,12 @@ TextureImporter:
|
||||||
name: Cannery_17
|
name: Cannery_17
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 1067
|
x: 483
|
||||||
y: 502
|
y: 511
|
||||||
width: 243
|
width: 224
|
||||||
height: 370
|
height: 93
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0, y: 0}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
outline: []
|
outline: []
|
||||||
physicsShape: []
|
physicsShape: []
|
||||||
|
|
@ -297,12 +297,12 @@ TextureImporter:
|
||||||
name: Cannery_18
|
name: Cannery_18
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 1439
|
x: 122
|
||||||
y: 508
|
y: 585
|
||||||
width: 243
|
width: 251
|
||||||
height: 370
|
height: 167
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0, y: 0}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
outline: []
|
outline: []
|
||||||
physicsShape: []
|
physicsShape: []
|
||||||
|
|
@ -318,10 +318,10 @@ TextureImporter:
|
||||||
name: Cannery_21
|
name: Cannery_21
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 224
|
x: 208
|
||||||
y: 86
|
y: 240
|
||||||
width: 2218
|
width: 2054
|
||||||
height: 206
|
height: 190
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -339,10 +339,10 @@ TextureImporter:
|
||||||
name: Cannery_15
|
name: Cannery_15
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 446
|
x: 436
|
||||||
y: 695
|
y: 777
|
||||||
width: 93
|
width: 87
|
||||||
height: 147
|
height: 136
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -360,10 +360,10 @@ TextureImporter:
|
||||||
name: Cannery_6
|
name: Cannery_6
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 123
|
x: 114
|
||||||
y: 1048
|
y: 1130
|
||||||
width: 754
|
width: 699
|
||||||
height: 762
|
height: 706
|
||||||
alignment: 0
|
alignment: 0
|
||||||
pivot: {x: 0.5, y: 0.5}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
|
@ -377,6 +377,174 @@ TextureImporter:
|
||||||
indices:
|
indices:
|
||||||
edges: []
|
edges: []
|
||||||
weights: []
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Cannery_7
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 2628
|
||||||
|
y: 1343
|
||||||
|
width: 720
|
||||||
|
height: 630
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: e88f826d2c942d343ad384ad304e4622
|
||||||
|
internalID: -2125757524
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Cannery_8
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 2157
|
||||||
|
y: 1192
|
||||||
|
width: 196
|
||||||
|
height: 108
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 3b04e321e20f74343985c4951f592cb1
|
||||||
|
internalID: -506358788
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Cannery_10
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 2119
|
||||||
|
y: 1005
|
||||||
|
width: 255
|
||||||
|
height: 97
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 9a0758c2c57fe0245982ee36c145e82c
|
||||||
|
internalID: -595179016
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Cannery_11
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 2093
|
||||||
|
y: 878
|
||||||
|
width: 308
|
||||||
|
height: 76
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 84d71a99c626fcb47bf9af2c04cdf16f
|
||||||
|
internalID: -627351396
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Cannery_12
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1047
|
||||||
|
y: 744
|
||||||
|
width: 225
|
||||||
|
height: 267
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: aae6773ff14e4384ba6defdf7b0daa2d
|
||||||
|
internalID: -107611502
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Cannery_13
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1308
|
||||||
|
y: 497
|
||||||
|
width: 222
|
||||||
|
height: 81
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: a5ffdad5e5873c64fa570dd143d1f2ac
|
||||||
|
internalID: -930593981
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Cannery_14
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1033
|
||||||
|
y: 512
|
||||||
|
width: 207
|
||||||
|
height: 86
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 5f2a7f616cb9c2d4ab01c0ffbba4b53c
|
||||||
|
internalID: 626725903
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Cannery_19
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 115
|
||||||
|
y: 922
|
||||||
|
width: 266
|
||||||
|
height: 177
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 6d1615345ef625841af57697ace0af3c
|
||||||
|
internalID: -2139971189
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
outline: []
|
outline: []
|
||||||
physicsShape: []
|
physicsShape: []
|
||||||
bones: []
|
bones: []
|
||||||
|
|
|
||||||
|
|
@ -12,21 +12,19 @@ namespace HeavenStudio.Games.Scripts_Cannery
|
||||||
public double startBeat;
|
public double startBeat;
|
||||||
|
|
||||||
[Header("Components")]
|
[Header("Components")]
|
||||||
|
[SerializeField] Animator parentAnim;
|
||||||
[SerializeField] Animator anim;
|
[SerializeField] Animator anim;
|
||||||
[SerializeField] SpriteRenderer sr;
|
// [SerializeField] SpriteRenderer sr;
|
||||||
|
|
||||||
[Header("Sprites")]
|
|
||||||
[SerializeField] Sprite[] canSprites;
|
|
||||||
[SerializeField] Sprite cannedSprite;
|
|
||||||
|
|
||||||
Cannery game;
|
Cannery game;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
game = Cannery.instance;
|
game = Cannery.instance;
|
||||||
int random = Random.Range(0, 2);
|
int random = Random.Range(-1, 1);
|
||||||
Debug.Log(random);
|
Debug.Log(random);
|
||||||
sr.sprite = canSprites[random];
|
var pos = transform.position;
|
||||||
|
pos.x *= random;
|
||||||
|
|
||||||
game.ScheduleInput(startBeat, 1, Minigame.InputAction_BasicPress, Hit, null, null);
|
game.ScheduleInput(startBeat, 1, Minigame.InputAction_BasicPress, Hit, null, null);
|
||||||
}
|
}
|
||||||
|
|
@ -36,14 +34,14 @@ namespace HeavenStudio.Games.Scripts_Cannery
|
||||||
float normalizedBeat = Conductor.instance.GetPositionFromBeat(startBeat, 2);
|
float normalizedBeat = Conductor.instance.GetPositionFromBeat(startBeat, 2);
|
||||||
Debug.Log(normalizedBeat);
|
Debug.Log(normalizedBeat);
|
||||||
if (normalizedBeat > 1) Destroy(gameObject);
|
if (normalizedBeat > 1) Destroy(gameObject);
|
||||||
anim.DoNormalizedAnimation("Move", normalizedBeat);
|
parentAnim.DoNormalizedAnimation("Move", normalizedBeat);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Hit(PlayerActionEvent caller, float state)
|
private void Hit(PlayerActionEvent caller, float state)
|
||||||
{
|
{
|
||||||
game.cannerAnim.DoScaledAnimationAsync("Can", 0.5f);
|
game.cannerAnim.DoScaledAnimationAsync("Can", 0.5f);
|
||||||
SoundByte.PlayOneShotGame("cannery/can");
|
SoundByte.PlayOneShotGame("cannery/can");
|
||||||
sr.sprite = cannedSprite;
|
anim.DoScaledAnimationAsync("Canned", 0.5f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -37,6 +37,35 @@ namespace HeavenStudio.Games.Loaders
|
||||||
function = delegate { Cannery.instance.Blackout(); },
|
function = delegate { Cannery.instance.Blackout(); },
|
||||||
defaultLength = 0.5f,
|
defaultLength = 0.5f,
|
||||||
},
|
},
|
||||||
|
new GameAction("backgroundColor", "Background Color")
|
||||||
|
{
|
||||||
|
function = delegate {
|
||||||
|
var e = eventCaller.currentEntity;
|
||||||
|
Cannery.instance.BackgroundColorChange(e.beat, e.length, e["startColor"], e["endColor"], e["ease"]);
|
||||||
|
},
|
||||||
|
defaultLength = 1f,
|
||||||
|
resizable = true,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("startColor", new Color(1, 1, 1), "Start Color", "Set the color at the start of the event."),
|
||||||
|
new Param("endColor", new Color(1, 1, 1), "End Color", "Set the color at the end of the event."),
|
||||||
|
new Param("ease", Util.EasingFunction.Ease.Instant, "Ease", "Set the easing of the action."),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
new GameAction("alarmColor", "Alarm Color")
|
||||||
|
{
|
||||||
|
function = delegate {
|
||||||
|
var e = eventCaller.currentEntity;
|
||||||
|
Cannery.instance.AlarmColor(e.beat, e.length, e["startColor"], e["endColor"], e["ease"]);
|
||||||
|
},
|
||||||
|
defaultLength = 0.5f,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("startColor", new Color(0.8627f, 0.3725f, 0.0313f), "Start Color", "Set the color at the start of the event."),
|
||||||
|
new Param("endColor", new Color(0.8627f, 0.3725f, 0.0313f), "End Color", "Set the color at the end of the event."),
|
||||||
|
new Param("ease", Util.EasingFunction.Ease.Instant, "Ease", "Set the easing of the action."),
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
// ,
|
// ,
|
||||||
// new List<string>() { "mob", "normal" },
|
// new List<string>() { "mob", "normal" },
|
||||||
|
|
@ -56,6 +85,8 @@ namespace HeavenStudio.Games
|
||||||
[Header("Objects")]
|
[Header("Objects")]
|
||||||
[SerializeField] GameObject canGO;
|
[SerializeField] GameObject canGO;
|
||||||
[SerializeField] GameObject blackout;
|
[SerializeField] GameObject blackout;
|
||||||
|
[SerializeField] Material alarmMat;
|
||||||
|
[SerializeField] SpriteRenderer bgPlaneSR;
|
||||||
|
|
||||||
[Header("Animators")]
|
[Header("Animators")]
|
||||||
[SerializeField] Animator conveyorBeltAnim;
|
[SerializeField] Animator conveyorBeltAnim;
|
||||||
|
|
@ -63,27 +94,48 @@ namespace HeavenStudio.Games
|
||||||
public Animator dingAnim;
|
public Animator dingAnim;
|
||||||
public Animator cannerAnim;
|
public Animator cannerAnim;
|
||||||
|
|
||||||
|
private ColorEase bgColorEase;
|
||||||
|
private ColorEase alarmColorEase;
|
||||||
|
|
||||||
private bool alarmBop = true;
|
private bool alarmBop = true;
|
||||||
|
|
||||||
public static Cannery instance;
|
public static Cannery instance;
|
||||||
|
|
||||||
void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
instance = this;
|
instance = this;
|
||||||
canGO.SetActive(false);
|
canGO.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
conveyorBeltAnim.DoNormalizedAnimation("Move", (Conductor.instance.songPositionInBeats / 2) % 1);
|
conveyorBeltAnim.DoNormalizedAnimation("Move", (Conductor.instance.songPositionInBeats / 2) % 1);
|
||||||
|
|
||||||
|
bgPlaneSR.color = GetNewColor(bgColorEase);
|
||||||
|
alarmMat.SetColor("_ColorAlpha", GetNewColor(alarmColorEase));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnGameSwitch(double beat)
|
public override void OnGameSwitch(double beat)
|
||||||
{
|
{
|
||||||
List<RiqEntity> cans = GameManager.instance.Beatmap.Entities.FindAll(e => e.datamodel == "cannery/can" && beat > e.beat && beat < e.beat + 1);
|
List<RiqEntity> events = GameManager.instance.Beatmap.Entities.FindAll(e => e.datamodel.Split('/')[0] == "cannery");
|
||||||
|
List<RiqEntity> cans = events.FindAll(e => e.datamodel == "cannery/can" && beat > e.beat && beat < e.beat + 1);
|
||||||
foreach (var can in cans) {
|
foreach (var can in cans) {
|
||||||
SendCan(can.beat);
|
SendCan(can.beat);
|
||||||
}
|
}
|
||||||
|
RiqEntity bgEvent = events.FindLast(e => e.datamodel == "cannery/backgroundColor" && e.beat < beat);
|
||||||
|
if (bgEvent != null) {
|
||||||
|
var e = bgEvent;
|
||||||
|
BackgroundColorChange(e.beat, e.length, e["startColor"], e["endColor"], e["ease"]);
|
||||||
|
} else {
|
||||||
|
BackgroundColorChange(0, 0, new Color(0.8627f, 0.3725f, 0.0313f), new Color(0.8627f, 0.3725f, 0.0313f), 0);
|
||||||
|
}
|
||||||
|
RiqEntity alarmEvent = events.FindLast(e => e.datamodel == "cannery/alarmColor" && e.beat < beat);
|
||||||
|
if (alarmEvent != null) {
|
||||||
|
var e = alarmEvent;
|
||||||
|
BackgroundColorChange(e.beat, e.length, e["startColor"], e["endColor"], e["ease"]);
|
||||||
|
} else {
|
||||||
|
BackgroundColorChange(0, 0, Color.white, Color.white, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnPlay(double beat)
|
public override void OnPlay(double beat)
|
||||||
|
|
@ -110,6 +162,16 @@ namespace HeavenStudio.Games
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AlarmColor(double beat, float length, Color startColor, Color endColor, int ease)
|
||||||
|
{
|
||||||
|
alarmColorEase = new(beat, length, startColor, endColor, ease);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void BackgroundColorChange(double beat, float length, Color startColor, Color endColor, int ease)
|
||||||
|
{
|
||||||
|
bgColorEase = new(beat, length, startColor, endColor, ease);
|
||||||
|
}
|
||||||
|
|
||||||
public static void CanSFX(double beat)
|
public static void CanSFX(double beat)
|
||||||
{
|
{
|
||||||
SoundByte.PlayOneShotGame("cannery/ding", beat);
|
SoundByte.PlayOneShotGame("cannery/ding", beat);
|
||||||
|
|
@ -117,7 +179,6 @@ namespace HeavenStudio.Games
|
||||||
|
|
||||||
public void SendCan(double beat)
|
public void SendCan(double beat)
|
||||||
{
|
{
|
||||||
// dingAnim.DoScaledAnimationFromBeatAsync("Ding", 0.5f, beat);
|
|
||||||
// do the ding animation on the beat
|
// do the ding animation on the beat
|
||||||
BeatAction.New(this, new() { new(beat, delegate { dingAnim.DoScaledAnimationFromBeatAsync("Ding", 0.5f, beat); }) });
|
BeatAction.New(this, new() { new(beat, delegate { dingAnim.DoScaledAnimationFromBeatAsync("Ding", 0.5f, beat); }) });
|
||||||
|
|
||||||
|
|
@ -485,6 +485,36 @@ namespace HeavenStudio.Games
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Color
|
||||||
|
public struct ColorEase
|
||||||
|
{
|
||||||
|
public double startBeat;
|
||||||
|
public float length;
|
||||||
|
public Color startColor, endColor;
|
||||||
|
public Util.EasingFunction.Ease ease;
|
||||||
|
public readonly Util.EasingFunction.Function easeFunc;
|
||||||
|
public ColorEase(double startBeat, float length, Color startColor, Color endColor, int ease) {
|
||||||
|
this.startBeat = startBeat;
|
||||||
|
this.length = length;
|
||||||
|
(this.startColor, this.endColor) = (startColor, endColor);
|
||||||
|
this.ease = (Util.EasingFunction.Ease)ease;
|
||||||
|
this.easeFunc = Util.EasingFunction.GetEasingFunction(this.ease);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Color GetNewColor(ColorEase ce) => GetNewColor(ce.startBeat, ce.length, ce.startColor, ce.endColor, ce.easeFunc);
|
||||||
|
public Color GetNewColor(double beat, float length, Color start, Color end, Util.EasingFunction.Function func)
|
||||||
|
{
|
||||||
|
float normalizedBeat = Mathf.Clamp01(Conductor.instance.GetPositionFromBeat(beat, length));
|
||||||
|
|
||||||
|
float newR = func(start.r, end.r, normalizedBeat);
|
||||||
|
float newG = func(start.g, end.g, normalizedBeat);
|
||||||
|
float newB = func(start.b, end.b, normalizedBeat);
|
||||||
|
|
||||||
|
return new Color(newR, newG, newB);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
foreach (var evt in scheduledInputs)
|
foreach (var evt in scheduledInputs)
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ MonoBehaviour:
|
||||||
DenseViewWidthThreshold: 512
|
DenseViewWidthThreshold: 512
|
||||||
_disableAutoReloadInBackground: 0
|
_disableAutoReloadInBackground: 0
|
||||||
ImportedScriptPaths:
|
ImportedScriptPaths:
|
||||||
- Assets/Scripts/Games/RhythmCannery/Can.cs
|
- Assets/Scripts/Games/Cannery/Can.cs
|
||||||
|
- Assets/Scripts/Games/Cannery/Cannery.cs
|
||||||
PathsToSkipImportEvent: []
|
PathsToSkipImportEvent: []
|
||||||
PathsToIgnoreOverwriteSettingOnAttribute: []
|
PathsToIgnoreOverwriteSettingOnAttribute: []
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue