void OnMetalSelected(object sender) { MetalScanItem_N item = sender as MetalScanItem_N; if (item == null) { return; } byte voxelType = item.mType; MetalScanItem msi = MetalScanData.GetItemByVoxelType(voxelType); if (null != msi) { mMetalSpr.spriteName = msi.mTexName; mMetalSpr.MakePixelPerfect(); mMetalDes.text = PELocalization.GetString(msi.mDesID); } for (int i = 0; i < mMetalScanItemList.Count; ++i) { if (mMetalScanItemList[i] == item) { MetalScanData.m_ScanState[i] = item.mCheckBox.isChecked; break; } } // MetalScanData.m_ScanState[i] = true; }
void ResetMetal() { if (GameUI.Instance != null && GameUI.Instance.mMainPlayer != null) { // foreach (MetalScanItem_N item in mMetalScanItemList) // { // item.transform.parent = null; // GameObject.Destroy(item.gameObject); // } // mMetalScanItemList.Clear(); if (mMetalScanItemList.Count < MetalScanData.m_ActiveIDList.Count) { for (int i = MetalScanData.m_ActiveIDList.Count - mMetalScanItemList.Count; i >= 0; --i) { MetalScanItem_N item = Instantiate(mMetalScanItemPerfab) as MetalScanItem_N; item.transform.parent = mMetalScanGrid.transform; item.transform.localPosition = Vector3.back; item.transform.localScale = Vector3.one; item.e_OnClick += OnMetalSelected; item.mCheckBox.isChecked = true; mMetalScanItemList.Add(item); } } for (int i = 0; i < mMetalScanItemList.Count; i++) { if (i < MetalScanData.m_ActiveIDList.Count) { MetalScanItem msi = MetalScanData.GetItemByID(MetalScanData.m_ActiveIDList[i]); if (msi == null) { continue; } mMetalScanItemList[i].gameObject.SetActive(true); mMetalScanItemList[i].SetItem(msi.mMatName, msi.mColor, msi.mType, msi.mDesID); mMetalScanItemList[i].mCheckBox.isChecked = MetalScanData.m_ScanState[i]; } else { mMetalScanItemList[i].gameObject.SetActive(false); } } mMetalScanGrid.repositionNow = true; } }