public void OnShow(ChessController chess, ArrayList posCanMove) { ClearDotOnBoard(); foreach (int pos in posCanMove) { XY point = (XY)XYValues[pos]; Transform newDot = Instantiate(dot, new Vector3(point.mXWorld, point.mYWorld, -1), Quaternion.identity); DotController controller = newDot.GetComponent <DotController>(); controller.SetIndex(pos); controller.SetOnMoveClickListener(this); mDots.Add(newDot); } mCurrentChess = chess; }