| | |
| | | return m_EquipSetRedpoints.TryGetValue(level, out redpoint);
|
| | | }
|
| | |
|
| | | public Int2 TryGotoUseGem(int itemId)
|
| | | {
|
| | | var config = ItemConfig.Get(itemId);
|
| | | if (config == null)
|
| | | {
|
| | | return Int2.zero;
|
| | | }
|
| | | GemType gemType;
|
| | | if (!TryGetGemType(config.EffectValueA1, out gemType))
|
| | | {
|
| | | return Int2.zero;
|
| | | }
|
| | | Int2 equipPosition = Int2.zero;
|
| | | foreach (var level in cacheEquipSets)
|
| | | {
|
| | | foreach (var place in m_EquipPlaces)
|
| | | {
|
| | | var gemTypes = m_EquipGemTypes[place];
|
| | | if (!gemTypes.Contains(config.EffectValueA1))
|
| | | {
|
| | | continue;
|
| | | }
|
| | | for (int i = 0; i < EQUIPGEM_HOLE_COUNT; i++)
|
| | | {
|
| | | if (!IsEquipGemHoleOpen(level, place, i))
|
| | | {
|
| | | continue;
|
| | | }
|
| | | if (equipPosition.Equals(Int2.zero))
|
| | | {
|
| | | equipPosition.x = level;
|
| | | equipPosition.y = place;
|
| | | }
|
| | | var equipGem = 0;
|
| | | if (TryGetEquipGem(level, place, i, out equipGem))
|
| | | {
|
| | | var compareConfig = ItemConfig.Get(equipGem);
|
| | | if(config.EffectValueB1 > compareConfig.EffectValueB1)
|
| | | {
|
| | | return new Int2(level, place);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | return new Int2(level, place);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | return equipPosition;
|
| | | }
|
| | |
|
| | | public bool IsEquipGemHoleOpen(int level, int place, int hole)
|
| | | {
|
| | | var equipPosition = new Int2(level, place);
|