//void Start() { // Debug.Log("Start"); //} public override void Reload(InfinityScrollView _infinity, int _index) { //Debug.Log("Reload"); base.Reload(_infinity, _index); mIndex = _index; WujiangBean general = mCanvasExecutive.GetCity().GetWujiangBeans()[_index]; if (mCanvasExecutive.CantainWujiangId(general.id)) { mIsSeclet = true; mSelectImage.SetActive(true); } else { mIsSeclet = false; mSelectImage.SetActive(false); } mWujiang.text = general.name; mTongshuai.text = general.tongshuai; mWuli.text = general.wuli; mZhili.text = general.zhili; mZhengzhi.text = general.zhengzhi; mMeili.text = general.meili; }
void Start() { mEnableBtn.GetComponent <Button>().onClick.AddListener(delegate() { // 出征武将 WujiangBean[] wujiangs = new WujiangBean[3]; int i = 0; List <WujiangBean> currentCityWujiangs = mCity.GetWujiangBeans(); foreach (int wujiangId in mSelectWujiangIds) { if (i < 3) { foreach (WujiangBean wujiangBean in currentCityWujiangs) { if (wujiangBean.id == wujiangId) { wujiangs[i++] = wujiangBean; } } } else { break; } } mCanvasExpedition.SetGeneral(wujiangs); this.gameObject.SetActive(false); }); mCloseBtn.GetComponent <Button>().onClick.AddListener(delegate() { this.gameObject.SetActive(false); }); // 武将表格(统帅、武力、智力、政治、魅力) for (int i = 0; i < mButtons.Length; i++) { if (i == 1) // 1为武将,0为选中状态,2、3、4、5、6 : 统帅、武力、智力、政治、魅力 { continue; } int index = i; mButtons[i].onClick.AddListener(delegate() { if (mIndexClick == index) { // 反复点击重排 mIndexClick = 0; Sort(index, true); } else { // 点击其他的 mIndexClick = index; Sort(index, false); } // List列表 mInfinityScrollView.Setup(mCity.GetWujiangBeans().Count); mInfinityScrollView.InternalReload(); }); } }
public void SetGeneral(WujiangBean[] wujiangs) { mChief = wujiangs[0]; mJunior01 = wujiangs[1]; mJunior02 = wujiangs[2]; SetNameAndSkill(wujiangs); SetImage(wujiangs); SetAbilitysValue(wujiangs[0], wujiangs[1], wujiangs[2]); }
public void SelectItem(bool isOn, int index) { WujiangBean general = mCity.GetWujiangBeans()[index]; if (isOn) { mSelectWujiangIds.Add(general.id); } else { mSelectWujiangIds.Remove(general.id); } }
public static List <WujiangBean> GetExpeditionGenerals(List <WujiangBean> wujiangs) { WujiangBean general01 = null; WujiangBean general02 = null; WujiangBean general03 = null; if (wujiangs.Count >= 3) { general01 = wujiangs[Random.Range(0, wujiangs.Count)]; while (true) { general02 = wujiangs[Random.Range(0, wujiangs.Count)]; if (general02 != general01) { break; } } while (true) { general03 = wujiangs[Random.Range(0, wujiangs.Count)]; if (general03 != general01 && general03 != general02) { break; } } } else if (wujiangs.Count == 2) { general01 = wujiangs[Random.Range(0, wujiangs.Count)]; while (true) { general02 = wujiangs[Random.Range(0, wujiangs.Count)]; if (general02 != general01) { break; } } } else if (wujiangs.Count == 1) { general01 = wujiangs[0]; } List <WujiangBean> temp = new List <WujiangBean>(); temp.Add(general01); temp.Add(general02); temp.Add(general03); return(temp); }
void OnEnable() { //Debug.Log(TAG + "OnEnable"); mChiefImg.color = new Color(1, 1, 1, 0); mJunior01Img.color = new Color(1, 1, 1, 0); mJunior02Img.color = new Color(1, 1, 1, 0); foreach (Text text in mNamesAndSkillTexts) { text.text = ""; } // Slider foreach (Slider slider in mSlider) { slider.value = 0.5f; } for (int index = 0; index < mSliderText.Length; index++) { if (index == 0) { int max = 20000; mSliderText[index].text = (int)(max * mSlider[index].value) + "/" + max; } else if (index == 1) { int max = 10000; mSliderText[index].text = (int)(max * mSlider[index].value) + "/" + max; } else if (index == 2) { int max = 50000; mSliderText[index].text = (int)(max * mSlider[index].value) + "/" + max; } } mSliderDayText.text = "0日"; foreach (Text text in mTotalText) { text.text = "1000000"; } foreach (Text text in mTotalText) { text.text = "1000000"; } // Ability foreach (Text text in mAbilityText) { text.text = ""; } mArmText.text = ""; mArmAbilityText.text = ""; // 战法 foreach (Text text in mSkillText) { text.text = ""; } mChief = null; // 设置能力五边形 // 攻击力 mAttack = 0; // 防御力 mDefence = 0; // 智力 mIntelligence = 0; // 建设力 mBuild = 0; // 移动能力 mMove = 0; mAbilityMesh.SetPointOffset(mAttack / 120f, mDefence / 120f, mIntelligence / 120f, mBuild / 120f, mMove / 120f); }
// 设置攻击防御 public void SetAbilitysValue(WujiangBean chief, WujiangBean junior01, WujiangBean junior02) { if (chief == null) { return; } if (junior01 == null) { junior01 = chief; } if (junior02 == null) { junior02 = chief; } float a1 = 0; // 兵种 float a2 = 0; float a5 = 100; float b1 = 0; // 兵种适性 if (mWeaponIndex == 0) { a1 = 1.2f; a2 = 1.2f; b1 = GetMaxAdaptability(chief.qiangbin, junior01.qiangbin, junior02.qiangbin); mArmText.text = "枪兵"; } else if (mWeaponIndex == 1) { a1 = 1.0f; a2 = 1.5f; b1 = GetMaxAdaptability(chief.jibin, junior01.jibin, junior02.jibin); mArmText.text = "戟兵"; } else if (mWeaponIndex == 2) { a1 = 1.0f; a2 = 1.0f; b1 = GetMaxAdaptability(chief.nubin, junior01.nubin, junior02.nubin); mArmText.text = "弩兵"; } else if (mWeaponIndex == 3) { a1 = 1.5f; a2 = 1.2f; a5 = 120; b1 = GetMaxAdaptability(chief.qibin, junior01.qibin, junior02.qibin); mArmText.text = "骑兵"; } float c1 = 0.8f; // 偏移值 // 攻击力 mAttack = (int)(GetMaxAbility(chief.tongshuai, junior01.tongshuai, junior02.tongshuai) * a1 * b1 * c1); // 防御力 mDefence = (int)(GetMaxAbility(chief.tongshuai, junior01.tongshuai, junior02.tongshuai) * a2 * b1 * c1); // 智力 mIntelligence = GetMaxAbility(chief.zhili, junior01.zhili, junior02.zhili); // 建设力 mBuild = GetMaxAbility(chief.zhengzhi, junior01.zhengzhi, junior02.zhengzhi); // 移动能力 mMove = (int)a5; mAbilityText[0].text = mAttack + ""; mAbilityText[1].text = mDefence + ""; mAbilityText[2].text = mIntelligence + ""; mAbilityText[3].text = mBuild + ""; mAbilityText[4].text = mMove + ""; // 设置能力五边形 mAbilityMesh.SetPointOffset(mAttack / 120f, mDefence / 120f, mIntelligence / 120f, mBuild / 120f, mMove / 120f); }
void Start() { // 兵种 for (int i = 0; i < mArms.Length; i++) { int index = i; mArms[index].onClick.AddListener(delegate() { // 点击兵种自动显示出征的武将(由AI控制选择哪些武将) mWeapons[mWeaponIndex].GetComponent <Image>().sprite = mSprite01[mWeaponIndex]; mWeaponText[mWeaponIndex].text = 1000000 + ""; mWeaponIndex = index; mWeapons[mWeaponIndex].GetComponent <Image>().sprite = mSprite02[mWeaponIndex]; mWeaponText[mWeaponIndex].text = 1000000 - mCurrentSoldier + ""; List <WujiangBean> temp = Strategy.GetExpeditionGenerals(mCity.GetWujiangBeans()); WujiangBean[] wujiangs = new WujiangBean[3]; wujiangs[0] = temp[0]; wujiangs[1] = temp[1]; wujiangs[2] = temp[2]; SetGeneral(wujiangs); CanvasExecutive canvasExecutive = mCanvasExecutive.GetComponent <CanvasExecutive>(); // 设置本次选中的武将 canvasExecutive.SetSelectGeneral(wujiangs); }); } // 显示武将界面 mExecutiveBtn.GetComponent <Button>().onClick.AddListener(delegate() { CanvasExecutive canvasExecutive = mCanvasExecutive.GetComponent <CanvasExecutive>(); canvasExecutive.SetCity(mCity); canvasExecutive.Show(); }); // 确定、返回 mEnableBtn.GetComponent <Button>().onClick.AddListener(delegate() { this.gameObject.SetActive(false); GameObject canvasGameMenu = GameObject.Find("Canvas GameMenu"); if (canvasGameMenu != null) { canvasGameMenu.SetActive(false); } if (mChief != null) { // 出兵 GameObject wujiangGameObject = Instantiate(mWujiangPrefab); wujiangGameObject.transform.position = new Vector3(mCity.transform.position.x, 0.05f, mCity.transform.position.z); Wujiang wujiang = wujiangGameObject.GetComponent <Wujiang>(); wujiang.mAvatar.sprite = mChiefImg.sprite; wujiang.mHealth.text = mSliderText[0].text.Split('/')[0]; wujiang.mName.text = mChief.name; // 设置武将技能 wujiang.mArmType = (ArmType)mWeaponIndex; wujiang.mArmAbility = mArmAbility; wujiang.mSkills = new Skills(wujiang, new string[] { mSkillText[0].text, mSkillText[1].text, mSkillText[2].text }); WujiangBean[] wujiangBeans = new WujiangBean[3]; wujiangBeans[0] = mChief; wujiangBeans[1] = mJunior01; wujiangBeans[2] = mJunior02; wujiang.SetWujiangBeans(wujiangBeans); // 显示路径 Wujiang.SetCurrentWujiang(wujiang); wujiang.SetWujiangState(WujiangState.WujiangState_Prepare_Expedition); wujiang.SetCity(mCity); wujiang.ShowPath(); // 减少城池里面的武将 List <WujiangBean> allWujiangs = mCity.GetWujiangBeans(); for (int i = allWujiangs.Count - 1; i >= 0; i--) { for (int j = 0; j < wujiangBeans.Length; j++) { if (allWujiangs[i] == wujiangBeans[j]) { allWujiangs.Remove(allWujiangs[i]); break; } } } // 清零选中的武将 CanvasExecutive canvasExecutive = mCanvasExecutive.GetComponent <CanvasExecutive>(); canvasExecutive.ClearSelectWujiang(); } }); mCloseBtn.GetComponent <Button>().onClick.AddListener(delegate() { this.gameObject.SetActive(false); }); // 武器,默认第一个亮 mWeapons[mWeaponIndex].GetComponent <Image>().sprite = mSprite02[mWeaponIndex]; for (int i = 0; i < mWeapons.Length; i++) { int index = i; mWeapons[index].onClick.AddListener(delegate() { if (mWeaponIndex == index && mChief == null) { return; } else { mWeapons[mWeaponIndex].GetComponent <Image>().sprite = mSprite01[mWeaponIndex]; mWeaponText[mWeaponIndex].text = 1000000 + ""; mWeaponIndex = index; mWeapons[mWeaponIndex].GetComponent <Image>().sprite = mSprite02[mWeaponIndex]; mWeaponText[mWeaponIndex].text = 1000000 - mCurrentSoldier + ""; SetAbilitysValue(mChief, mJunior01, mJunior02); }; }); } // 滑动条 for (int i = 0; i < mSlider.Length; i++) { int index = i; mSlider[index].onValueChanged.AddListener(delegate(float value) { int max = 0; int current = 0; if (index == 0) { // 士兵 max = 20000; mCurrentSoldier = (int)(max * value); mWeaponText[mWeaponIndex].text = 1000000 - mCurrentSoldier + ""; } else if (index == 1) { max = 10000; int temp = (int)(max * value); } else if (index == 2) { max = 50000; mSliderDayText.text = (int)(200 * value) / 10 * 10 + "日"; } current = (int)(max * value); mSliderText[index].text = current + "/" + max; mTotalText[index].text = 1000000 - current + ""; }); } // Test //string PATH = Application.streamingAssetsPath + "/img/img"; //string url = PATH + BattleGameManager.msWujiangs[0].id + ".jpg"; //StartCoroutine(LoadImage(url, null)); }