Files

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)
{
}
}