Vector2 GetPlatformSpawnCoordinates(MapData.PlatformData platformData) { Vector2 range = platformData.GetVerticalRange(); float yCoordinate = Random.Range(range.x, range.y); return(new Vector2(platformData.xCoordinate, yCoordinate)); }
int SpawnPlatform(MapData.PlatformData platformData, Vector2 mapOrigin) { // Instantiate GameObject GameObject platformGameObject = PhotonNetwork.Instantiate( elevatorPrefab.name, mapOrigin + GetPlatformSpawnCoordinates(platformData), Quaternion.identity); Elevator elevator = platformGameObject.GetComponent <Elevator>(); float[] yCoordinates = new float[platformData.stops.Length]; bool[] isOnRightSideValues = new bool[yCoordinates.Length]; for (int i = 0; i < yCoordinates.Length; i++) { yCoordinates[i] = mapOrigin.y + platformData.stops[i].yCoordinate; isOnRightSideValues[i] = platformData.stops[i].isOnRightSide; } // Let all copies of the elevator know what their stops are elevator.photonView.RPC("RpcSetStopData", RpcTarget.All, yCoordinates, isOnRightSideValues); return(elevator.photonView.ViewID); }