void CreateArrow(Dictionary <TileManager.TileDirection, Tile> movableDictionary) { directionArrowList = new List <DirectionArrow>(); foreach (KeyValuePair <TileManager.TileDirection, Tile> pair in movableDictionary) { TileManager.TileDirection direction = pair.Key; Vector3 characterPosition = characterInstance.transform.position; Vector2 arrowCoordinate = FieldTileUtility.GetCoordOfDirectionByPosition(direction, characterPosition); Vector2 arrowPosition = FieldTileUtility.GetPositionFromCoordinate(arrowCoordinate.x, arrowCoordinate.y); Vector3 arrowPositionWithZ = new Vector3(arrowPosition.x, arrowPosition.y, characterPosition.z); DirectionArrow directionArrow = null; directionArrow = GameObject.Instantiate(arrowPrefeb, arrowPositionWithZ, Quaternion.identity) as DirectionArrow; DirectionArrow directionArrowScript = directionArrow.gameObject.GetComponent <DirectionArrow>(); directionArrowScript.SetArrowDirection(direction); directionArrowList.Add(directionArrow); } }