public virtual void OnLoadAsset(XmlReader reader) { switch (reader.Name) { case "Skill": { Name = reader.GetAttrString("Name", string.Empty); Cooldown = reader.GetAttrFloat("Cooldown", 0.0f); CastTime = reader.GetAttrFloat("Casttime", 0.0f); Range = reader.GetAttrFloat("Range", 0.0f); Delay = reader.GetAttrFloat("Delay", 0.0f); Interruptable = reader.GetBoolAttribute("Interruptable", false); RequiredLevel = reader.GetAttrInt("Level", 0); } break; case "Effect": { string skillEffectAssetType = reader.GetAttrString("AssetType", ""); var asset = EffectUtility.CreateAssetOfType(skillEffectAssetType); if (asset != null) { Effects.Add(asset); Effects[Effects.Count - 1].OnLoadAsset(reader); } } break; case "Prerequisite": { var asset = new SkillPrerequisiteAsset(); Prerequisites.Add(asset); Prerequisites [Prerequisites.Count - 1].OnLoadAsset(reader); } break; default: { if (Effects.Count > 0) { Effects [Effects.Count - 1].OnLoadAsset(reader); } } break; } }
/// <summary> /// constructor /// </summary> public SkillPrerequisite(SkillPrerequisiteAsset asset) { StatName = asset.StatName; StatValue = asset.StatValue; }