| | |
| | | {
|
| | | private Dictionary<int, List<FindTreasureInfo>> findTreasureDict = new Dictionary<int, List<FindTreasureInfo>>();
|
| | | PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
| | | PlayerSuitModel playerSuit { get { return ModelCenter.Instance.GetModel<PlayerSuitModel>(); } }
|
| | | TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
| | |
|
| | | public List<int> treasureIdlist { get; set; }
|
| | |
| | | SetTreasureCellRedKey();
|
| | | PlayerDatas.Instance.playerDataRefreshEvent += RefreshPlayerData;
|
| | | playerPack.refreshItemCountEvent += RefreshEquipInfo;
|
| | | playerSuit.RefreshSuitModelAct += RefreshSuitInfo;
|
| | | treasureModel.treasureStateChangeEvent += RefreshTreasureState;
|
| | | FuncConfigConfig SamboSpecialUnlock = FuncConfigConfig.Get("SamboSpecialUnlock");
|
| | | specEquipIds = ConfigParse.GetMultipleStr<int>(SamboSpecialUnlock.Numerical1);
|
| | |
| | | {
|
| | | PlayerDatas.Instance.playerDataRefreshEvent -= RefreshPlayerData;
|
| | | playerPack.refreshItemCountEvent -= RefreshEquipInfo;
|
| | | playerSuit.RefreshSuitModelAct -= RefreshSuitInfo;
|
| | | treasureModel.treasureStateChangeEvent -= RefreshTreasureState;
|
| | | }
|
| | |
|
| | |
| | | foreach(var condi in treasureInfo.needConditionsDict.Values)
|
| | | {
|
| | | progress = 0;
|
| | | foreach (var place in equipDict.Keys)
|
| | | {
|
| | | int serverSuitLv = playerSuit.GetServerSuitLv(equipDict[place].itemPlace,condi[1]);
|
| | | bool isMaker = playerSuit.IsMakerSuit((SuitType)condi[1], equipDict[place].config.ItemColor,
|
| | | equipDict[place].config.StarLevel);
|
| | |
|
| | | if (isMaker)
|
| | | {
|
| | | int realSuitLv = serverSuitLv;
|
| | | if (equipDict[place].config.LV < serverSuitLv)
|
| | | {
|
| | | realSuitLv = equipDict[place].config.LV;
|
| | | }
|
| | | if(realSuitLv >= condi[0])
|
| | | {
|
| | | progress += 1;
|
| | | }
|
| | | }
|
| | | }
|
| | | if(progress >= treasureInfo.targetNum)
|
| | | {
|
| | | return true;
|
| | |
| | | }
|
| | |
|
| | | return 0;
|
| | | }
|
| | |
|
| | | private void RefreshSuitInfo()
|
| | | {
|
| | | for(int i = 0; i < treasureIdlist.Count;i++)
|
| | | {
|
| | | if(i == 0)
|
| | | {
|
| | | RedPointStateCtrl(treasureIdlist[i]);
|
| | | }
|
| | | else
|
| | | {
|
| | | Treasure treasure = null;
|
| | | treasureModel.TryGetTreasure(treasureIdlist[i-1], out treasure);
|
| | | if(treasure != null && treasure.state == TreasureState.Collected)
|
| | | {
|
| | | RedPointStateCtrl(treasureIdlist[i]);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void RefreshEquipInfo(PackType type, int index, int itemId)
|