134 lines
3.4 KiB
C#
134 lines
3.4 KiB
C#
using AibisDream;
|
|
|
|
public interface IEyeStateEffect
|
|
{
|
|
void InitializeEffect(EyeTarget target, EyeSystem eyeSystem);
|
|
void CleanupEffect(EyeTarget target);
|
|
void ApplyFocusedEffect(EyeTarget target, EyeSystem eyeSystem);
|
|
void ApplyUnfocusedEffect(EyeTarget target, EyeSystem eyeSystem);
|
|
}
|
|
|
|
public class CanImagineColorEffect : IEyeStateEffect
|
|
{
|
|
public void InitializeEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.SetToNoWrongColor();
|
|
target.SetToMaxColorReveal();
|
|
target.SetToMinBlur();
|
|
eyeSystem?.FocusOnTarget(target, 0f);
|
|
}
|
|
|
|
public void CleanupEffect(EyeTarget target)
|
|
{
|
|
target.SetToMinColorReveal();
|
|
target.SetToMaxBlur();
|
|
}
|
|
|
|
public void ApplyFocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.ColorIn(eyeSystem.GetEffectTransitionDuration());
|
|
}
|
|
|
|
public void ApplyUnfocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.FadeOut(eyeSystem.GetEffectTransitionDuration());
|
|
}
|
|
}
|
|
|
|
public class CannotImagineColorEffect : IEyeStateEffect
|
|
{
|
|
public void InitializeEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.SetToMinBlur();
|
|
target.SetToMinColorReveal();
|
|
target.SetToNoWrongColor();
|
|
eyeSystem?.FocusOnTarget(target, 0f);
|
|
}
|
|
|
|
public void CleanupEffect(EyeTarget target)
|
|
{
|
|
target.SetToMaxBlur();
|
|
}
|
|
|
|
public void ApplyFocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.BlurOut(eyeSystem.GetEffectTransitionDuration());
|
|
}
|
|
|
|
public void ApplyUnfocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.BlurIn(eyeSystem.GetEffectTransitionDuration());
|
|
}
|
|
}
|
|
|
|
public class EyeDisorderEffect : IEyeStateEffect
|
|
{
|
|
public void InitializeEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.SetToMinColorReveal();
|
|
eyeSystem?.FocusOnTarget(target, 0f);
|
|
target.SetToWrongColor();
|
|
target.SetToMinBlur();
|
|
}
|
|
|
|
public void CleanupEffect(EyeTarget target)
|
|
{
|
|
target.SetToNoWrongColor();
|
|
}
|
|
|
|
public void ApplyFocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.WrongColorIn(eyeSystem.GetEffectTransitionDuration());
|
|
}
|
|
|
|
public void ApplyUnfocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.WrongColorOut(eyeSystem.GetEffectTransitionDuration());
|
|
}
|
|
}
|
|
|
|
public class CanSeeColorEffect : IEyeStateEffect
|
|
{
|
|
public void InitializeEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.SetToNoWrongColor();
|
|
target.SetToMaxColorReveal();
|
|
eyeSystem?.FocusOnTarget(target, 0f);
|
|
target.SetToMinBlur();
|
|
}
|
|
|
|
public void CleanupEffect(EyeTarget target)
|
|
{
|
|
target.SetToMaxBlur();
|
|
}
|
|
|
|
public void ApplyFocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.BlurOut(eyeSystem.GetEffectTransitionDuration());
|
|
}
|
|
|
|
public void ApplyUnfocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
target.BlurIn(eyeSystem.GetEffectTransitionDuration());
|
|
}
|
|
}
|
|
|
|
public class HaveChip : IEyeStateEffect
|
|
{
|
|
public void InitializeEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
}
|
|
|
|
public void CleanupEffect(EyeTarget target)
|
|
{
|
|
}
|
|
|
|
public void ApplyFocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
}
|
|
|
|
public void ApplyUnfocusedEffect(EyeTarget target, EyeSystem eyeSystem)
|
|
{
|
|
}
|
|
}
|