Esempio n. 1
0
    void TargetAddFurniture(NetworkConnection networkConnection, NetworkObjectInfos objectInfos)
    {
        Scene actualScene = SceneManager.GetActiveScene();

        GameObject[] sceneObjects = actualScene.GetRootGameObjects();
        Transform    parent       = null;

        foreach (GameObject go in sceneObjects)
        {
            if (go.name == "prefabs group")
            {
                parent = go.transform;
            }
        }

        Item.TypeItem itemToSpawnType = (Item.TypeItem)objectInfos.idItem;

        Furniture furniture = GetFurnitureFromType(itemToSpawnType);

        if (furniture != null)
        {
            Vector3 position = Vector3.zero;
            position.x = objectInfos.posX;
            position.y = objectInfos.posY;

            GameObject prefab = GetPrefabFromFurniture(furniture);

            string     saveFile    = actualScene.name;
            GameObject furnitureGO = Instantiate(prefabsProps[(int)itemToSpawnType][objectInfos.direction], position, Quaternion.identity);
            furnitureGO.GetComponent <SpriteRenderer>().sprite = SpriteManager.GetSpriteManager.GetFurnitureSprite(furnitureGO.name.Substring(0, furnitureGO.name.IndexOf("_")), objectInfos.indexSprite, (E_FurnitureDirection)objectInfos.direction);
            props.Add(furnitureGO);
            furnitureGO.transform.SetParent(parent);
        }
    }
Esempio n. 2
0
 void CmdAddFurniture(int sceneId, NetworkObjectInfos networkObjectInfos)
 {
     if (!listFunituresPerScenes.ContainsKey(sceneId))
     {
         listFunituresPerScenes.Add(sceneId, new List <NetworkObjectInfos>());
     }
     listFunituresPerScenes[sceneId].Add(networkObjectInfos);
     foreach (GameObject g in PlayerManager.GetPlayerManager.listConnectedPlayers[sceneId])
     {
         TargetAddFurniture(g.GetComponent <NetworkIdentity>().connectionToClient, networkObjectInfos);
     }
 }
Esempio n. 3
0
 IEnumerator IAddFuniture(NetworkObjectInfos networkObjectInfos)
 {
     if (!hasAuthority)
     {
         pc.CmdSetAuthority(netID);
     }
     while (!hasAuthority)
     {
         yield return(null);
     }
     CmdAddFurniture(SceneManager.GetActiveScene().buildIndex, networkObjectInfos);
 }