Exemple #1
0
    void onPressInteractive(GameObject go, bool isPress)
    {
        if (sample == null)
        {
            return;
        }

        if (isPress)
        {
            rotater.enabled       = false;
            characterRotate.state = UICharacterRotate.STATE_PRESS;
            checkTime             = Time.realtimeSinceStartup;
        }
        else
        {
            characterRotate.state = UICharacterRotate.STATE_NORMAL;
            if (Time.realtimeSinceStartup - checkTime < 0.4f)
            {
//				sample.playAni(Monster.ATK);
//				sample.renderAniRightNow();

                if (sample.ani.GetClip(Monster.ATK) != null && sample.ani.IsPlaying(Monster.ATK) == false)
                {
                    sample.ani.CrossFade(Monster.ATK);

                    int atkNum = 0;

                    if (Monster.ATK_INDEX.TryGetValue(Monster.ATK, out atkNum))
                    {
                        SoundData.playAttackSound(sample.monsterData.resource, atkNum);
                    }

                    if (sample.ani.GetClip(Monster.NORMAL_LOBBY) != null)
                    {
                        sample.ani.CrossFadeQueued(Monster.NORMAL_LOBBY);
                    }
                    else if (sample.ani.GetClip(Monster.NORMAL) != null)
                    {
                        sample.ani.CrossFadeQueued(Monster.NORMAL);
                    }
                }
            }
            rotater.enabled = (popupType == RuneInfoPopup.Type.Make);
        }
    }
Exemple #2
0
    public void playAni(string id, float fadeTime = 0.2f)
    {
                #if UNITY_EDITOR
        //ff Log.log(resourceId, " id : " + id + "   hasani: " + hasAni + "    ui:  " + GameManager.me.uiManager.currentUI);
                #endif

        int i = 0;

        if (hasAni == false)
        {
            getAniDelayMethod().onCompleteAnimation(0.5f, id);
            //StartCoroutine(onCompleteAnimation(0.5f, id));
        }
        else
        {
            //fuckyou if(pet != null) pet.animation.CrossFade(id, aniFadeTime);
            aniFadeTime = fadeTime;

            if (id.Contains(SHOOT_HEADER))
            {
                setAniData(id);

//				Debug.Log(resourceId + "   " + _tempAniData.ani);

                float speedValue = (1.0f / ani[_tempAniData.ani].speed);

                if (GameManager.me.uiManager.currentUI == UIManager.Status.UI_PLAY)
                {
#if UNITY_EDITOR
                    //ff Log.log(resourceId, "_tempAniData.delayLength : " + _tempAniData.delayLength);
#endif

                    for (i = 0; i < _tempAniData.delayLength; ++i)
                    {
#if UNITY_EDITOR
                        //ff Log.log(resourceId, "getAniDelayMethod().onAttackAnimation : " , _tempAniData.delay[i], id, i, _tempAniData.ani);
#endif
                        getAniDelayMethod().onAttackAnimation(_tempAniData.delay[i] * speedValue, id, i, _tempAniData.ani, this);
                        //StartCoroutine(onAttackAnimation(_tempAniData.delay[i], id, i, _tempAniData.ani));
                    }

#if UNITY_EDITOR
                    if (BattleSimulator.nowSimulation && BattleSimulator.instance.skipTime > 1)
                    {
                    }
                    else
#endif
                    {
                        for (i = 0; i < _tempAniData.effectNum; ++i)
                        {
                            StartCoroutine(onAniEffect(_tempAniData.effect[i].delay * speedValue, _tempAniData.effect[i], _tempAniData.id, i, _tempAniData.ani));
                        }

                        for (i = 0; i < _tempAniData.camEffectNum; ++i)
                        {
                            StartCoroutine(onAniCamEffect(_tempAniData.camEffect[i].delay * speedValue, _tempAniData.camEffect[i], _tempAniData.ani));
                        }

                        for (i = 0; i < _tempAniData.soundNum; ++i)
                        {
                            StartCoroutine(onAniSound(_tempAniData.sound[i].delay * speedValue, _tempAniData.sound[i].id));
                        }
                    }
                }

                ++_setAniCount;
                nowAniId = _tempAniData.ani;

                if (GameManager.info.soundData.TryGetValue(resourceId, out SoundData.tempSoundData))
                {
                    int atkNum = 0;

                    if (Monster.ATK_INDEX.TryGetValue(_tempAniData.ani, out atkNum))
                    {
                        if (isPlayer)
                        {
                            SoundData.playPlayerAttackSound(SoundData.tempSoundData, playerData.characterId);
                        }
                        else
                        {
                            SoundData.playAttackSound(monsterData.resource, atkNum);
                        }
                    }
                }

                getAniDelayMethod().onCompleteAnimation(ani[_tempAniData.ani].length * speedValue, id);
                //StartCoroutine(onCompleteAnimation(animation[_tempAniData.ani].length, id));
            }
            else if (id == DEAD)
            {
                _setAniCount = 0;

                //fuckyouanimation.CrossFade(id, aniFadeTime);
                if (ani.GetClip(id))
                {
                    nowAniId = id;

                    renderAni();

                    getAniDelayMethod().onCompleteAnimation(ani[id].length * 1.1f, id);
                }
                else
                {
                    getAniDelayMethod().onCompleteAnimation(0.1f, id);
                }



                //StartCoroutine(onCompleteAnimation(animation[id].length, id));
            }
            else
            {
                _setAniCount = 0;
                //if(animation.clip == animation[id].clip && animation.isPlaying && animation[id].clip.isLooping) return;
                //if(animation.clip == animation[id].clip && animation.isPlaying && animation[id].clip.isLooping) return;
                nowAniId = id;
            }
        }
    }