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)); } }
public void OnPointerDown(PointerEventData eventData) { GameObject go; Transform tr; if (CS_TurnOverPanel.turn == FinalVar.RED) { go = Resources.Load(characterName + "Red", typeof(GameObject)) as GameObject; tr = GameObject.Find("RedArmy").transform; } else { go = Resources.Load(characterName + "Blue", typeof(GameObject)) as GameObject; tr = GameObject.Find("BlueArmy").transform; } GameObject gObject = Instantiate(go) as GameObject; gObject.transform.position = new Vector3(0, -2, 0); gObject.GetComponent <CharacterScript>().localPosition = (--no).ToString(); gObject.transform.SetParent(tr); if (CS_TurnOverPanel.turn == FinalVar.RED) { CS_ArmyManager.AddRedCharacter(no.ToString(), gObject.GetComponent <CharacterScript>()); } else { CS_ArmyManager.AddBlueCharacter(no.ToString(), gObject.GetComponent <CharacterScript>()); } }
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()); }
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 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; }
// Use this for initialization void Start() { GameObject go = Resources.Load("PreMap", typeof(GameObject)) as GameObject; for (int i = 0; i < sizeX; i++) { for (int j = 0; j < sizeY; j++) { GameObject preMap = Instantiate(go) as GameObject; preMap.transform.SetParent(GameObject.Find("Map").transform, false); preMap.transform.Translate(new Vector3(i, 0, j)); preMap.transform.name = i.ToString() + "," + j.ToString(); preMap.GetComponent <MapScript>().type = cose[i, j]; } }//加载UI地图 GameObject go2 = Resources.Load("KingOfRed", typeof(GameObject)) as GameObject; GameObject preMap2 = Instantiate(go2) as GameObject; preMap2.transform.position = GameObject.Find(kingOfRed).transform.position; preMap2.transform.name = "KingOfRed"; preMap2.GetComponent <CharacterScript>().localPosition = kingOfRed; CS_ArmyManager.AddRedCharacter(kingOfRed, preMap2.GetComponent <CharacterScript>()); //characters.Add(kingOfRed, preMap2.GetComponent<CharacterScript>()); GameObject go3 = Resources.Load("KingOfBlue", typeof(GameObject)) as GameObject; GameObject preMap3 = Instantiate(go3) as GameObject; preMap3.transform.position = GameObject.Find(kingOfBlue).transform.position; preMap3.transform.name = "KingOfBlue"; preMap3.GetComponent <CharacterScript>().localPosition = kingOfBlue; CS_ArmyManager.AddBlueCharacter(kingOfBlue, preMap3.GetComponent <CharacterScript>()); //characters.Add(kingOfBlue, preMap3.GetComponent<CharacterScript>()); buildings.Add("1,4", GameObject.Find("tower")); buildings.Add("14,5", GameObject.Find("tower (1)")); buildings.Add("4,3", GameObject.Find("village")); buildings.Add("11,6", GameObject.Find("village (1)")); }
public void ClickCharacter() { rageMap = GetMoveRage(name, CS_ArmyManager.GetCharacter(name).moveCose, null); MapManagerScript.strs = rageMap.Keys; }