Beispiel #1
0
    Vector2 GetPlatformSpawnCoordinates(MapData.PlatformData platformData)
    {
        Vector2 range       = platformData.GetVerticalRange();
        float   yCoordinate = Random.Range(range.x, range.y);

        return(new Vector2(platformData.xCoordinate, yCoordinate));
    }
Beispiel #2
0
    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);
    }