コード例 #1
0
 private void Start()
 {
     tr                    = GetComponent <Transform>();
     photonView            = GetComponent <PhotonView>();
     playerMovement        = GetComponent <PlayerMovement>();
     playerAnimation       = GetComponent <PlayerAnimation>();
     networkPlayerMovement = GetComponent <NetworkPlayerMovement>();
     if (photonView.isMine)
     {
         playerObjectComponents = GetComponent <PlayerObjectComponents>();
     }
 }
コード例 #2
0
    private void Start()
    {
        src = GetComponent <AudioSource>();
        if (!photonView.IsMine)
        {
            return;
        }
        CreateVaultHelper();
        playerInput = GetComponent <NetworkPlayerInput>();
        movement    = GetComponent <NetworkPlayerMovement>();

        if (GetComponentInChildren <AnimateLean>())
        {
            animateLean = GetComponentInChildren <AnimateLean>();
        }

        slideLimit  = movement.controller.slopeLimit - .1f;
        radius      = movement.controller.radius;
        height      = movement.controller.height;
        halfradius  = radius / 2f;
        halfheight  = height / 2f;
        rayDistance = halfheight + radius + .1f;
    }
    private void Start()
    {
        NetworkPlayerMovement = GetComponent <NetworkPlayerMovement>();
        PlayerMovement        = GetComponent <PlayerMovement>();
        PlayerShooting        = GetComponent <PlayerShooting>();
        PlayerMouseLook       = GetComponent <PlayerObjectComponents>().PlayerCamera.GetComponent <MouseLook>();
        Animator_1stPerson    = GetComponent <PlayerObjectComponents>().animator1;
        Animator_3rdPerson    = GetComponent <PlayerObjectComponents>().animator3;
        PhotonView            = GetComponent <PhotonView>();
        PlayerCamera          = GetComponent <PlayerObjectComponents>().PlayerCamera.GetComponent <Camera>();
        DeathCamera           = GetComponent <PlayerObjectComponents>().DeathCamera.GetComponent <Camera>();

        playerCameraView = PlayerCameraView.FirstPerson;

        if (PlayerMovement.MovementType.Equals(MovementType.Player))
        {
            Param_3rdPersonLowerBody    = Animator.StringToHash("Param_3rdPersonLowerBody");
            Param_3rdPersonUpperBody    = Animator.StringToHash("Param_3rdPersonUpperBody");
            Param_3rdPerson_AimAngle    = Animator.StringToHash("Param_3rdPerson_AimAngle");
            Param_JumpBool              = Animator.StringToHash("JumpBool");
            Param_DeathBool             = Animator.StringToHash("DeathBool");
            Param_1stPersonUpperBody_AR = Animator.StringToHash("Param_1stPersonUpperBody_AR");
        }
    }
コード例 #4
0
        private void SetupEvents()
        {
            On("open", (E) => {
                Debug.Log("Connection Made to the Server");
            });

            On("register", (E) => {
                ClientID = E.data["id"].ToString().Trim('"');

                Debug.LogFormat("Our Client's ID ({0})", ClientID);
            });

            On("spawn", (E) => {
                string id      = E.data["id"].ToString().Trim('"');
                float x        = E.data["position"]["x"].f;
                float y        = E.data["position"]["y"].f;
                float rotation = E.data["rotation"].f;

                Vector3 position = new Vector3(x, y, 0);

                GameObject g = Instantiate(player, position, Quaternion.Euler(0, 0, rotation), networkContainer);
                g.name       = string.Format("Player ({0})", id);

                NetworkIdentity ni = g.GetComponent <NetworkIdentity>();
                ni.SetControllerID(id);
                ni.SetSocketReference(this);

                serverObjects.Add(id, ni);

                if (ni.IsLocalPlayer)
                {
                    Camera mainCamera = Camera.main;
                    CameraFollowPlayer cameraFollowPlayer = mainCamera.GetComponent <CameraFollowPlayer>();
                    cameraFollowPlayer.SetFollowPlayer(ni.transform);
                }
                else
                {
                    CircleCollider2D coll = g.GetComponent <CircleCollider2D>();
                    coll.isTrigger        = true;
                }
            });

            On("respawn", (E) => {
                string id      = E.data["id"].ToString().Trim('"');
                float x        = E.data["position"]["x"].f;
                float y        = E.data["position"]["y"].f;
                float rotation = E.data["rotation"].f;

                GameObject g = serverObjects[id].gameObject;
                g.SetActive(true);

                g.transform.position = new Vector3(x, y, 0);
                g.transform.rotation = Quaternion.Euler(0, 0, rotation);
            });

            On("disconnected", (E) => {
                string id = E.data["id"].ToString().Trim('"');

                GameObject g = serverObjects[id].gameObject;
                Destroy(g);               //Remove from game
                serverObjects.Remove(id); //Remove from memory
            });

            On("move", (E) => {
                string id      = E.data["id"].ToString().Trim('"');
                float x        = E.data["position"]["x"].f;
                float y        = E.data["position"]["y"].f;
                float timeSent = E.data["timeSent"].f;

                NetworkIdentity ni             = serverObjects[id];
                NetworkPlayerMovement movement = ni.GetComponent <NetworkPlayerMovement>();
                Vector3 position = new Vector3(x, y, 0);

                movement.CorrectPosition(timeSent, position);
            });

            On("collisionMove", (E) => {
                string id = E.data["id"].ToString().Trim('"');
                float x   = E.data["position"]["x"].f;
                float y   = E.data["position"]["y"].f;

                NetworkIdentity ni = serverObjects[id];
                Vector3 position   = new Vector3(x, y, 0);

                ni.transform.position = position;
            });

            On("aim", (E) => {
                string id      = E.data["id"].ToString().Trim('"');
                float rotation = E.data["rotation"].f;

                NetworkIdentity ni    = serverObjects[id];
                ni.transform.rotation = Quaternion.Euler(0, 0, rotation);
            });

            On("seatMove", (E) => {
                string id      = E.data["id"].ToString().Trim('"');
                float x        = E.data["position"]["x"].f;
                float y        = E.data["position"]["y"].f;
                float rotation = E.data["rotation"].f;

                NetworkIdentity ni = serverObjects[id];
                Vector3 position   = new Vector3(x, y, 0);

                ni.transform.position = position;
                ni.transform.rotation = Quaternion.Euler(0, 0, rotation);
            });

            On("attack", (E) => {
                string id = E.data["id"].ToString().Trim('"');

                NetworkIdentity ni          = serverObjects[id];
                NetworkAttackManager attack = ni.GetComponent <NetworkAttackManager>();

                attack.InduceAttack();
            });

            On("interact", (E) => {
                string id = E.data["id"].ToString().Trim('"');

                NetworkIdentity ni           = serverObjects[id];
                NetworkInteractor interactor = ni.GetComponentInChildren <NetworkInteractor>();

                interactor.InduceInteract();
            });

            On("takeDamage", (E) => {
                string id    = E.data["id"].ToString().Trim('"');
                float damage = E.data["damage"].f;

                NetworkIdentity ni = serverObjects[id];
                NetworkHealthManager healthManager = ni.GetComponent <NetworkHealthManager>();

                healthManager.InduceDamage(damage);
            });
        }