/// <summary cref="IEncodeable.IsEqual(IEncodeable)" />
        public virtual bool IsEqual(IEncodeable encodeable)
        {
            if (Object.ReferenceEquals(this, encodeable))
            {
                return(true);
            }

            AnimalSound value = encodeable as AnimalSound;

            if (value == null)
            {
                return(false);
            }

            if (!Utils.IsEqual(m_verb, value.m_verb))
            {
                return(false);
            }
            if (!Utils.IsEqual(m_audioFile, value.m_audioFile))
            {
                return(false);
            }

            return(true);
        }
        /// <summary cref="Object.MemberwiseClone" />
        public new object MemberwiseClone()
        {
            AnimalSound clone = (AnimalSound)base.MemberwiseClone();

            clone.m_verb      = (string)Utils.Clone(this.m_verb);
            clone.m_audioFile = (string)Utils.Clone(this.m_audioFile);

            return(clone);
        }
        /// <summary>
        /// Initializes the instance with its defalt attribute values.
        /// </summary>
        public AnimalSoundValue(AnimalSoundState variable, AnimalSound value, object dataLock) : base(dataLock)
        {
            m_value = value;

            if (m_value == null)
            {
                m_value = new AnimalSound();
            }

            Initialize(variable);
        }