public void CreateRoom(RoomButton b)
        {
            if (isMultiplayer.value)
            {
                if (!isConnected.value)
                {
                    // Cannot connect to server but tried to acces multiplayer
                }
                else
                {
                    RoomOptions roomOptions = new RoomOptions();
                    roomOptions.MaxPlayers = 4;

                    ExitGames.Client.Photon.Hashtable properties = new ExitGames.Client.Photon.Hashtable
                    {
                        { "scene", b.scene }
                    };

                    roomOptions.CustomRoomPropertiesForLobby = new string[] { "scene" };
                    roomOptions.CustomRoomProperties         = properties;

                    PhotonNetwork.CreateRoom(null, roomOptions, TypedLobby.Default);
                }
            }
            else
            {
                //This will be single player
                Room r = ScriptableObject.CreateInstance <Room>();
                r.sceneName = b.scene;
                GameManagers.GetResourcesManager().currentRoom.Set(r);
            }
        }
        public void LoadCurrentSceneActual(OnSceneLoaded callback = null)
        {
            Room r = GameManagers.GetResourcesManager().currentRoom.value;

            if (!isLoading)
            {
                isLoading = true;
                StartCoroutine(LoadScene(r.sceneName, callback));
            }
        }
        public void LoadCharacterModel(string modelId)
        {
            ClothItem c = GameManagers.GetResourcesManager().GetClothItem(modelId);

            if (characterHook == null)
            {
                InitReferences();
            }
            characterHook.Init(c);
        }
        private void OnEnable()
        {
            camera.position = cameraPositions[0].position;
            camera.rotation = cameraPositions[0].rotation;
            currentCat      = CategorySelection.none;

            clothes = GameManagers.GetResourcesManager().GetAllClothItems();
            weapons = GameManagers.GetResourcesManager().GetAllWeapons();

            string modelId         = GameManagers.GetProfile().modelId;
            string primaryWeapon   = GameManagers.GetProfile().itemIds[0];
            string secondaryWeapon = GameManagers.GetProfile().itemIds[1];

            for (int i = 0; i < clothes.Count; i++)
            {
                if (string.Equals(clothes[i].name, modelId))
                {
                    clothIndex = i;
                    break;
                }
            }

            for (int i = 0; i < weapons.Count; i++)
            {
                if (string.Equals(weapons[i].name, primaryWeapon))
                {
                    primaryWeaponIndex = i;
                    break;
                }

                if (string.Equals(weapons[i].name, secondaryWeapon))
                {
                    secondaryWeaponIndex = i;
                    break;
                }
            }

            offlineState.LoadCharacterModel(clothes[clothIndex].name);

            if (primaryWeaponObject != null)
            {
                Destroy(primaryWeaponObject);
            }
            primaryWeaponObject = CreateWeapon(weapons[primaryWeaponIndex], primaryWeaponParent);

            if (secondaryWeaponObject != null)
            {
                Destroy(secondaryWeaponObject);
            }
            secondaryWeaponObject = CreateWeapon(weapons[secondaryWeaponIndex], secondaryWeaponParent);
        }
        public override void OnCreatedRoom()
        {
            Room   r = ScriptableObject.CreateInstance <Room>();
            object sceneName;

            PhotonNetwork.CurrentRoom.CustomProperties.TryGetValue("scene", out sceneName);
            r.sceneName = (string)sceneName;
            r.roomName  = PhotonNetwork.CurrentRoom.Name;
            Debug.Log("Roomname: " + r.roomName + " PhotonNetworkCurrentRoomName: " + PhotonNetwork.CurrentRoom.Name);
            Debug.Log("Scenename: " + r.sceneName);

            GameManagers.GetResourcesManager().currentRoom.value = r;
            Debug.Log("OnCreatedRoom");
        }
 //Gets called by an event
 public void LoadCurrentRoom()
 {
     Debug.Log("(7) Multiplayer Launcher: LoadCurrentRoom called");
     if (isConnected)
     {
         MultiplayerManager.singleton.BroadcastSceneChange();
     }
     else
     {
         Room r = GameManagers.GetResourcesManager().currentRoom.value;
         if (!isLoading)
         {
             isLoading = true;
             StartCoroutine(LoadScene(r.sceneName));
         }
     }
 }
Ejemplo n.º 7
0
        public override void Execute(StateManager states)
        {
            ResourcesManager resourcesManager = GameManagers.GetResourcesManager();

            Weapon targetWeapon = (Weapon)resourcesManager.GetItemInstance(states.inventory.weaponID);

            states.inventory.currentWeapon = targetWeapon;
            targetWeapon.Init();

            Transform rightHand = states.anim.GetBoneTransform(HumanBodyBones.RightHand);

            targetWeapon.runtime.modelInstance.transform.parent           = rightHand;
            targetWeapon.runtime.modelInstance.transform.localScale       = (Vector3.one * 100);
            targetWeapon.runtime.modelInstance.transform.localPosition    = Vector3.zero;
            targetWeapon.runtime.modelInstance.transform.localEulerAngles = Vector3.zero;


            states.animHook.LoadWeapon(targetWeapon);
        }
 public void OnClick()
 {
     GameManagers.GetResourcesManager().currentRoom.SetRoomButton(this);
 }