Esempio n. 1
0
 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));
     }
 }
Esempio n. 2
0
    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递归方法
    }
Esempio n. 3
0
    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());
    }
Esempio n. 4
0
 public void OnMouseEnter()
 {
     if (EventSystem.current.IsPointerOverGameObject())
     {
         return;
     }
     if (CS_ArmyManager.GetCharacter(name) != null)
     {
         GameObject.Find("Canvas").GetComponent <CS_Canvas>().GetCaracterState();
     }
 }
Esempio n. 5
0
    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 = "移动前";
            }
        }
    }
Esempio n. 6
0
    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);
    }
Esempio n. 7
0
    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;
    }
Esempio n. 8
0
 public void ClickCharacter()
 {
     rageMap = GetMoveRage(name, CS_ArmyManager.GetCharacter(name).moveCose, null);
     MapManagerScript.strs = rageMap.Keys;
 }