Ejemplo n.º 1
0
    void RpcUpdatePlayerUnitsOnAllClients(GameObject unit, int playerID, UnitData unitData, Vector3 nodeID)
    {
        //if (isLocalPlayer)
        //{
        if (unit != null)
        {
            // units need to be assigned a parent for the layermanager + camera shit

            AssignUnitDataToUnitScript(unit, playerID, unitData, nodeID);

            GameObject parent = LocationManager.GetNodeLocationScript_CLIENT(nodeID).gameObject;
            unit.transform.SetParent(parent.transform);

            UnitScript unitScript = unit.GetComponent <UnitScript>();
            Debug.Log("Unit Succesfully created on CLIENT: " + (int)unitScript.NetID.Value);
            UnitsManager.AddUnitToGame(playerID, (int)unitScript.NetID.Value, unitScript);     // add unit to generic unit manager pool

            LocationManager.SetUnitOnCube_CLIENT(unit.GetComponent <UnitScript>(), unitScript.UnitStartingWorldLoc);

            if (playerID == PlayerManager.PlayerID)
            {
                GetComponent <UnitsAgent>().AddUnitToUnitAgent(unitScript); // add unit to a more specific player unit pool

                if (unitData.UnitCombatStats[0] == 1)                       // if rank is 'Captain'???? then make active
                {
                    UnitsManager.SetUnitActive(true, playerID, (int)unitScript.NetID.Value);
                }
            }
        }
        else
        {
            Debug.Log("Unit cannot be created on CLIENT");
        }
        //}
    }