void OnSelectPrisonHandler() { if (state != 2) { return; } prisonIdx = (int)prisonerList.GetSelectItem().GetItemData(); string msg = ""; if (Informations.Instance.GetGeneralInfo(prisonIdx).city != -1) { state = 3; if (Informations.Instance.GetGeneralInfo(prisonIdx).king == Controller.kingIndex) { msg = ZhongWen.Instance.GetGeneralName(prisonIdx) + ZhongWen.Instance.zhaoxiang_guilai; } else { msg = ZhongWen.Instance.GetGeneralName(prisonIdx) + ZhongWen.Instance.zhaoxiang_ask; } } else { state = 6; Informations.Instance.GetGeneralInfo(prisonIdx).active = 0; msg = ZhongWen.Instance.GetGeneralName(prisonIdx) + ZhongWen.Instance.zhaoxiang_buzai; } prisonerList.enabled = false; kingDialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx, msg, MenuDisplayAnim.AnimType.InsertFromBottom); }
void OnSelectGeneralHandler() { if (state != 0) { return; } state = 1; int idx = (int)generalsList.GetSelectItem().GetItemData(); generalSelected = idx; GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(idx); cityInfo.SetCity(gInfo.city); map.ClearSelect(); map.SelectCity(gInfo.city); confirmBox.SetActive(true); confirmBox.transform.position = new Vector3(confirmBox.transform.position.x, generalsList.GetSelectItem().transform.position.y, confirmBox.transform.position.z); generalsList.enabled = false; }
void OnSelectGeneralHandler() { if (state != 2) { return; } state = 3; selectGeneralIdx = (int)generalsList.GetSelectItem().GetItemData(); cityInfo.GetComponent <MenuDisplayAnim>().SetAnim(MenuDisplayAnim.AnimType.OutToBottom); generalsList.enabled = false; }
void OnTargetItemClickHandler() { state = 1; menuAnim.SetAnim(MenuDisplayAnim.AnimType.OutToRight); targetData = (TargetData)targetList.GetSelectItem().GetItemData(); }
void OnSelectKingHandler() { int kIdx = (int)kingList.GetSelectItem().GetItemData(); kingInfo.SetKing(kIdx); KingInfo kInfo = Informations.Instance.GetKingInfo(kIdx); map.ClearSelect(); for (int i = 0; i < kInfo.cities.Count; i++) { map.SelectCity((int)kInfo.cities[i]); } }
void OnSelectGeneral() { if (state != 0) { return; } state = 2; selectIdx = generalsList.GetSelectIndex(); selectGeneralIdx = (int)generalsList.GetSelectItem().GetItemData(); generalsList.gameObject.GetComponent <MenuDisplayAnim>().SetAnim(MenuDisplayAnim.AnimType.OutToLeft); OnChangeGeneralInfo(); }
void OnConfirmButton() { confirmBox.SetActive(false); int gIdx = (int)generalsInfoList.GetSelectItem().GetItemData(); GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx); CityObjectsData cityData = (CityObjectsData)objsList.GetSelectItem().GetItemData(); int data = cityData.code; if (data == -1) { state = 0; string objName = ZhongWen.Instance.GetEquipmentName(gInfo.equipment); int code = (1 << 16) + gInfo.equipment; List <int> o = Informations.Instance.GetCityInfo(gInfo.city).objects; o.Add(code); CityObjectsData d = new CityObjectsData(gInfo.city, code); objsList.AddItem(objName).SetItemData(d); EquipmentInfo eInfo = Informations.Instance.GetEquipmentInfo(gInfo.equipment); if (eInfo.type == 0) { gInfo.intellect -= eInfo.data; } else if (eInfo.type == 3) { gInfo.strength -= eInfo.data; } gInfo.equipment = -1; objsList.DeleteItem(objsList.GetSelectIndex()); } else { List <int> objs = Informations.Instance.GetCityInfo(cityData.city).objects; int code = data & 0xFFFF; int type = data >> 16; int cObjIdx = 0; for (; cObjIdx < objs.Count; cObjIdx++) { if ((int)objs[cObjIdx] == cityData.code) { break; } } objs.RemoveAt(cObjIdx); switch (type) { case 1: state = 0; if (gInfo.equipment != -1) { string objName = ZhongWen.Instance.GetEquipmentName(gInfo.equipment); int d = (1 << 16) + gInfo.equipment; cityData.code = d; objsList.GetSelectItem().GetComponent <exSpriteFont>().text = objName; objsList.GetSelectItem().SetItemData(cityData); objsList.SetItemSelected(-1, false); objs.Insert(cObjIdx, d); } else { objsList.DeleteItem(objsList.GetSelectIndex()); } ChangeGeneralsEquitment(gInfo, code); break; case 2: state = 2; gInfo.arms += code; objsList.DeleteItem(objsList.GetSelectIndex()); dialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx, ZhongWen.Instance.GetGeneralName(gIdx) + ZhongWen.Instance.jublzh + ZhongWen.Instance.GetArmsName(code) + ZhongWen.Instance.denengli, MenuDisplayAnim.AnimType.InsertFromBottom); break; case 3: state = 2; gInfo.formation += code; objsList.DeleteItem(objsList.GetSelectIndex()); dialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx, ZhongWen.Instance.GetGeneralName(gIdx) + ZhongWen.Instance.xuehuile + ZhongWen.Instance.GetFormationName(code), MenuDisplayAnim.AnimType.InsertFromBottom); break; } } generalsInfoList.GetSelectItem().GetComponent <exSpriteFont>().text = GetGeneralInfo(gIdx); OnSelectGeneral(); }
void OnSelectGeneral() { if (state != 0) { return; } int count = objsList.GetCount(); int gIdx = (int)generalsInfoList.GetSelectItem().GetItemData(); GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx); for (int i = 0; i < count; i++) { ListItem item = objsList.GetListItem(i); CityObjectsData cityData = (CityObjectsData)item.GetItemData(); int data = cityData.code; if (data == -1) { continue; } int code = data & 0xFFFF; int type = data >> 16; bool flag = true; switch (type) { case 1: if (gInfo.equipment == code) { flag = false; } break; case 2: if ((gInfo.arms & code) != 0) { flag = false; } break; case 3: if ((gInfo.formation & code) != 0) { flag = false; } break; } item.SetSelectEnable(flag); } if (count > 0 && ((CityObjectsData)objsList.GetListItem(count - 1).GetItemData()).code == -1) { if (gInfo.equipment == -1) { objsList.DeleteItem(count - 1); } } else { if (gInfo.equipment != -1) { ListItem li = objsList.AddItem(ZhongWen.Instance.xiexia); CityObjectsData data = new CityObjectsData(0, -1); li.SetItemData(data); } } }
void OnGeneralSelectHandler() { int gIdx = (int)generalsList.GetSelectItem().GetItemData(); generalsList.enabled = false; isTopJobLevel = false; GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx); if (gInfo.magic[2] != -1 && gInfo.magic[3] == -1) { if (gInfo.magic[2] < 18) { gInfo.magic[3] = 18; } else { gInfo.magic[3] = 49; } gInfo.job = gInfo.magic[3]; string msg = ZhongWen.Instance.shengqian_feng + ZhongWen.Instance.GetGeneralName(gIdx) + ZhongWen.Instance.shengqian_wei + ZhongWen.Instance.GetJobsName(gInfo.magic[3]); dialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx, msg, MenuDisplayAnim.AnimType.InsertFromBottom); state = 4; isTopJobLevel = true; return; } int jobLevel = 0; int jobIdx = 0; int step = 0; if (gInfo.level < 20) { jobIdx = gInfo.magic[0]; jobLevel = 2; isTopJobLevel = true; } else { if (gInfo.magic[1] == -1) { jobLevel = 2; jobIdx = gInfo.magic[0]; isTopJobLevel = false; } else { jobLevel = 3; jobIdx = gInfo.magic[1]; if (gInfo.level < 40) { isTopJobLevel = true; } else { isTopJobLevel = false; } } } if (jobIdx < 18) { jobIdx += 6; step = 3; for (int i = 0; i < 3; i++) { jobsName[i].GetComponent <exSpriteFont>().text = ZhongWen.Instance.GetJobsName(jobIdx); jobsIdx[i] = jobIdx; jobIdx += step; if (jobIdx >= jobLevel * 6) { jobIdx -= 5; } } } else { jobIdx += 10; step = 5; for (int i = 0; i < 3; i++) { jobsName[i].GetComponent <exSpriteFont>().text = ZhongWen.Instance.GetJobsName(jobIdx); jobsIdx[i] = jobIdx; jobIdx += step; if (jobIdx >= 19 + jobLevel * 10) { jobIdx -= 9; } } } state = 3; jobsCtrl.SetActive(true); jobsCtrl.transform.position = new Vector3( jobsCtrl.transform.position.x, generalsList.GetSelectItem().transform.position.y, jobsCtrl.transform.position.z); MenuDisplayAnim anim = jobsCtrl.GetComponent <MenuDisplayAnim>(); Vector3 pos = anim.GetOriginalPosition(); pos.y = generalsList.GetSelectItem().transform.position.y; anim.SetOriginalPosition(pos); anim.SetAnim(MenuDisplayAnim.AnimType.InsertFromLeft); }