架构大更
This commit is contained in:
@@ -1,104 +1,79 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
namespace SpriteShadersUltimate.Demo
|
||||
{
|
||||
public class Demo_Trigger : MonoBehaviour
|
||||
{
|
||||
ShaderFaderSSU fader;
|
||||
|
||||
public List<Demo_TriggerEvent> events;
|
||||
private ShaderFaderSSU fader;
|
||||
|
||||
void Start()
|
||||
private void Start()
|
||||
{
|
||||
fader = GetComponent<ShaderFaderSSU>();
|
||||
}
|
||||
|
||||
private void OnTriggerEnter2D(Collider2D collision)
|
||||
{
|
||||
if(collision.name == "Player")
|
||||
{
|
||||
ChangeState(true);
|
||||
}
|
||||
if (collision.name == "Player") ChangeState(true);
|
||||
}
|
||||
|
||||
private void OnTriggerExit2D(Collider2D collision)
|
||||
{
|
||||
if (collision.name == "Player")
|
||||
{
|
||||
ChangeState(false);
|
||||
}
|
||||
if (collision.name == "Player") ChangeState(false);
|
||||
}
|
||||
|
||||
public void ChangeState(bool isActive)
|
||||
{
|
||||
if (fader != null)
|
||||
{
|
||||
fader.isFaded = isActive;
|
||||
}
|
||||
if (fader != null) fader.isFaded = isActive;
|
||||
|
||||
if (events != null && isActive)
|
||||
{
|
||||
foreach (Demo_TriggerEvent demoEvent in events)
|
||||
{
|
||||
foreach (var demoEvent in events)
|
||||
StartCoroutine(PlayEvent(demoEvent));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator PlayEvent(Demo_TriggerEvent demoEvent)
|
||||
private IEnumerator PlayEvent(Demo_TriggerEvent demoEvent)
|
||||
{
|
||||
yield return new WaitForSeconds(demoEvent.delay);
|
||||
demoEvent.Play(transform);
|
||||
}
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
[Serializable]
|
||||
public class Demo_TriggerEvent
|
||||
{
|
||||
[Header("Delay:")]
|
||||
public float delay;
|
||||
[Header("Delay:")] public float delay;
|
||||
|
||||
[Header("Change Fader:")] public ShaderFaderSSU fader;
|
||||
|
||||
[Header("Change Fader:")]
|
||||
public ShaderFaderSSU fader;
|
||||
public bool faderState;
|
||||
public bool negateState;
|
||||
|
||||
[Header("Snap Player:")]
|
||||
public bool snapPlayer;
|
||||
[Header("Snap Player:")] public bool snapPlayer;
|
||||
|
||||
public bool isRelative;
|
||||
public Vector3 snapPosition;
|
||||
|
||||
[Header("Hurt Player:")]
|
||||
public bool hurtPlayer;
|
||||
[Header("Hurt Player:")] public bool hurtPlayer;
|
||||
|
||||
public Vector2 velocity;
|
||||
|
||||
public void Play(Transform source)
|
||||
{
|
||||
if(fader != null)
|
||||
if (fader != null)
|
||||
{
|
||||
if(negateState)
|
||||
{
|
||||
if (negateState)
|
||||
fader.isFaded = !fader.isFaded;
|
||||
}
|
||||
else
|
||||
{
|
||||
fader.isFaded = faderState;
|
||||
}
|
||||
}
|
||||
|
||||
if(snapPlayer)
|
||||
{
|
||||
if (snapPlayer)
|
||||
Demo_Player.instance.SnapPosition(isRelative ? source.position + snapPosition : snapPosition);
|
||||
}
|
||||
|
||||
if(hurtPlayer)
|
||||
{
|
||||
Demo_Player.instance.GetHurt(velocity);
|
||||
}
|
||||
if (hurtPlayer) Demo_Player.instance.GetHurt(velocity);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user