DeleteSelf.cs 914 B

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public partial class CardEffectCommons
  5. {
  6. public enum DeleteTiming
  7. {
  8. AtTurnEnd,
  9. AtOwnTurnEnd,
  10. AtOpponentTurnEnd
  11. }
  12. public static IEnumerator AddSelfDeleteEffect(Permanent permanent, DeleteTiming deleteTiming, ICardEffect activateClass)
  13. {
  14. bool deleteOnOwnturn = deleteTiming != DeleteTiming.AtOpponentTurnEnd;
  15. bool deleteOnOpponentsTurn = deleteTiming != DeleteTiming.AtOwnTurnEnd;
  16. permanent.PermanentEffects.Add(GetCardEffect);
  17. ICardEffect GetCardEffect(EffectTiming timing)
  18. {
  19. if (timing == EffectTiming.OnEndTurn)
  20. {
  21. return PermanentEffectFactory.DeleteSelfEffect(permanent, activateClass, deleteOnOwnturn, deleteOnOpponentsTurn);
  22. }
  23. return null;
  24. }
  25. yield return null;
  26. }
  27. }