Esempio n. 1
0
    private void NetworkAddFleetToWorld(int fleetID, Vector2 position, int fleetType, PhotonPlayer player)
    {
        if (PhotonNetwork.isMasterClient)
        {
            fleetID = HighestFleetID;
        }

        BufferedFleetList.Add(new BufferedFleet(fleetID, position, (FleetType)fleetType, player));

        if (!PhotonNetwork.isMasterClient)
        {
            // erase id also on clients
            fleetID = HighestFleetID;
            return;
        }

        photonView.RPC("NetworkAddFleetToWorld", PhotonTargets.OthersBuffered, fleetID, position, fleetType, player);
    }
Esempio n. 2
0
    public void AddBufferedFleetsToWorld(BufferedFleet bufferedFleet)
    {
        var fleetTile = TileList.Find(t => t.Position == bufferedFleet.Position);

        if (fleetTile.Fleet != null)
        {
            return;
        }

        var fleetParent = new GameObject("Fleet of: " + bufferedFleet.Player).transform;

        fleetParent.position = fleetTile.TileParent.position;
        fleetParent.SetParent(GameObject.Find(Tags.Fleets).transform);

        #region Instantiate units
        var units = new Unit[6];

        for (int i = 0; i < units.Length; i++)
        {
            var unitParent = new GameObject("Unit: " + i).transform;

            fleetParent.rotation = Quaternion.Euler(Vector3.up * (i * -60 - 30));

            unitParent.position = fleetTile.TileParent.position + Vector3.forward * 0.6f;
            unitParent.SetParent(fleetParent);
        }

        fleetParent.rotation = Quaternion.identity;
        #endregion

        var newFleet = new Fleet(bufferedFleet.ID, bufferedFleet.Player, fleetParent, (FleetType)bufferedFleet.FleetType, units);

        FleetList.Add(newFleet);

        fleetTile.Fleet = newFleet;

        BufferedFleetList.Remove(bufferedFleet);
    }