Esempio n. 1
0
    public void PhotonAni()
    {
        PhotonAnimatorView pav = GetComponent <PhotonAnimatorView>();

        pav.SetLayerSynchronized(0, PhotonAnimatorView.SynchronizeType.Continuous);
        pav.SetLayerSynchronized(1, PhotonAnimatorView.SynchronizeType.Continuous);
        pav.SetParameterSynchronized("Speed", PhotonAnimatorView.ParameterType.Float, PhotonAnimatorView.SynchronizeType.Continuous);
        pav.SetParameterSynchronized("AttackMode", PhotonAnimatorView.ParameterType.Float, PhotonAnimatorView.SynchronizeType.Continuous);
        pav.SetParameterSynchronized("OpenFire", PhotonAnimatorView.ParameterType.Trigger, PhotonAnimatorView.SynchronizeType.Continuous);
    }
        void SetAnimatorProperties(Animator anim, PhotonAnimatorView animView)
        {
            foreach (AnimatorControllerParameter param in anim.parameters)
            {
                PhotonAnimatorView.ParameterType type = PhotonAnimatorView.ParameterType.Bool;
                switch (param.type)
                {
                case (AnimatorControllerParameterType.Bool):
                    type = PhotonAnimatorView.ParameterType.Bool;
                    break;

                case (AnimatorControllerParameterType.Float):
                    type = PhotonAnimatorView.ParameterType.Float;
                    break;

                case (AnimatorControllerParameterType.Int):
                    type = PhotonAnimatorView.ParameterType.Int;
                    break;

                case (AnimatorControllerParameterType.Trigger):
                    type = PhotonAnimatorView.ParameterType.Trigger;
                    break;
                }

                animView.SetParameterSynchronized(param.name, type, PhotonAnimatorView.SynchronizeType.Discrete);
            }

            if (anim.layerCount > 0)
            {
                for (int i = 0; i < anim.layerCount; i++)
                {
                    animView.SetLayerSynchronized(i, PhotonAnimatorView.SynchronizeType.Discrete);
                }
            }
        }
Esempio n. 3
0
    // Start is called before the first frame update
    void Start()
    {
        finishGame = false;
        // Max health upgrade
        if (UpgradeController.GetMaxHealthUpgrade())
        {
            maxHealth = 200;
        }
        else if (UpgradeController.GetSmallHealthUpgrade())
        {
            maxHealth = 150;
        }
        else
        {
            maxHealth = 100;
        }

        GameObject fixedJoystick = GameObject.Find("Fixed Joystick");

        joystick = fixedJoystick.GetComponent <FixedJoystick>();


        healthBar  = GameObject.Find("HealthBar").GetComponent <HealthBar>();
        extraJumps = extraJumpsValue;
        rb         = GetComponent <Rigidbody2D>();

        currentHealth = maxHealth;
        healthBar.SetMaxHealth(maxHealth);

        jumpButton = GameObject.Find("Jump").GetComponent <Button>();
        EventTrigger jumpEventTrigger = jumpButton.GetComponent <EventTrigger>();
        var          pointerDown      = new EventTrigger.Entry();

        pointerDown.eventID = EventTriggerType.PointerDown;
        pointerDown.callback.AddListener(jumpMethode);
        jumpEventTrigger.triggers.Add(pointerDown);
        photonView = GetComponent <PhotonView>();

        if (PhotonNetwork.IsMasterClient)
        {
            spawnPoint = GameObject.Find("SpawnPoint 1").transform;
        }
        else
        {
            spawnPoint = GameObject.Find("SpawnPoint 2").transform;
        }

        //set all Synchronized Parameter mode to continous
        PhotonAnimatorView           photonAnimator = GetComponent <PhotonAnimatorView>();
        List <SynchronizedParameter> parameters     = photonAnimator.GetSynchronizedParameters();

        foreach (SynchronizedParameter parameter in parameters)
        {
            photonAnimator.SetParameterSynchronized(parameter.Name, parameter.Type, SynchronizeType.Continuous);
        }
    }
Esempio n. 4
0
    public void ReciveJob(int job, PhotonMessageInfo info)
    {
        PlayerChar playerChar = null;

        // ジョブの番号によって処理を分ける
        switch (job)
        {
        case 0:
            // アーチャーのコンポ―ネントを入れる
            playerChar = gameObject.AddComponent <Archer>();
            // アーチャーのアニメーションを設定する
            anim.runtimeAnimatorController = archerAnimationController;
            break;

        case 1:
            // ウォーリアのコンポ―ネントを入れる
            playerChar = gameObject.AddComponent <Warrior>();
            // ウォーリアのアニメーションを設定する
            anim.runtimeAnimatorController = warriorAnimationController;
            break;

        case 2:
            // ソーサラーのコンポーネントを入れる
            playerChar = gameObject.AddComponent <Sorcerer>();
            // ソーサラーのアニメーションを設定する
            anim.runtimeAnimatorController = sorcererAnimationController;
            break;

        case 3:
            // モンクのコンポーネントを入れる
            playerChar = gameObject.AddComponent <Monk>();
            // モンクのアニメーションを設定する
            anim.runtimeAnimatorController = monkAnimationController;
            break;
        }
        // 同期対象に追加する
        photonView.ObservedComponents.Add(playerChar);
        // レイヤーの0番を同期に設定する
        animView.SetLayerSynchronized(0, PhotonAnimatorView.SynchronizeType.Discrete);
        // 同期設定を行う
        animView.SetParameterSynchronized("RunFlag", PhotonAnimatorView.ParameterType.Bool, PhotonAnimatorView.SynchronizeType.Discrete);
        playerChar.GetPlayerData().job = job;
    }
    public void OnGUI()
    {
        GUI.skin = Skin;

        string[] synchronizeTypeContent = new string[] { "Disabled", "Discrete", "Continuous" };

        GUILayout.BeginArea(new Rect(Screen.width - 200 * m_FoundPlayerSlideIn - 400 * m_SlideIn, 0, 600, Screen.height), GUI.skin.box);
        {
            GUILayout.Label("Mecanim Demo", GUI.skin.customStyles[0]);

            GUI.color = Color.white;
            string label = "Settings";

            if (m_IsOpen == true)
            {
                label = "Close";
            }

            if (GUILayout.Button(label, GUILayout.Width(110)))
            {
                m_IsOpen = !m_IsOpen;
            }

            string parameters = "";

            if (m_AnimatorView != null)
            {
                parameters += "Send Values:\n";

                for (int i = 0; i < m_AnimatorView.GetSynchronizedParameters().Count; ++i)
                {
                    PhotonAnimatorView.SynchronizedParameter parameter = m_AnimatorView.GetSynchronizedParameters()[i];

                    try
                    {
                        switch (parameter.Type)
                        {
                        case PhotonAnimatorView.ParameterType.Bool:
                            parameters += parameter.Name + " (" + (m_AnimatorView.GetComponent <Animator>().GetBool(parameter.Name) ? "True" : "False") + ")\n";
                            break;

                        case PhotonAnimatorView.ParameterType.Int:
                            parameters += parameter.Name + " (" + m_AnimatorView.GetComponent <Animator>().GetInteger(parameter.Name) + ")\n";
                            break;

                        case PhotonAnimatorView.ParameterType.Float:
                            parameters += parameter.Name + " (" + m_AnimatorView.GetComponent <Animator>().GetFloat(parameter.Name).ToString("0.00") + ")\n";
                            break;
                        }
                    }
                    catch
                    {
                        Debug.Log("derrrr for " + parameter.Name);
                    }
                }
            }

            if (m_RemoteAnimator != null)
            {
                parameters += "\nReceived Values:\n";

                for (int i = 0; i < m_AnimatorView.GetSynchronizedParameters().Count; ++i)
                {
                    PhotonAnimatorView.SynchronizedParameter parameter = m_AnimatorView.GetSynchronizedParameters()[i];

                    try
                    {
                        switch (parameter.Type)
                        {
                        case PhotonAnimatorView.ParameterType.Bool:
                            parameters += parameter.Name + " (" + (m_RemoteAnimator.GetBool(parameter.Name) ? "True" : "False") + ")\n";
                            break;

                        case PhotonAnimatorView.ParameterType.Int:
                            parameters += parameter.Name + " (" + m_RemoteAnimator.GetInteger(parameter.Name) + ")\n";
                            break;

                        case PhotonAnimatorView.ParameterType.Float:
                            parameters += parameter.Name + " (" + m_RemoteAnimator.GetFloat(parameter.Name).ToString("0.00") + ")\n";
                            break;
                        }
                    }
                    catch
                    {
                        Debug.Log("derrrr for " + parameter.Name);
                    }
                }
            }

            GUIStyle style = new GUIStyle(GUI.skin.label);
            style.alignment = TextAnchor.UpperLeft;

            GUI.color = new Color(1f, 1f, 1f, 1 - m_SlideIn);
            GUI.Label(new Rect(10, 100, 600, Screen.height), parameters, style);

            if (m_AnimatorView != null)
            {
                GUI.color = new Color(1f, 1f, 1f, m_SlideIn);

                GUILayout.Space(20);
                GUILayout.Label("Synchronize Parameters");

                for (int i = 0; i < m_AnimatorView.GetSynchronizedParameters().Count; ++i)
                {
                    GUILayout.BeginHorizontal();
                    {
                        PhotonAnimatorView.SynchronizedParameter parameter = m_AnimatorView.GetSynchronizedParameters()[i];

                        GUILayout.Label(parameter.Name, GUILayout.Width(100), GUILayout.Height(36));

                        int selectedValue = (int)parameter.SynchronizeType;
                        int newValue      = GUILayout.Toolbar(selectedValue, synchronizeTypeContent);

                        if (newValue != selectedValue)
                        {
                            m_AnimatorView.SetParameterSynchronized(parameter.Name, parameter.Type, (PhotonAnimatorView.SynchronizeType)newValue);
                        }
                    }
                    GUILayout.EndHorizontal();
                }
            }
        }
        GUILayout.EndArea();
    }
    IEnumerator HeroBorn()
    {
        Vector3 pos;

        do
        {
            pos = RandomPos();
            yield return(0);
        } while (CheckCanUse(pos));

        //Debug.Log(SelectHero.heroName);
        //player = ObjectPool.Instance.GetObj(SelectHero.heroName);
        //player.GetComponent<RPCScrip>().phv = phv;

        //player.AddComponent<PhotonView>();
        //phv = player.AddComponent<PhotonView>();

        //player.GetComponent<PhotonView>().ObservedComponents.Add(GetComponent<Transform>());
        //player.GetComponent<PhotonView>().ObservedComponents.Add(GetComponent<Animator>()); GetComponent<PhotonAnimatorView>();
        //pva.SetLayerSynchronized(0, PhotonAnimatorView.SynchronizeType.Continuous);
        //pva.SetLayerSynchronized(1, PhotonAnimatorView.SynchronizeType.Continuous);
        //pva.SetParameterSynchronized("speed", PhotonAnimatorView.ParameterType.Float, PhotonAnimatorView.SynchronizeType.Continuous);
        //pva.SetParameterSynchronized("AttackMode", PhotonAnimatorView.ParameterType.Float, PhotonAnimatorView.SynchronizeType.Continuous);
        //pva.SetParameterSynchronized("OpenFire", PhotonAnimatorView.ParameterType.Trigger, PhotonAnimatorView.SynchronizeType.Continuous);



        //Debug.Log(SelectHero.heroName+123);

        //zcc的networkTest脚本的生成方法
        // nwt.SpawnPlayer(SelectHero.heroName, pos);

        //photon的生成方法
        player     = PhotonNetwork.Instantiate(SelectHero.heroName, pos, Quaternion.identity);
        player.tag = "Player";
        player.GetComponent <PlayerAttack>().ChangeAttackAnimator(player.GetComponent <PlayerAttack>().currentWeaponName);
        Debug.Log(SelectHero.heroName + "8888888888888888888888");
        player.GetComponent <PlayerMove>().speed = float.Parse(DBA.Instance.GetCareerAttributeByName(SelectHero.heroName.Remove(SelectHero.heroName.IndexOf('0')))[4]);

        if (player.GetComponent <PhotonView>().IsMine)
        {
            PlayerSelfId.playerID = player;
        }


        //player.GetComponent<RPCScrip>().SapwnPlayer(SelectHero.heroName,pos);



        //player.GetComponent<PlayerAttack>().Init();
        Camera.main.transform.root.GetComponent <CameraFollow>().player1 = player.transform;

        phv = player.GetComponent <PhotonView>();
        pva = player.GetComponent <PhotonAnimatorView>();

        pva.SetLayerSynchronized(0, PhotonAnimatorView.SynchronizeType.Continuous);
        pva.SetLayerSynchronized(1, PhotonAnimatorView.SynchronizeType.Continuous);
        pva.SetParameterSynchronized("Speed", PhotonAnimatorView.ParameterType.Float, PhotonAnimatorView.SynchronizeType.Continuous);
        pva.SetParameterSynchronized("AttackMode", PhotonAnimatorView.ParameterType.Float, PhotonAnimatorView.SynchronizeType.Continuous);
        pva.SetParameterSynchronized("OpenFire", PhotonAnimatorView.ParameterType.Trigger, PhotonAnimatorView.SynchronizeType.Continuous);



        //  player.AddComponent<PlayerMove>();
        //  player.AddComponent<PlayerAttack>();
        //  player.AddComponent<PlayerAnimatorAttackEvent>();
        //   player.AddComponent<Rigidbody>();
        //  Rigidbody r =  player.GetComponent<Rigidbody>();
        //   r.useGravity = false;
        //   r.freezeRotation = true;
        //   player.AddComponent<CapsuleCollider>();
        //CapsuleCollider  p= player.GetComponent<CapsuleCollider>();
        //   p.radius = 1;
        //   p.center = new Vector3(0, 1.1f, 0.25f);
        //   p.height = 2.58f;
    }