//lz-2016.08.08 更新可以合成当前选择的Item的脚本列表 private void UpdateCurItemScriptList(int itemID) { this.m_BackupScriptItem = null; this.RecoveryScriptItem(); if (!this.m_Formulas.ContainsKey(itemID)) { return; } this.m_CurItemID = itemID; int scriptCount = this.m_Formulas[itemID].Count; for (int i = 0; i < scriptCount; i++) { UIScriptItem_N item = GetNewScriptItem(); item.UpdateInfo(itemID, i); item.SelectEvent = (scriptItem) => { if (item != this.m_BackupScriptItem) { this.ScriptItemEvent(scriptItem.ItemID, scriptItem.ScriptIndex); if (null != this.m_BackupScriptItem) { this.m_BackupScriptItem.CanSelectItem(); } this.m_BackupScriptItem = item; } }; item.transform.localPosition = new Vector3(i * this.mScriptItemPaddingX, 0, 0); this.mCurScriptItemList.Add(item); if (scriptCount == 1) { item.gameObject.SetActive(false); } } }
//lz-2016.08.09 选中第一个ScriptItem private void SelectFirstScritItem(bool execEvent = true) { if (this.mCurScriptItemList.Count > 0) { this.mCurScriptItemList[0].SelectItem(execEvent); this.m_BackupScriptItem = this.mCurScriptItemList[0]; } }
//lz-2016.08.08 获取一个新的ScirptItem private UIScriptItem_N GetNewScriptItem() { UIScriptItem_N item = null; if (this.mScriptItemPool.Count > 0) { item = this.mScriptItemPool.Dequeue(); item.gameObject.SetActive(true); } else { GameObject Go = GameObject.Instantiate(this.m_UIScriptItemPrefab.gameObject); Go.transform.parent = this.mScriptListParent; Go.transform.localPosition = Vector3.zero; Go.transform.localScale = Vector3.one; Go.transform.localRotation = Quaternion.identity; item = Go.GetComponent <UIScriptItem_N>(); } return(item); }