SepiaToneEffectManager.cs 885 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using UnityEngine;
  2. namespace MeidoPhotoStudio.Plugin;
  3. public class SepiaToneEffectManager : IEffectManager
  4. {
  5. public const string Header = "EFFECT_SEPIA";
  6. public bool Ready { get; private set; }
  7. public bool Active { get; private set; }
  8. private SepiaToneEffect SepiaTone { get; set; }
  9. public void Activate()
  10. {
  11. if (!SepiaTone)
  12. {
  13. Ready = true;
  14. SepiaTone = GameMain.Instance.MainCamera.GetOrAddComponent<SepiaToneEffect>();
  15. if (!SepiaTone.shader)
  16. SepiaTone.shader = Shader.Find("Hidden/Sepiatone Effect");
  17. }
  18. SetEffectActive(false);
  19. }
  20. public void Deactivate() =>
  21. SetEffectActive(false);
  22. public void SetEffectActive(bool active) =>
  23. SepiaTone.enabled = Active = active;
  24. public void Reset()
  25. {
  26. }
  27. public void Update()
  28. {
  29. }
  30. }