| | |
| | | public void Train(int level, int place, bool[] inevitables) |
| | | { |
| | | var code = 0; |
| | | var inevitableCount = 0; |
| | | for (int i = 0; i < inevitables.Length; i++) |
| | | { |
| | | inevitableCount += inevitables[i] ? 1 : 0; |
| | | code += inevitables[i] ? MathUtility.Power(2, i) : 0; |
| | | } |
| | | |
| | | var need = GetMaterialNeed(level, place); |
| | | var itemId = GetTrainMaterial(level, place); |
| | | var own = packModel.GetItemCountByID(PackType.Item, itemId); |
| | | if (need > own) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if (inevitableCount > 0) |
| | | { |
| | | var trainLevel = GetTrainLevel(level, place); |
| | | var trainType = GetTrainType(place); |
| | | var config = EquipWashConfig.Get(trainType, trainLevel + 1); |
| | | int moneyNeed = config != null ? config.mustCosts[inevitableCount - 1]; |
| | | var moneyOwn = PlayerDatas.Instance.baseData.diamond; |
| | | |
| | | if (moneyNeed > moneyOwn) |
| | | { |
| | | return; |
| | | } |
| | | } |
| | | |
| | | var equipWash = new CA325_tagCMEquipXLAttrChange(); |
| | | equipWash.EquipPlace = (byte)EquipSet.ClientPlaceToServerPlace(level, place); |
| | | equipWash.CheckUseGoldAttr = (byte)code; |