//解析效果集合 private void ParseEffect_Set(XmlElement root) { string str = string.Empty; var meta = new CEffectSetMeta(root.GetAttribute("id")); m_xreader.TryReadChildNodeAttr(root, "WhichUnit", "value", ref str); meta.WhichUnit = CAbilityUtil.GetLocation(str); m_xreader.TryReadChildNodesAttr(root, "EffectArray", meta.EffectList); CEffectMetaManager.AddMeta(meta); }
//解析 buff效果 private void ParseEffect_Behavior(XmlElement root) { string str = string.Empty; var meta = new CEffectApplyBuffMeta(root.GetAttribute("id")); m_xreader.TryReadChildNodeAttr(root, "WhichUnit", "value", ref str); meta.WhichUnit = CAbilityUtil.GetLocation(str); m_xreader.TryReadChildNodeAttr(root, "Behavior", "value", ref meta.Behavior); CEffectMetaManager.AddMeta(meta); }
//解析指令效果 private void ParseEffect_Order(XmlElement root) { string str = string.Empty; var meta = new CEffectIssueOrderMeta(root.GetAttribute("id")); m_xreader.TryReadChildNodeAttr(root, "WhichUnit", "value", ref str); meta.WhichUnit = CAbilityUtil.GetLocation(str); m_xreader.TryReadChildNodeAttr(root, "Delay", "value", ref meta.Delay); m_xreader.TryReadChildNodeAttr(root, "EffectOrder", "value", ref str); meta.EffectOrder = CAbilityUtil.GetOrder(str); CEffectMetaManager.AddMeta(meta); }
//解析 查询效果 private void ParseEffect_Area(XmlElement root) { string str = string.Empty; var meta = new CEffectEnumAreaMeta(root.GetAttribute("id")); m_xreader.TryReadChildNodeAttr(root, "WhichUnit", "value", ref str); meta.WhichUnit = CAbilityUtil.GetLocation(str); m_xreader.TryReadChildNodeAttr(root, "ImpactLocation", "value", ref str); meta.ImpactLocation = CAbilityUtil.GetLocation(str); m_xreader.TryReadChildNodeAttr(root, "Radius", "value", ref meta.Area.Radius); m_xreader.TryReadChildNodeAttr(root, "ImpactEffect", "value", ref meta.Area.Effect); CEffectMetaManager.AddMeta(meta); }
//解析发射导弹的数据 private void ParseEffect_LaunchMissle(XmlElement root) { string str = string.Empty; var meta = new CEffectLaunchMissileMeta(root.GetAttribute("id")); m_xreader.TryReadChildNodeAttr(root, "WhichUnit", "value", ref str); meta.WhichUnit = CAbilityUtil.GetLocation(str); m_xreader.TryReadChildNodeAttr(root, "LaunchLocation", "value", ref str); // meta.LaunchVFX.LocationValue = CAbilityUtil.GetLocation(str); // m_xreader.TryReadChildNodeAttr(root, "LaunchLocation", "prefab", ref meta.LaunchVFX.Prefab); m_xreader.TryReadChildNodeAttr(root, "ImpactLocation", "value", ref str); // meta.ImpactVFX.LocationValue = CAbilityUtil.GetLocation(str); // m_xreader.TryReadChildNodeAttr(root, "ImpactLocation", "prefab", ref meta.ImpactVFX.Prefab); m_xreader.TryReadChildNodeAttr(root, "Missile", "value", ref meta.MisslePrefab); m_xreader.TryReadChildNodeAttr(root, "Movers", "Link", ref meta.Mover); m_xreader.TryReadChildNodeAttr(root, "Speed", "value", ref meta.MissileSpeed); m_xreader.TryReadChildNodeAttr(root, "Slerp", "value", ref meta.Slerp); CEffectMetaManager.AddMeta(meta); }