/// <summary>
 /// 传入AbiltiyVariable和对应json,进行数据填充
 /// </summary>
 /// <param name="abilityVariable">被填充的AbilityVariabile</param>
 /// <param name="jsonData">拥有填充数据的jsonData</param>
 private void FullAbilityVariable(AbilityVariable abilityVariable, JsonData jsonData)
 {
     if (jsonData["Range"].ToString() != "")
     {
         abilityVariable.Range = int.Parse(jsonData["Range"].ToString());
     }
     if (jsonData["Damage"].ToString() != "")
     {
         abilityVariable.Damage = int.Parse(jsonData["Damage"].ToString());
     }
     if (jsonData["Amount"].ToString() != "")
     {
         abilityVariable.Amount = int.Parse(jsonData["Amount"].ToString());
     }
     if (jsonData["Draws"].ToString() != "")
     {
         abilityVariable.Draws = int.Parse(jsonData["Draws"].ToString());
     }
     if (jsonData["Turns"].ToString() != "")
     {
         abilityVariable.Turns = int.Parse(jsonData["Turns"].ToString());
     }
     if (jsonData["Area"].ToString() != "")
     {
         string[] area = jsonData["Area"].ToString().Split('*');
         abilityVariable.Area = new Vector2(int.Parse(area[0]), int.Parse(area[1]));
     }
     if (jsonData["Curing"].ToString() != "")
     {
         abilityVariable.Curing = int.Parse(jsonData["Curing"].ToString());
     }
 }
        /// <summary>
        /// 从异能数据库加载对应异能的参数
        /// </summary>
        /// <param name="AbilityID">要加载的异能的ID</param>
        protected void InitialAbility(string AbilityID)
        {
            AbilityFormat abilityFormat = AbilityDatabase.GetInstance().GetAbilityFormat(AbilityID);

            //用序列化拷贝AbilityTargetList;
            Stream stream = GameUtility.Serializer.InstanceDataToMemory(abilityFormat.AbilityTargetList);

            stream.Position        = 0;
            this.AbilityTargetList = (List <AbilityTarget>)GameUtility.Serializer.MemoryToInstanceData(stream);
            //用序列化拷贝AbilityVariable
            stream               = GameUtility.Serializer.InstanceDataToMemory(abilityFormat.AbilityVariable);
            stream.Position      = 0;
            this.AbilityVariable = (AbilityVariable)GameUtility.Serializer.MemoryToInstanceData(stream);
            //Debug.Log("Success copy AbilityVariable");
            //拷贝变量
            this.AbilityID   = abilityFormat.AbilityID;
            this.Group       = abilityFormat.Group;
            this.AbilityName = abilityFormat.AbilityName;
            this.Description = abilityFormat.Description;
            this.TriggerID   = abilityFormat.TriggerID;
        }
 public AbilityFormat(string _abilityID)
 {
     AbilityID         = _abilityID;
     AbilityTargetList = new List <AbilityTarget>();
     AbilityVariable   = new AbilityVariable();
 }