Пример #1
0
    /// <summary>
    /// 更新棋局
    /// </summary>
    public static void UpdateChessGame()
    {
        CalculateUtil.UpdateChessData();        //更新棋局
        Dictionary <GameObject, Vector2> temp = new Dictionary <GameObject, Vector2>();

        foreach (KeyValuePair <GameObject, Vector2> kvp in CalculateUtil.chess2Vector)
        {
            //一定要遍历赋值的,否则如果直接temp=CalculateUtil.chess2Vector就相当于引用了这个静态字典,没用
            temp.Add(kvp.Key, kvp.Value);
        }
        maps.Add(temp);  //添加棋谱
    }
Пример #2
0
 /// <summary>
 /// 悔棋点击事件
 /// </summary>
 public void Undo_Click()
 {
     if (maps.Count >= 3)
     {
         Dictionary <GameObject, Vector2> temp = maps[maps.Count - 1 - 2];
         foreach (KeyValuePair <GameObject, Vector2> kvp in temp)
         {
             CalculateUtil.ResetChessByMaps(kvp.Key, kvp.Value);
         }
         maps.RemoveRange(maps.Count - 2, 2);
         CalculateUtil.UpdateChessData();
         ResetChessReciprocalStateEvent();
         Chess_Boss.DetectBeAttacked(CalculateUtil.chess2Vector, CalculateUtil.vector2Chess);
     }
     else
     {
         //GameObject.Find("UndoButton").GetComponent<Button>().enabled = false;
     }
 }