public override void DoAction(IEventArgs args) { var castState = (EPlayerCastState)FreeUtil.ReplaceInt(state, args); FreeData p = GetPlayer(args); if (p != null) { if (remove) { PlayerStateUtil.RemoveCastState(castState, p.Player.gamePlay); } else { PlayerStateUtil.AddCastState(castState, p.Player.gamePlay); } } }