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); } }
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; } } }