public override void ReadData(ESPReader reader, long dataEnd)
        {
            while (reader.BaseStream.Position < dataEnd)
            {
                string subTag = reader.PeekTag();

                switch (subTag)
                {
                case "EDID":
                    if (EditorID == null)
                    {
                        EditorID = new SimpleSubrecord <String>();
                    }

                    EditorID.ReadBinary(reader);
                    break;

                case "MODL":
                    if (Model == null)
                    {
                        Model = new Model();
                    }

                    Model.ReadBinary(reader);
                    break;

                case "CTDA":
                    if (Conditions == null)
                    {
                        Conditions = new List <Condition>();
                    }

                    Condition tempCTDA = new Condition();
                    tempCTDA.ReadBinary(reader);
                    Conditions.Add(tempCTDA);
                    break;

                case "ANAM":
                    if (RelatedIdles == null)
                    {
                        RelatedIdles = new RelatedIdleAnims();
                    }

                    RelatedIdles.ReadBinary(reader);
                    break;

                case "DATA":
                    if (Data == null)
                    {
                        Data = new IdleAnimationData();
                    }

                    Data.ReadBinary(reader);
                    break;

                default:
                    throw new Exception();
                }
            }
        }
        public override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("EditorID", false, out subEle))
            {
                if (EditorID == null)
                {
                    EditorID = new SimpleSubrecord <String>();
                }

                EditorID.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Model", false, out subEle))
            {
                if (Model == null)
                {
                    Model = new Model();
                }

                Model.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Conditions", false, out subEle))
            {
                if (Conditions == null)
                {
                    Conditions = new List <Condition>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    Condition tempCTDA = new Condition();
                    tempCTDA.ReadXML(e, master);
                    Conditions.Add(tempCTDA);
                }
            }
            if (ele.TryPathTo("RelatedIdles", false, out subEle))
            {
                if (RelatedIdles == null)
                {
                    RelatedIdles = new RelatedIdleAnims();
                }

                RelatedIdles.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Data", false, out subEle))
            {
                if (Data == null)
                {
                    Data = new IdleAnimationData();
                }

                Data.ReadXML(subEle, master);
            }
        }
 public IdleAnimation(SimpleSubrecord <String> EditorID, Model Model, List <Condition> Conditions, RelatedIdleAnims RelatedIdles, IdleAnimationData Data)
 {
     this.EditorID = EditorID;
     this.Model    = Model;
     this.Data     = Data;
 }
 public IdleAnimation()
 {
     EditorID = new SimpleSubrecord <String>("EDID");
     Model    = new Model();
     Data     = new IdleAnimationData("DATA");
 }
示例#5
0
 public override void PlayScheduledIdle(IdleAnimationData idleAnimData, string jazzStateNamePrefix, bool isDistressIdle)
 {
     r_internal(_Actor);
     base.PlayScheduledIdle(idleAnimData, jazzStateNamePrefix, isDistressIdle);
 }