edit: attempted polish but failed

This commit is contained in:
Iced-lemon 2023-01-31 00:21:55 +08:00
parent d59a00fdd3
commit 0001809418
58 changed files with 11705 additions and 140 deletions

View file

@ -0,0 +1,45 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Lemon.GenericLib.VFX;
public class BoardVisuals : MonoBehaviour
{
[Header("Runtime")]
[Space]
[Header("Refereces")]
[SerializeField] private float shakeDuration = 0.1f;
private GameBoard gameBoard;
private CameraController cameraController;
private bool initialized = false;
private void CheckInit()
{
if (!initialized)
{
//initialization code here
gameBoard = GetComponent<GameBoard>();
cameraController = CameraController.instanceCC;
gameBoard.onDrop += shakeOnDrop;
initialized = true;
}
}
private void Start()
{
CheckInit();
}
private void OnDestroy()
{
CheckInit();
gameBoard.onDrop -= shakeOnDrop;
}
private void shakeOnDrop() {
CheckInit();
if (gameBoard.controlledByPlayer) cameraController?.ApplyScreenShake(shakeDuration, true);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 638bc47cbd1ff1d4ca0da9eb2373d01d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,84 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Lemon.GenericLib.VFX;
public class TileVisuals : MonoBehaviour
{
[Header("Runtime")]
[Space]
[Header("Refereces")]
private TileDrawer tileDrawer;
[SerializeField] private HitFlash frontFlash;
[SerializeField] private HitFlash backFlash;
[SerializeField] private float flashDuration;
[SerializeField] private float shakeDuration = 0.2f;
private float entireDuration = 1.5f;
private VFX_Manager vfxManager;
private CameraController cameraController;
private bool isPlayer;
private bool initialized = false;
private void CheckInit()
{
if (!initialized)
{
//initialization code here
tileDrawer = GetComponent<TileDrawer>();
entireDuration = tileDrawer.board.CollapseCycleTime;
isPlayer = tileDrawer.board.controlledByPlayer;
tileDrawer.onStateChange += updateVisuals;
vfxManager = VFX_Manager.insatnceVFXM;
cameraController = CameraController.instanceCC;
initialized = true;
}
}
private void Start()
{
CheckInit();
}
private void updateVisuals(TileDrawer.TileState tileState){
CheckInit();
switch (tileState)
{
case TileDrawer.TileState.idle:
break;
case TileDrawer.TileState.pending:
StopCoroutine(FlashingCoroutine());
StartCoroutine(FlashingCoroutine());
break;
case TileDrawer.TileState.poof:
vfxManager?.spawnVFX("Explosion", transform.position);
vfxManager?.spawnVFX("ParticlePuff", transform.position);
if (isPlayer) {
Debug.Log("bro!!!'");
cameraController?.ApplyScreenShake(shakeDuration,10, true); //why does this not work!!!
}
break;
case TileDrawer.TileState.dropped:
vfxManager?.spawnVFX("ParticlePound", transform.position + (Vector3.down * 0.5f));
break;
case TileDrawer.TileState.none:
break;
default:
break;
}
}
IEnumerator FlashingCoroutine() {
frontFlash.Flash(flashDuration);
//backFlash.Flash(flashDuration);
yield return new WaitForSeconds(entireDuration - (flashDuration * 3));
frontFlash.Flash(flashDuration);
// backFlash.Flash(flashDuration);
yield return new WaitForSeconds(flashDuration * 2);
frontFlash.Flash(flashDuration);
//backFlash.Flash(flashDuration);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ba56949b19f58e34da285c0974ae5092
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: