示例#1
0
 public Character Clone()
 {
     ItemInstance[] clonedItemInstances = new ItemInstance[SlotCount];
     for (int i = 0; i < clonedItemInstances.Length; i++)
     {
         ItemInstance itemInstance = _item[i];
         if (itemInstance != null) clonedItemInstances[i] = itemInstance.Clone();
     }
     Character clone = new Character(this.Name, this.Realm, this.Region, this.Race, this.BossOptions.Clone(),
         clonedItemInstances, ActiveBuffs, CurrentModel);
     clone.CalculationOptions = this.CalculationOptions;
     clone.itemSetList = this.itemSetList;
     clone.Class = this.Class;
     clone.AssignAllTalentsFromCharacter(this, true);
     clone.PrimaryProfession = this.PrimaryProfession;
     clone.SecondaryProfession = this.SecondaryProfession;
     clone.WaistBlacksmithingSocketEnabled = this.WaistBlacksmithingSocketEnabled;
     clone.WristBlacksmithingSocketEnabled = this.WristBlacksmithingSocketEnabled;
     clone.HandsBlacksmithingSocketEnabled = this.HandsBlacksmithingSocketEnabled;
     clone.OptimizationRequirements = this.OptimizationRequirements;
     clone.CalculationToOptimize = this.CalculationToOptimize;
     clone.BossOptions = this.BossOptions.Clone();
     return clone;
 }