//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, September 07, 2018
|
//--------------------------------------------------------
|
using Snxxz.UI;
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Text.RegularExpressions;
|
using TableConfig;
|
using UnityEngine;
|
|
// 关于神兽强化
|
public class GodBeastModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
|
{
|
public Dictionary<int, int> Absorption_Dic = new Dictionary<int, int>();//获取选择的物品
|
public event Action AbsorbEvent;
|
public int ItemInde = 0;//物品下标
|
public ItemModel Crystal_ItemModel;
|
DogzModel Dogz_model;
|
DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
|
PlayerPackModel _playerPack;
|
PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
|
public override void Init()
|
{
|
|
}
|
|
public void OnBeforePlayerDataInitialize()
|
{
|
|
}
|
|
public void OnPlayerLoginOk()
|
{
|
|
}
|
|
public override void UnInit()
|
{
|
|
}
|
|
public void AbsorbEventUpdate()
|
{
|
if (AbsorbEvent != null)
|
{
|
AbsorbEvent();
|
}
|
}
|
|
private Dictionary<int, int> AllEnhancedPropertiesDic = new Dictionary<int, int>();//key:为属性编号,value是属性值
|
public Dictionary<int, int> AllEnhancedProperties(int GodBeastNumber)//获取整只神兽强化属性
|
{
|
AllEnhancedPropertiesDic.Clear();
|
List<ItemModel> itemModel = dogz_model.GetDogzEquips(GodBeastNumber);
|
if (itemModel == null)
|
{
|
return AllEnhancedPropertiesDic;
|
}
|
for (int i = 0; i < itemModel.Count; i++)
|
{
|
ItemModel item = itemModel[i];
|
var IudetDogzEquipPlus = item.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
|
if (IudetDogzEquipPlus != null)
|
{
|
int lv = IudetDogzEquipPlus[0];
|
if (lv > 0)
|
{
|
var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.EquipPlace, lv);
|
int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
|
int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
|
for (int j = 0; j < AttType.Length; j++)
|
{
|
if (AllEnhancedPropertiesDic.ContainsKey(AttType[j]))
|
{
|
var value = AllEnhancedPropertiesDic[(AttType[j])];
|
AllEnhancedPropertiesDic[(AttType[j])] = value + AttValue[j];
|
}
|
else
|
{
|
AllEnhancedPropertiesDic.Add(AttType[j], AttValue[j]);
|
}
|
}
|
}
|
}
|
}
|
return AllEnhancedPropertiesDic;
|
}
|
private Dictionary<int, int> SiteEnhancementAttributeDic = new Dictionary<int, int>();//key:为属性编号,value是属性值
|
public Dictionary<int, int> SiteEnhancementAttribute(PackType PackTypeGodBeast, int GodBeastIndex)//获取某只神兽身上某个装备属性值
|
{
|
SiteEnhancementAttributeDic.Clear();
|
ItemModel item = playerPack.GetItemModelByIndex(PackTypeGodBeast, GodBeastIndex);
|
if (item == null)
|
{
|
return SiteEnhancementAttributeDic;
|
}
|
var IudetDogzEquipPlus = item.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
|
if (IudetDogzEquipPlus != null && IudetDogzEquipPlus[0] > 0)
|
{
|
var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.EquipPlace, IudetDogzEquipPlus[0]);
|
int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
|
int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
|
for (int j = 0; j < AttType.Length; j++)
|
{
|
if (SiteEnhancementAttributeDic.ContainsKey(AttType[j]))
|
{
|
SiteEnhancementAttributeDic[(AttType[j])] = AttValue[j];
|
}
|
else
|
{
|
SiteEnhancementAttributeDic.Add(AttType[j], AttValue[j]);
|
}
|
}
|
}
|
return SiteEnhancementAttributeDic;
|
}
|
|
|
}
|