| | |
| | | public class TreasureEffectModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk
|
| | | {
|
| | | public List<int> treasureAddAtklist { get; private set; }
|
| | | public List<int> treasureSignlist { get; private set;}
|
| | | public List<string> treasureIdlist { get; private set; }
|
| | |
|
| | | public Dictionary<int, Dictionary<int, int>> treasureSignDict { get; private set; }
|
| | | TreasureModel m_Model;
|
| | | TreasureModel model
|
| | | {
|
| | |
| | | treasureAddAtklist.Add(addExpIds[i]);
|
| | | }
|
| | |
|
| | | List<TreasureUpConfig> treasureUplist = ConfigManager.Instance.GetAllValues<TreasureUpConfig>();
|
| | | treasureSignlist = new List<int>();
|
| | | for (int i = 0; i < treasureUplist.Count; i++)
|
| | | FuncConfigConfig MWSignDayAttr = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("MWSignDayAttr");
|
| | | int treasureId = int.Parse(MWSignDayAttr.Numerical2);
|
| | | JsonData signAttrData = JsonMapper.ToObject(MWSignDayAttr.Numerical1);
|
| | | treasureSignDict = new Dictionary<int, Dictionary<int, int>>();
|
| | | Dictionary<int, int> attrDict = new Dictionary<int, int>();
|
| | | treasureSignDict.Add(treasureId,attrDict);
|
| | | foreach (var id in signAttrData.Keys)
|
| | | {
|
| | | if(treasureUplist[i].Privilege == (int)TreasurePrivilege.Sign)
|
| | | {
|
| | | treasureSignlist.Add(treasureUplist[i].ID);
|
| | | }
|
| | | attrDict.Add(int.Parse(id),int.Parse(signAttrData[id].ToString()));
|
| | | }
|
| | |
|
| | | treasureIdlist = ConfigManager.Instance.GetAllKeys<TreasureConfig>();
|
| | |
| | | showType = 0;
|
| | | killNpcAtk = 0;
|
| | | effectDesSB.Length = 0;
|
| | | attrDict.Clear();
|
| | | }
|
| | |
|
| | | public void OnAfterPlayerDataInitialize()
|
| | |
| | | public StringBuilder effectDesSB = new StringBuilder();
|
| | | public int killNpcAtk { get; private set; }
|
| | | public int showType;
|
| | | private Dictionary<int, int> attrDict = new Dictionary<int, int>();
|
| | |
|
| | | public void SetTreasureID(int id, int vipLv = 0)
|
| | | {
|
| | |
| | | type = 0;
|
| | | effectDesSB.Length = 0;
|
| | | killNpcAtk = 0;
|
| | | attrDict.Clear();
|
| | | TreasureConfig treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(treasureId);
|
| | | if (treasureAddAtklist.Contains(treasureId))
|
| | | {
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | for (int i = 0; i < treasureSignlist.Count;i++)
|
| | | if(treasureSignDict.ContainsKey(treasureId))
|
| | | {
|
| | | TreasureUpConfig treasureUpConfig = ConfigManager.Instance.GetTemplate<TreasureUpConfig>(treasureSignlist[i]);
|
| | | if (treasureUpConfig.MWID == treasureId && treasureUpConfig.LV == 0)
|
| | | {
|
| | | type = 2;
|
| | | TreasurePrivilegeConfig privilegeConfig = ConfigManager.Instance.GetTemplate<TreasurePrivilegeConfig>(treasureUpConfig.Privilege);
|
| | | JsonData signData = JsonMapper.ToObject(privilegeConfig.attr);
|
| | | foreach (var key in signData.Keys)
|
| | | {
|
| | | attrDict.Add(int.Parse(key),int.Parse(signData[key].ToString()));
|
| | | }
|
| | | Dictionary<int, int> attrDict = treasureSignDict[treasureId];
|
| | | Treasure treasure;
|
| | | model.TryGetTreasure(treasureId,out treasure);
|
| | | bool isHaveTreasure = false;
|
| | |
| | | isHaveTreasure = true;
|
| | | }
|
| | | }
|
| | |
|
| | | foreach (var id in attrDict.Keys)
|
| | | {
|
| | | PlayerPropertyConfig propertyConfig = ConfigManager.Instance.GetTemplate<PlayerPropertyConfig>(id);
|
| | |
| | | }
|
| | | }
|
| | | return;
|
| | | }
|
| | | }
|
| | |
|
| | | if(effectDesSB.Length <= 0)
|
| | |
| | | }
|
| | | break;
|
| | | case 2:
|
| | | fight += UIHelper.GetFightPower(attrDict);
|
| | | fight += UIHelper.GetFightPower(treasureSignDict[treasureId]);
|
| | | break;
|
| | | case 3:
|
| | | break;
|