Пример #1
0
    public void OnSyncBossAnim(BossAnimModel model)
    {
        Animation anim = GetComponent <Animation>();

        if (model.idle)
        {
            anim.Play("idle");
        }
        if (model.walk)
        {
            anim.Play("walk");
        }
        if (model.attack01)
        {
            anim.Play("attack01");
        }
        if (model.attack02)
        {
            anim.Play("attack02");
        }
        if (model.attack03)
        {
            anim.Play("attack03");
        }
        if (model.takeDamage)
        {
            anim.Play("takedamage");
        }
        if (model.die)
        {
            anim.Play("die");
        }
    }
Пример #2
0
    public void SyncBossAnim(BossAnimModel model)
    {
        Dictionary <byte, object> parameters = new Dictionary <byte, object>();

        ParameterTool.AddParameter(parameters, ParameterCode.BossAnim, model);
        PhotonEngine.Instance.SendRequest(OpCode, SubCode.SyncBossAnim, parameters);
    }
Пример #3
0
    public void CheckAnimation()  //检查动画的播放
    {
        Animation anim = GetComponent <Animation>();

        if (lastIsIdle != anim.IsPlaying("idle") || lastIsWalk != anim.IsPlaying("walk") || lastIsAttack01 != anim.IsPlaying("attack01") ||
            lastIsAttack02 != anim.IsPlaying("attack02") || lastIsAttack03 != anim.IsPlaying("attack03") ||
            lastIsTakeDamage != anim.IsPlaying("takedamage") || lastIsDie != anim.IsPlaying("die"))
        {
            BossAnimModel model = new BossAnimModel()
            {
                idle       = anim.IsPlaying("idle"),
                walk       = anim.IsPlaying("walk"),
                attack01   = anim.IsPlaying("attack01"),
                attack02   = anim.IsPlaying("attack02"),
                attack03   = anim.IsPlaying("attack03"),
                takeDamage = anim.IsPlaying("takedamage"),
                die        = anim.IsPlaying("die")
            };
            bossController.SyncBossAnim(model);  //同步boss动画
            lastIsIdle       = anim.IsPlaying("idle");
            lastIsWalk       = anim.IsPlaying("walk");
            lastIsAttack01   = anim.IsPlaying("attack01");
            lastIsAttack02   = anim.IsPlaying("attack02");
            lastIsAttack03   = anim.IsPlaying("attack03");
            lastIsTakeDamage = anim.IsPlaying("takedamage");
            lastIsDie        = anim.IsPlaying("die");
        }
    }
Пример #4
0
    public override void OnEventData(EventData data)
    {
        SubCode subCode = ParameterTool.GetSubCode(data.Parameters);

        switch (subCode)
        {
        case SubCode.SyncBossAnim:
            //Debug.Log("SubCode.SyncBossAnim");
            BossAnimModel model = ParameterTool.GetParameter <BossAnimModel>(data.Parameters, ParameterCode.BossAnim);
            OnSyncBossAnim(model);
            break;
        }
    }