Пример #1
0
        private void OnPhotonInstantiate(PhotonMessageInfo messageInfo)
        {
            states            = GetComponent <StateAction.StateManager> ();
            transformInstance = this.transform;
            object[] data = photonView.instantiationData;
            states.photonID = (int)data[0];

            MultiplayerManager multiplayerManager = MultiplayerManager.Singleton;

            this.gameObject.transform.parent = multiplayerManager.MultiplayerReferences.referencesTransform;

            PlayerHolder playerHolder = multiplayerManager.MultiplayerReferences.GetPlayer(states.photonID);

            playerHolder.states = states;

            if (photonView.isMine)
            {
                states.currentState.isLocal = true;
                states.SetCurrentState(localState);
                initLocalPlayer.Execute(states);
            }
            else
            {
                string weaponID = (string)data[1];
                states.inventory.weaponID = weaponID;

                states.currentState.isLocal = false;
                states.SetCurrentState(clientState);
                initClientPlayer.Execute(states);
                states.multiplayerListener = this;
            }
        }
Пример #2
0
        public void RPCKillPlayer(int photonId, int killerId)
        {
            PlayerHolder playerHolder = MultiplayerReferences.GetPlayer(photonId);

            if (playerHolder.states != null)
            {
                playerHolder.states.KillPlayer();
            }
        }
Пример #3
0
        public void RPCSpawnPlayer(int photonId)
        {
            PlayerHolder playerHolder = MultiplayerReferences.GetPlayer(photonId);

            if (playerHolder.states != null)
            {
                playerHolder.states.SpawnPlayer();
            }
        }
Пример #4
0
        public void AddNewPlayer(NetworkPrint networkPrint)
        {
            networkPrint.transform.parent = MultiplayerReferences.referencesTransform;
            PlayerHolder holder = MultiplayerReferences.AddNewPlayer(networkPrint);

            if (networkPrint.isLocal)
            {
                MultiplayerReferences.localPlayer = holder;
            }
        }
Пример #5
0
        public void RPCShootWeapon(int photonId, Vector3 direction, Vector3 origin)
        {
            if (photonId == MultiplayerReferences.localPlayer.photonID)
            {
                return;
            }

            PlayerHolder shooter = MultiplayerReferences.GetPlayer(photonId);

            if (shooter != null)
            {
                ballistics.ClientShoot(shooter.states, null, direction, origin);
            }
        }
Пример #6
0
        public PlayerHolder AddNewPlayer(NetworkPrint networkPrint)
        {
            if (!IsUniquePlayer(networkPrint.photonId))
            {
                return(null);
            }

            PlayerHolder playerHolder = new PlayerHolder()
            {
                photonID     = networkPrint.photonId,
                networkPrint = networkPrint
            };

            players.Add(playerHolder);
            return(playerHolder);
        }