public void OnPointerDown(PointerEventData eventData) { if (characterScript.localPosition.StartsWith("-")) { GameObject go; if (CS_TurnOverPanel.turn == FinalVar.RED) { go = GameObject.Find(MapManagerScript.kingOfRed); } else { go = GameObject.Find(MapManagerScript.kingOfBlue); } if (CS_ArmyManager.GetCharacter(go.name) != null) { CharacterScript cs = CS_ArmyManager.GetCharacter(go.name); cs.MoveTo(characterScript.gameObject); } GameObject.Find("StatePanel").GetComponent <CS_StatePanel>().OverShow(); GameObject.Find("MainCamera").GetComponent <CameraScript>().MoveTo(go); characterScript.MoveTo(go); } else { GameObject.Find("StatePanel").GetComponent <CS_StatePanel>().OverShow(); GameObject.Find("MainCamera").GetComponent <CameraScript>().MoveTo(GameObject.Find(characterScript.localPosition)); } }
private void AddResoult(string s, int remMoveFar, Dictionary <string, List <string> > resoult, string last) { int rem = remMoveFar - CS_ArmyManager.GetCharacter(name).MoveCose(GameObject.Find(s).GetComponent <MapScript>().type);//获取剩余移动距离 if (CS_ArmyManager.GetCharacter(s) != null || rem < 0) { return; } if (!resoult.ContainsKey(s)) { List <string> list = new List <string>(resoult[last].ToArray()) { s }; list[0] = rem.ToString(); resoult.Add(s, list); GetMoveRage(s, rem, resoult); }//如果结果集中不存在,则添加进结果集并设置闪烁,调用getMoveRage递归方法 else { if (int.Parse(resoult[s][0]) < rem) { List <string> list = new List <string>(resoult[last].ToArray()) { s }; list[0] = rem.ToString(); resoult[s] = list; GetMoveRage(s, rem, resoult); } }//如果结果集中存在,并且本次结果优于上次结果,则本次结果覆盖上次结果,调用getMoveRage递归方法 }
public void TurnChanged() { if (turn) { go.transform.GetChild(0).GetComponent <Text>().text = "回合结束"; go.transform.GetChild(1).GetComponent <Text>().text = "回合开始"; GameObject.Find("MainCamera").GetComponent <CameraScript>().MoveTo(GameObject.Find(MapManagerScript.kingOfBlue)); } else { go.transform.GetChild(0).GetComponent <Text>().text = "回合开始"; go.transform.GetChild(1).GetComponent <Text>().text = "回合结束"; GameObject.Find("MainCamera").GetComponent <CameraScript>().MoveTo(GameObject.Find(MapManagerScript.kingOfRed)); } int j; if (turn == FinalVar.RED) { j = CS_ArmyManager.GetRedCount(); } else { j = CS_ArmyManager.GetBlueCount(); } for (int i = 0; i < j; i++) { CS_ArmyManager.GetCharacter(i).moved = false; } turn = !turn; GameObject.Find("StatePanel").GetComponent <CS_StatePanel>().OverShow(); StartCoroutine(GradualChange()); }
public void OnMouseEnter() { if (EventSystem.current.IsPointerOverGameObject()) { return; } if (CS_ArmyManager.GetCharacter(name) != null) { GameObject.Find("Canvas").GetComponent <CS_Canvas>().GetCaracterState(); } }
public void Refresh() { int armyCount; int i = armyStateList.transform.childCount; if (CS_TurnOverPanel.turn == FinalVar.RED) { armyCount = CS_ArmyManager.GetRedCount(); } else { armyCount = CS_ArmyManager.GetBlueCount(); } while (i > armyCount) { Destroy(armyStateList.transform.GetChild(--i).gameObject); } while (i < armyCount) { GameObject go = Resources.Load("PreArmy") as GameObject; GameObject preArmy = Instantiate(go) as GameObject; preArmy.transform.SetParent(armyStateList.transform, false); preArmy.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, preArmy.GetComponent <RectTransform>().rect.height); preArmy.transform.position = armyStateList.transform.position; preArmy.transform.Translate(Vector3.down * i++ *preArmy.GetComponent <RectTransform>().rect.height); } while (i > 0) { i--; CharacterScript cs = CS_ArmyManager.GetCharacter(i); armyStateList.transform.GetChild(i).GetComponent <CS_PreArmy>().characterScript = cs; armyStateList.transform.GetChild(i).transform.GetChild(1).GetComponent <Text>().text = cs.charactorName; armyStateList.transform.GetChild(i).transform.GetChild(3).GetComponent <Text>().text = i.ToString(); armyStateList.transform.GetChild(i).transform.GetChild(5).GetComponent <Text>().text = cs.hp.ToString(); armyStateList.transform.GetChild(i).transform.GetChild(7).GetComponent <Text>().text = cs.mp.ToString(); armyStateList.transform.GetChild(i).transform.GetChild(9).GetComponent <Text>().text = cs.ap.ToString(); armyStateList.transform.GetChild(i).transform.GetChild(11).GetComponent <Text>().text = cs.dp.ToString(); armyStateList.transform.GetChild(i).transform.GetChild(13).GetComponent <Text>().text = cs.lv.ToString(); if (cs.moved) { armyStateList.transform.GetChild(i).transform.GetChild(14).GetComponent <Text>().text = "移动后"; } else { armyStateList.transform.GetChild(i).transform.GetChild(14).GetComponent <Text>().text = "移动前"; } } }
public static void ShowBuilding(string localPosition) { if (!buildings.ContainsKey(localPosition)) { return; } GameObject g = buildings[localPosition]; foreach (KeyValuePair <string, GameObject> go in buildings) { if (go.Value == g && CS_ArmyManager.GetCharacter(go.Key) != null) { return; } } g.transform.Translate(Vector3.up * 10); }
void OnMouseDown() { if (EventSystem.current.IsPointerOverGameObject()) { return; } //锁定鼠标 if (StaticScript.lockMouse) { return; } //点击移动范围内的格子 else if (rageMap.ContainsKey(name)) { CS_ArmyManager.Move(lastMousedown, name, rageMap[name]); MapManagerScript.strs = new List <string>() { name }; rageMap.Clear(); } //点击角色 else if (CS_ArmyManager.GetCharacter(name) != null) { ClickCharacter(); } //其他 else { MapManagerScript.strs = new List <string>() { name }; rageMap.Clear(); } lastMousedown = name; }
public void ClickCharacter() { rageMap = GetMoveRage(name, CS_ArmyManager.GetCharacter(name).moveCose, null); MapManagerScript.strs = rageMap.Keys; }