private void CreateWingItem(int index) { GameObject go = UIResourceManager.Instance.CloneGameObject(wingItemProfab); if (go == null) { GameDebug.Log("wingItemProfab not found"); } UIEventListener.Get(go).onDrag = OnWingItemDrag; UIEventTrigger et = go.GetComponent <UIEventTrigger>(); EventDelegate.Add(et.onPress, OnWingItemPress); EventDelegate.Add(et.onRelease, OnWingItemRelease); go.SetActive(true); go.name = index.ToString(CultureInfo.InvariantCulture); go.transform.parent = winggrid.transform; go.transform.localScale = Vector3.one; WingItemUI tempItem = new WingItemUI(go); var commonRes = DataManager.WingCommonTable[mWingMoudle.GetWingIdByIndex(index)] as WingCommonTableItem; UIAtlasHelper.SetSpriteImage(tempItem.mWingSprite, commonRes.wingPicLow); mWingItemUIList.Add(tempItem); //tempItem.mWingPicAni = AnimationManager.Instance.CreateParticleAnimation(4, go); // GameDebug.Log(commonRes.wingPicAni); // tempItem.mWingPicAni.gameObject.SetActive(true); // tempItem.mWingPicAni.RebuildSpriteList(); // tempItem.mWingPicAni.Reset(); }
/// <summary> /// 切换翅膀 /// </summary> void OnChangeToggle(GameObject go) { for (int i = 0; i < listGame.Count; i++) { if (listGame[i] != null && listGame[i].GetComponent <UIToggle>().value) { //刷新激活界面 WingItemUI wingItemUI = listGame[i].GetComponent <WingItemUI>(); WingRef info = null; if (wingItemUI != null) { info = wingItemUI.Info; } if (info != null && WingDicton.ContainsKey(info.id)) { wingActive.SetWingActiveUI(WingDicton[info.id] as WingInfo); if (notActiveGo != null) { notActiveGo.SetActive(false); } if (ActiveGo != null) { ActiveGo.SetActive(true); } curWingInfo = WingDicton[info.id] as WingInfo; RefreshModel(activeWing); } //刷新未激活界面 else if (info != null) { wingNotActive.SetWingNotActiveUI(info); if (notActiveGo != null) { notActiveGo.SetActive(true); } if (ActiveGo != null) { ActiveGo.SetActive(false); } curWingInfo = new WingInfo(info); RefreshModel(notActiveWing); } } } }
/// <summary> /// 动态创建翅膀 /// </summary> void CreateWing() { int index = 0; if (wingGo != null) { wingGo.SetActive(true); } for (int i = 0; i < listGame.Count; i++) { DestroyImmediate(listGame[i].gameObject); } listGame.Clear(); using (var data = DataDic.GetEnumerator()) { while (data.MoveNext()) { GameObject go = GameObject.Instantiate(wingGo); go.transform.parent = wingGo.transform.parent; go.transform.localScale = Vector3.one; go.transform.localPosition = new Vector3(-316 + 125 * index, 206, 0); //默认是选中第一个翅膀 //if (index == 0) go.GetComponent<UIToggle>().startsActive = true; //刷新翅膀toggle WingItemUI ui = go.GetComponent <WingItemUI>(); if (ui != null) { ui.ShowWingInfo(data.Current.Value); listGame.Add(ui); } index++; } } if (wingGo != null) { wingGo.SetActive(false); } }
private void UpdateUI() { mIsDirty = false; jinglianBtn.isEnabled = !mWingMoudle.IsFullLevel(); jinglianTxt.applyGradient = jinglianBtn.isEnabled; WingCommonTableItem mCommorRes; WingItemUI wing_item_ui = mWingItemUIList[CurPageNum - 1]; if (wing_item_ui == null) { GameDebug.LogError("获取wing_item_ui失败"); return; } IsTryOn = wing_item_ui.IsTryOn; State = mWingMoudle.GetWingState(CurPageNum); wing_item_ui.State = State; mCommorRes = mWingMoudle.GetCommonResByIndex(CurPageNum); //GameDebug.Log("state:"+State); wingName.text = mCommorRes.wingName; if (State == WingState.Locked) { int condition; bool isActive = mWingMoudle.CheckCondition(ref mCommorRes, out condition); wing_item_ui.SetDaChengPicVisable(Convert.ToInt32(condition)); WingDescriptText.text = mCommorRes.desc; jihuotiaojianTxt.text = StringHelper.GetString("wing_condition"); zhanValue.text = StringHelper.GetString("wing_no_active"); for (int i = 0; i < WingDefine.MaxConditonNum; ++i) { if ((condition & (1 << i)) == 0) //条件没有达成 { UIAtlasHelper.SetSpriteImage(mConditionUIList[i].biaoji1, "wing0:wing0-nocom", true); UIAtlasHelper.SetSpriteImage(mConditionUIList[i].num1, "wing0:wing0-019"); } else { UIAtlasHelper.SetSpriteImage(mConditionUIList[i].biaoji1, "wing0:wing0-003", true); UIAtlasHelper.SetSpriteImage(mConditionUIList[i].num1, "wing0:wing0-011"); } Type tp = mCommorRes.GetType(); int conditionId = Convert.ToInt32(tp.GetField(("condition" + (i + 1))).GetValue(mCommorRes)); ConditionTableItem cti = DataManager.ConditionTable[conditionId] as ConditionTableItem; if (cti != null) { mConditionUIList[i].content1.text = cti.mDesc; } } jihuoAni.gameObject.SetActive(isActive); equipWord.text = StringHelper.GetString("wing_equip"); UIAtlasHelper.SetButtonImage(equipBtn, "common:btn_yellow_4word"); tip.gameObject.SetActive(true); tip.text = StringHelper.GetString("wingtip").Replace("?", mCommorRes.middleLevel.ToString()); } else { WingItemData wing_item_data; WingLevelTableItem wing_level_res; if (!mWingMoudle.GetWingItemData(CurPageNum, out wing_item_data)) { return; } if (!mWingMoudle.GetWingLevelRes(wing_item_data.id, (int)wing_item_data.level, out wing_level_res)) { return; } levelnum.text = "LV" + wing_item_data.level; zhanValue.text = wing_level_res.battleScore.ToString(); jihuotiaojianTxt.text = StringHelper.GetString("wing_property"); if (wing_item_data.level < WingDefine.Max_Wing_Level) { string re = StringHelper.GetString("nextlevel") + ":"; var next_level_res = DataManager.WingLevelTable[wing_item_data.id * 1000 + wing_item_data.level + 1] as WingLevelTableItem; if (next_level_res != null) { nextLevel.text = re + GetPropString(next_level_res.propertyType, next_level_res.propertyNum); levelPercent.text = wing_item_data.process + "/" + next_level_res.costNum; levelProcessbar.value = (float)wing_item_data.process / (float)next_level_res.costNum; } } else { nextLevel.text = ""; levelPercent.text = "已满级"; levelProcessbar.value = 1; } buffDesc.text = wing_level_res.buffDesc; string picName = WingModule.GetWingPic(wing_item_data.id, (int)wing_item_data.level); if (picName != mWingItemUIList[CurPageNum - 1].mWingSprite.spriteName) { UIAtlasHelper.SetSpriteImage(mWingItemUIList[CurPageNum - 1].mWingSprite, picName); } for (int i = 0; i < WingDefine.PropertyNum; i++) { uint num = 0; uint totalnum = 0; switch (i) { case 0: num = wing_item_data.life; totalnum = wing_item_data.liftTotal; break; case 1: num = wing_item_data.attack; totalnum = wing_item_data.attackTotal; break; case 2: num = wing_item_data.defence; totalnum = wing_item_data.defenceTotal; break; case 3: num = wing_item_data.critical; totalnum = wing_item_data.criticalTotal; break; case 4: num = wing_item_data.power; totalnum = wing_item_data.powerTotal; break; } mProps[i].propname.text = GetPropString(i, num); mProps[i].propProcessBar.value = (float)num / (float)totalnum; if (mProps[i].propProcessBar.value.Equals(1)) { UIAtlasHelper.SetSpriteImage(mProps[i].foreGround, "common:process_short_fg1"); } else { UIAtlasHelper.SetSpriteImage(mProps[i].foreGround, "common:processbar_short_fg2"); } } UIAtlasHelper.SetSpriteImage(stuff, ItemManager.Instance.getItemBmp(mCommorRes.costId)); stuffname.text = ItemManager.Instance.getItemName(mCommorRes.costId); PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>(); stuffnum.text = pdm.GetItemNumByID(mCommorRes.costId).ToString(); if (State == WingState.Wear) { equipWord.text = StringHelper.GetString("wing_takeoff"); UIAtlasHelper.SetButtonImage(equipBtn, "common:btn_blue_4word"); } else { equipWord.text = StringHelper.GetString("wing_equip"); UIAtlasHelper.SetButtonImage(equipBtn, "common:btn_yellow_4word"); } int level = wing_item_data.level < mCommorRes.middleLevel ? mCommorRes.middleLevel : mCommorRes.hightLevel; tip.text = StringHelper.GetString("wingtip").Replace("?", level.ToString()); tip.gameObject.SetActive(wing_item_data.level < mCommorRes.middleLevel); } pageBar.CurPageNum = mWingMoudle.GetWingPageCount(); pageBar.LockPage = PlayerDataPool.Instance.MainData.mWingData.GetLockIndex(); }