public static Battle_Animation_Attack_Set Read(BinaryReader input)
        {
            Battle_Animation_Attack_Set result = new Battle_Animation_Attack_Set();

            result.Type = Battle_Animation_Attack_Type.Read(input);
            result.Attack.read(input);
            result.Hold.read(input);
            result.Return.read(input);

            return(result);
        }
 public Battle_Animation_Attack_Set(Battle_Animation_Attack_Set other)
 {
     Type   = new Battle_Animation_Attack_Type(other.Type);
     Attack = other.Attack
              .Select(x => new Battle_Animation_Variable_Set(x))
              .ToList();
     Hold = other.Hold
            .Select(x => new Battle_Animation_Variable_Set(x))
            .ToList();
     Return = other.Return
              .Select(x => new Battle_Animation_Variable_Set(x))
              .ToList();
 }
        internal bool compare(Battle_Animation_Attack_Set other)
        {
            if (Type != other.Type)
            {
                // Attack
                if (Attack.Count != other.Attack.Count)
                {
                    return(false);
                }
            }
            for (int i = 0; i < Attack.Count; i++)
            {
                if (!Attack[i].compare(other.Attack[i]))
                {
                    return(false);
                }
            }
            // Hold
            if (Hold.Count != other.Hold.Count)
            {
                return(false);
            }
            for (int i = 0; i < Hold.Count; i++)
            {
                if (!Hold[i].compare(other.Hold[i]))
                {
                    return(false);
                }
            }
            // Return
            if (Return.Count != other.Return.Count)
            {
                return(false);
            }
            for (int i = 0; i < Return.Count; i++)
            {
                if (!Return[i].compare(other.Return[i]))
                {
                    return(false);
                }
            }

            return(true);
        }