Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
| | |
| | | if (cfg.ItemName == matchArray[i].Groups[1].Value)
|
| | | {
|
| | | bool equip = itemPlaceList[i].packType == PackType.Equip;
|
| | | List<EquipGem> equipGems = null;
|
| | | int[] equipGems = null;
|
| | | if (equip)
|
| | | {
|
| | | equipGemModel.TryGetEquipGems(itemPlaceList[i].itemPlace, out equipGems);
|
| | |
| | | public int itemId;
|
| | | public int isBind;
|
| | | public int count;
|
| | | public List<EquipGem> equipGems;
|
| | | public int[] equipGems;
|
| | | public string useData;
|
| | | }
|
| | | }
|
| | |
| | | [SerializeField] Image m_Bind;
|
| | |
|
| | | int itemId = 0;
|
| | | int bind = 0;
|
| | |
|
| | | private void Awake()
|
| | | {
|
| | | m_GemFlauntBtn.onClick.AddListener(GemFlaunt);
|
| | | }
|
| | |
|
| | | public void Display(EquipGem equipGem)
|
| | | public void Display(int equipGem)
|
| | | {
|
| | | itemId = equipGem.id;
|
| | | bind = equipGem.bind;
|
| | | itemId = equipGem;
|
| | | var config = ItemConfig.Get(itemId);
|
| | | m_Icon.SetSprite(config.IconKey);
|
| | | m_Bottom.SetItemBackGround(config.ItemColor);
|
| | | m_Bind.gameObject.SetActive(bind == 1);
|
| | | m_Bind.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | | private void GemFlaunt()
|
| | |
| | | ChatCtrl.Inst.presentChatType = ChatInfoType.World;
|
| | | ChatCtrl.Inst.openFromGem = true;
|
| | | ChatCtrl.Inst.flauntGemId = itemId;
|
| | | ChatCtrl.Inst.flauntGemBind = bind == 1;
|
| | | ChatCtrl.Inst.flauntGemBind = false;
|
| | | WindowCenter.Instance.Open<ChatWin>();
|
| | | WindowCenter.Instance.Open<MainInterfaceWin>();
|
| | | }
|
| | |
| | | });
|
| | |
|
| | | bool inlay = false;
|
| | | List<EquipGem> equipGems = null;
|
| | | int[] equipGems = null;
|
| | | if (model.TryGetEquipGems(level, place, out equipGems))
|
| | | {
|
| | | inlay = hole < equipGems.Count && equipGems[hole].id != 0;
|
| | | inlay = hole < equipGems.Length && equipGems[hole] != 0;
|
| | | if (inlay)
|
| | | {
|
| | | DisplayGemBase(equipGems[hole]);
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | void DisplayGemBase(EquipGem equipGem)
|
| | | void DisplayGemBase(int equipGem)
|
| | | {
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | m_ItemBackground.SetItemBackGround(config.ItemColor);
|
| | | m_ItemIcon.SetSprite(config.IconKey);
|
| | | m_ItemName.text = config.ItemName;
|
| | | m_Bind.gameObject.SetActive(equipGem.bind == 1);
|
| | | m_Bind.gameObject.SetActive(false);
|
| | | }
|
| | |
|
| | | void DisplayOpenCondition(int hole)
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public void DisplayGemProperty(EquipGem equipGem)
|
| | | public void DisplayGemProperty(int equipGem)
|
| | | {
|
| | | EquipGemWin.DisplayProperty(equipGem, m_Propertys);
|
| | | }
|
| | |
| | | m_ItemIcon.SetSprite(config.IconKey);
|
| | | m_Bind.gameObject.SetActive(item.isBind == 1);
|
| | | m_Count.text = item.count.ToString();
|
| | | EquipGemWin.DisplayProperty(new EquipGem()
|
| | | {
|
| | | id = item.itemId,
|
| | | bind = item.isBind,
|
| | | }, m_Propertys);
|
| | | EquipGemWin.DisplayProperty(item.itemId, m_Propertys);
|
| | | m_Redpoint.gameObject.SetActive(red);
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | EquipGemModel model { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } }
|
| | |
|
| | | public void Display(EquipGem equipGem)
|
| | | public void Display(int equipGem)
|
| | | {
|
| | | var itemConfig = ItemConfig.Get(equipGem.id);
|
| | | var upConfig = model.GetNextLevelConfig(equipGem.id);
|
| | | var itemConfig = ItemConfig.Get(equipGem);
|
| | | var upConfig = model.GetNextLevelConfig(equipGem);
|
| | | if (upConfig != null)
|
| | | {
|
| | | m_ItemBackground.SetItemBackGround(upConfig.ItemColor);
|
| | |
| | |
|
| | | m_ContainerLevelType.gameObject.SetActive(false);
|
| | |
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | model.TryGetEquipGem(equipLevel, equipPlace, equipHole, out equipGem);
|
| | | if (equipGem.id == 0)
|
| | | if (equipGem == 0)
|
| | | {
|
| | | return;
|
| | | }
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | var type = config.EffectValueA1;
|
| | |
|
| | | GemType gemType;
|
| | |
| | | WindowCenter.Instance.Open<RechargeTipWin>();
|
| | | return;
|
| | | }
|
| | | model.SendGemLevelUp(equipLevel, equipPlace, equipHole, levelUpType);
|
| | | }
|
| | | else
|
| | | {
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | model.TryGetEquipGem(equipLevel, equipPlace, equipHole, out equipGem);
|
| | |
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | |
|
| | | GemType gemType;
|
| | | model.TryGetGemType(config.EffectValueA1, out gemType);
|
| | |
|
| | | var count = model.GetGemCount(config.EffectValueA1, config.EffectValueB1, false);
|
| | | var count = model.GetGemCount(config.EffectValueA1, config.EffectValueB1);
|
| | |
|
| | | if (count < gemType.composeCount - 1)
|
| | | {
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | var realCount = model.GetGemCount(config.EffectValueA1, config.EffectValueB1, true, equipGem.bind);
|
| | | if (realCount < gemType.composeCount - 1)
|
| | | {
|
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("GemComposeFail"), (bool isOk) =>
|
| | | {
|
| | | if (isOk)
|
| | | {
|
| | | model.SendGemLevelUp(equipLevel, equipPlace, equipHole, levelUpType);
|
| | | }
|
| | | });
|
| | | return;
|
| | | }
|
| | | model.SendGemLevelUp(equipLevel, equipPlace, equipHole, levelUpType);
|
| | | }
|
| | | model.SendGemLevelUp(equipLevel, equipPlace, equipHole, levelUpType);
|
| | | }
|
| | |
|
| | |
|
| | |
| | | {
|
| | | if (equipLevel == level && equipPlace == place)
|
| | | {
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | model.TryGetEquipGem(level, place, equipHole, out equipGem);
|
| | | if (model.IsEquipGemMaxLevel(equipGem.id))
|
| | | if (model.IsEquipGemMaxLevel(equipGem))
|
| | | {
|
| | | CloseClick();
|
| | | }
|
| | |
| | |
|
| | | private void DisplayGemCount()
|
| | | {
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | model.TryGetEquipGem(equipLevel, equipPlace, equipHole, out equipGem);
|
| | |
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | var type = config.EffectValueA1;
|
| | |
|
| | | GemType gemType;
|
| | | model.TryGetGemType(type, out gemType);
|
| | |
|
| | | var count = 0;
|
| | | count = model.GetGemCount(type, config.EffectValueB1, false);
|
| | | count = model.GetGemCount(type, config.EffectValueB1);
|
| | | var displayString = StringUtility.Contact(count < gemType.composeCount - 1 ? "<color=#ff0303>" : "<color=#109d06>",
|
| | | gemType.composeCount - 1, "</color>");
|
| | | m_CostGem.text = Language.Get("GemLevelUpCostGem", config.ItemName, displayString);
|
| | |
| | |
|
| | | void DisplayLevelUp()
|
| | | {
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | model.TryGetEquipGem(equipLevel, equipPlace, equipHole, out equipGem);
|
| | | EquipGemWin.DisplayProperty(equipGem, m_Propertys);
|
| | |
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | m_Gem.SetItem(equipGem.id, 1, equipGem.bind == 1);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | m_Gem.SetItem(equipGem, 1);
|
| | |
|
| | | if (!model.IsEquipGemMaxLevel(equipGem.id))
|
| | | if (!model.IsEquipGemMaxLevel(equipGem))
|
| | | {
|
| | | m_ContainerNext.gameObject.SetActive(true);
|
| | | m_LevelUp.interactable = true;
|
| | | var upConfig = model.GetNextLevelConfig(equipGem.id);
|
| | | m_LevelUpGem.SetItem(upConfig.ID, 1, equipGem.bind == 1);
|
| | | EquipGemWin.DisplayProperty(new EquipGem(upConfig.ID, equipGem.bind), m_LevelUpPropertys);
|
| | | var upConfig = model.GetNextLevelConfig(equipGem);
|
| | | m_LevelUpGem.SetItem(upConfig.ID, 1);
|
| | | EquipGemWin.DisplayProperty(upConfig.ID, m_LevelUpPropertys);
|
| | |
|
| | | var index = 0;
|
| | | bool isNew = config.Effect2 == 0 && upConfig.Effect2 != 0;
|
| | |
| | | {
|
| | | public class EquipGemModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
|
| | | {
|
| | | Dictionary<int, List<EquipGem>> m_EquipGems = new Dictionary<int, List<EquipGem>>();
|
| | | Dictionary<int, int[]> m_EquipGems = new Dictionary<int, int[]>();
|
| | | Dictionary<int, List<int>> m_EquipGemTypes = new Dictionary<int, List<int>>();
|
| | | Dictionary<int, GemHoleCondition> m_GemHoleConditions = new Dictionary<int, GemHoleCondition>();
|
| | | Dictionary<int, GemType> m_GemTypes = new Dictionary<int, GemType>();
|
| | |
| | | return m_GemHoleConditions.TryGetValue(hole, out condition);
|
| | | }
|
| | |
|
| | | public bool TryGetEquipGems(int packIndex, out List<EquipGem> gems)
|
| | | public bool TryGetEquipGems(int packIndex, out int[] gems)
|
| | | {
|
| | | return m_EquipGems.TryGetValue(packIndex, out gems);
|
| | | }
|
| | |
|
| | | public bool TryGetEquipGems(int level, int place, out List<EquipGem> gems)
|
| | | public bool TryGetEquipGems(int level, int place, out int[] gems)
|
| | | {
|
| | | var packIndex = EquipPlaceMapConfig.GetServerPlace(level, place);
|
| | | return TryGetEquipGems(packIndex, out gems);
|
| | | }
|
| | |
|
| | | public bool TryGetEquipGem(int level, int place, int hole, out EquipGem equipGem)
|
| | | public bool TryGetEquipGem(int level, int place, int hole, out int equipGem)
|
| | | {
|
| | | equipGem = default(EquipGem);
|
| | | List<EquipGem> equipGems;
|
| | | equipGem = 0;
|
| | | int[] equipGems;
|
| | | if (TryGetEquipGems(level, place, out equipGems))
|
| | | {
|
| | | if (hole < equipGems.Count)
|
| | | if (hole < equipGems.Length)
|
| | | {
|
| | | equipGem = equipGems[hole];
|
| | | return equipGem.id != 0;
|
| | | return equipGem != 0;
|
| | | }
|
| | | }
|
| | | return false;
|
| | |
| | | return 0;
|
| | | }
|
| | |
|
| | | public int GetGemCount(int type, int level, bool onlyBind, int bind = 0)
|
| | | public int GetGemCount(int type, int level)
|
| | | {
|
| | | GemType gemType;
|
| | | TryGetGemType(type, out gemType);
|
| | |
| | | var config = ItemConfig.Get(item.itemId);
|
| | | if (config.EffectValueA1 == type && config.EffectValueB1 == level)
|
| | | {
|
| | | if (onlyBind && item.isBind != bind)
|
| | | {
|
| | | continue;
|
| | | }
|
| | | count += item.count;
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | continue;
|
| | | }
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | if (!TryGetEquipGem(level, place, i, out equipGem))
|
| | | {
|
| | | count++;
|
| | |
| | | var equipGems = m_EquipGems[key];
|
| | | foreach (var equipGem in equipGems)
|
| | | {
|
| | | var id = equipGem.id;
|
| | | if (id == 0)
|
| | | if (equipGem == 0)
|
| | | {
|
| | | continue;
|
| | | }
|
| | | var config = ItemConfig.Get(id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | level += config != null ? config.EffectValueB1 : 0;
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | for (int k = 0; k < m_GemHoleItemIds.Count; k++)
|
| | | {
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | TryGetEquipGem(config.LV, config.EquipPlace, k, out equipGem);
|
| | | m_GemHoleItemIds[k] = equipGem.id;
|
| | | m_GemHoleItemIds[k] = equipGem;
|
| | | }
|
| | |
|
| | | List<EquipGem> gems = null;
|
| | | int[] gems = null;
|
| | | if (!m_EquipGems.TryGetValue(data.EquipPlace, out gems))
|
| | | {
|
| | | gems = new List<EquipGem>();
|
| | | gems = new int[EQUIPGEM_HOLE_COUNT];
|
| | | m_EquipGems.Add(data.EquipPlace, gems);
|
| | | }
|
| | | gems.Clear();
|
| | | for (int k = 0; k < data.MaxStoneCount; k++)
|
| | | {
|
| | | gems.Add(new EquipGem((int)data.StoneInfo[k], data.StoneBind[k]));
|
| | | gems[k] = (int)data.StoneInfo[k];
|
| | | if (data.StoneInfo[k] > m_GemHoleItemIds[k])
|
| | | {
|
| | | if (serverInited && equipGemLevelUp != null)
|
| | |
| | | TryGetRedpoint(level, place, out equipGemRedpoint);
|
| | | for (int i = 0; i < EQUIPGEM_HOLE_COUNT; i++)
|
| | | {
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | if (!TryGetEquipGem(level, place, i, out equipGem))
|
| | | {
|
| | | if (SatisfyInlayBetterGem(level, place, i))
|
| | |
| | | TryGetRedpoint(level, place, out equipGemRedpoint);
|
| | | for (int i = 0; i < EQUIPGEM_HOLE_COUNT; i++)
|
| | | {
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | if (TryGetEquipGem(level, place, i, out equipGem))
|
| | | {
|
| | | if (SatisfyComposeGem(level, place, i))
|
| | | {
|
| | | var packIndex = EquipPlaceMapConfig.GetServerPlace(level, place);
|
| | | composeAbles[packIndex][i] = true;
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | var type = config.EffectValueA1;
|
| | | cacheComposeGemTypes.Add(type);
|
| | | }
|
| | |
| | | {
|
| | | return false;
|
| | | }
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | TryGetEquipGem(level, place, hole, out equipGem);
|
| | | var equipGemLevel = 0;
|
| | | if (equipGem.id != 0)
|
| | | if (equipGem != 0)
|
| | | {
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | equipGemLevel = config.EffectValueB1;
|
| | | }
|
| | | List<int> gemTypes = m_EquipGemTypes[place];
|
| | |
| | | {
|
| | | return false;
|
| | | }
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | TryGetEquipGem(level, place, hole, out equipGem);
|
| | | if (equipGem.id == 0)
|
| | | if (equipGem == 0)
|
| | | {
|
| | | return false;
|
| | | }
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | var type = config.EffectValueA1;
|
| | | if (cacheComposeGemTypes.Contains(type))
|
| | | {
|
| | |
| | | {
|
| | | RefreshRedpoint();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public struct EquipGem
|
| | | {
|
| | | public int id;
|
| | | public int bind;
|
| | |
|
| | | public EquipGem(int id, int bind)
|
| | | {
|
| | | this.id = id;
|
| | | this.bind = bind;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | void DisplayGems()
|
| | | {
|
| | | List<EquipGem> equipGems = null;
|
| | | int[] equipGems = null;
|
| | | model.TryGetEquipGems(equipLevel, equipPlace, out equipGems);
|
| | | for (int i = 0; i < m_TinyGems.Length; i++)
|
| | | {
|
| | |
| | | m_TinyGems[i].gameObject.SetActive(isOpen);
|
| | | if (isOpen)
|
| | | {
|
| | | var id = (equipGems != null && i < equipGems.Count) ? equipGems[i].id : 0;
|
| | | var id = (equipGems != null && i < equipGems.Length) ? equipGems[i] : 0;
|
| | | m_TinyGems[i].Set(id);
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | m_SrollerControl.Refresh();
|
| | |
|
| | | EquipGem equipGem = default(EquipGem);
|
| | | List<EquipGem> equipGems = null;
|
| | | int equipGem = 0;
|
| | | int[] equipGems = null;
|
| | | if (model.TryGetEquipGems(equipLevel, equipPlace, out equipGems))
|
| | | {
|
| | | if (equipHole < equipGems.Count)
|
| | | if (equipHole < equipGems.Length)
|
| | | {
|
| | | equipGem = equipGems[equipHole];
|
| | | }
|
| | |
| | | inlayAble = inlayRedpoint.state == RedPointState.Simple;
|
| | | }
|
| | |
|
| | | m_Strike.gameObject.SetActive(equipGem.id != 0);
|
| | | m_Strike.gameObject.SetActive(equipGem != 0);
|
| | |
|
| | | var isMaxLevel = model.IsEquipGemMaxLevel(equipGem.id);
|
| | | var isMaxLevel = model.IsEquipGemMaxLevel(equipGem);
|
| | |
|
| | | if (equipGem.id != 0 && !isMaxLevel)
|
| | | if (equipGem != 0 && !isMaxLevel)
|
| | | {
|
| | | m_SrollerControl.AddCell(ScrollerDataType.Header, 0, HandleGem);
|
| | | }
|
| | |
|
| | | if (equipGem.id != 0 && isMaxLevel)
|
| | | if (equipGem != 0 && isMaxLevel)
|
| | | {
|
| | | m_SrollerControl.AddCell(ScrollerDataType.Extra2, 0, HandleGem);
|
| | | }
|
| | |
| | | GemType gemType;
|
| | | if (model.TryGetGemType(type, out gemType))
|
| | | {
|
| | | if (equipGem.id == 0 && gemType.shopId != 0)
|
| | | if (equipGem == 0 && gemType.shopId != 0)
|
| | | {
|
| | | m_SrollerControl.AddCell(ScrollerDataType.Tail, type, HandleGem);
|
| | | }
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | EquipGem equipGem;
|
| | | int equipGem;
|
| | | if (!model.TryGetEquipGem(equipLevel, equipPlace, equipHole, out equipGem))
|
| | | {
|
| | | return;
|
| | | }
|
| | | if (model.IsEquipGemMaxLevel(equipGem.id))
|
| | | if (model.IsEquipGemMaxLevel(equipGem))
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("GemFullLevelError");
|
| | | return;
|
| | |
| | | case ScrollerDataType.Header:
|
| | | {
|
| | | var cell = _cell as EquipGemLevelUpCell;
|
| | | List<EquipGem> equipGems;
|
| | | int[] equipGems;
|
| | | if (model.TryGetEquipGems(equipLevel, equipPlace, out equipGems))
|
| | | {
|
| | | if (equipHole < equipGems.Count)
|
| | | if (equipHole < equipGems.Length)
|
| | | {
|
| | | cell.Display(equipGems[equipHole]);
|
| | | }
|
| | |
| | | case ScrollerDataType.Extra2:
|
| | | {
|
| | | var cell = _cell as EquipGemFlauntCell;
|
| | | List<EquipGem> equipGems;
|
| | | int[] equipGems;
|
| | | if (model.TryGetEquipGems(equipLevel, equipPlace, out equipGems))
|
| | | {
|
| | | if (equipHole < equipGems.Count)
|
| | | if (equipHole < equipGems.Length)
|
| | | {
|
| | | cell.Display(equipGems[equipHole]);
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public static void DisplayProperty(EquipGem equipGem, PropertyBehaviour[] properties)
|
| | | public static void DisplayProperty(int equipGem, PropertyBehaviour[] properties)
|
| | | {
|
| | | var config = ItemConfig.Get(equipGem.id);
|
| | | var config = ItemConfig.Get(equipGem);
|
| | | var index = 0;
|
| | |
|
| | | if (config.Effect2 != 0 && index < properties.Length)
|
| | |
| | |
|
| | | void DisplayGems()
|
| | | {
|
| | | List<EquipGem> equipGems = null;
|
| | | model.TryGetEquipGems(equipLevel, equipPlace, out equipGems);
|
| | | for (int i = 0; i < m_TinyGems.Length; i++)
|
| | | {
|
| | | bool isOpen = model.IsEquipGemHoleOpen(equipLevel, equipPlace, i);
|
| | | m_TinyGems[i].gameObject.SetActive(isOpen);
|
| | | if (isOpen)
|
| | | {
|
| | | var id = (equipGems != null && i < equipGems.Count) ? equipGems[i].id : 0;
|
| | | m_TinyGems[i].Set(id);
|
| | | }
|
| | | }
|
| | | //List<EquipGem> equipGems = null;
|
| | | //model.TryGetEquipGems(equipLevel, equipPlace, out equipGems);
|
| | | //for (int i = 0; i < m_TinyGems.Length; i++)
|
| | | //{
|
| | | // bool isOpen = model.IsEquipGemHoleOpen(equipLevel, equipPlace, i);
|
| | | // m_TinyGems[i].gameObject.SetActive(isOpen);
|
| | | // if (isOpen)
|
| | | // {
|
| | | // var id = (equipGems != null && i < equipGems.Count) ? equipGems[i].id : 0;
|
| | | // m_TinyGems[i].Set(id);
|
| | | // }
|
| | | //}
|
| | | }
|
| | |
|
| | | void DisplayUnEquip()
|