void Update() { #if UNITY_EDITOR if (Input.GetKey(KeyCode.F10)) { Buff_obj.SetActive(true); ZEventSystem.Dispatch(EventConst.OnGamePause, true); Time.timeScale = true ? 0 : 1; GetData(0, false); } if (Input.GetKey(KeyCode.F11)) { Buff_obj.SetActive(false); ZEventSystem.Dispatch(EventConst.OnGamePause, false); Time.timeScale = false ? 0 : 1; fighter = null; } #endif float deltaLerp = Time.deltaTime * FIGHTMASKSPEED; deltaLerp *= (MaskState == FightMaskState.None ? 0 : (MaskState == FightMaskState.Forward ? 1 : -1)); _fightMaskLerp += deltaLerp; if (_fightMaskLerp < 0 || _fightMaskLerp > 1) { _fightMaskLerp = Mathf.Clamp01(_fightMaskLerp); MaskState = FightMaskState.None; ZEventSystem.Dispatch(EventConst.OnFightMaskOver); } this.FightMask_img.color = new Color(0, 0, 0, _fightMaskLerp); int timeleft = (int)(FightLogic.Instance.RoundTime - FightLogic.Instance.AccRoundTime); if (_timeleft != timeleft) { this.time_txt.text = string.Format("{0}:{1:D2}", timeleft / 60, timeleft % 60); _timeleft = timeleft; } for (int idx = _treasureEffect.Count - 1; idx >= 0; --idx) { TreasureEffectObj obj = _treasureEffect[idx]; float deltaDis = Time.deltaTime * TreasureEffectSpeed; Vector3 dir = obj.EndPos - obj.TreasureEffect.transform.position; if (dir.sqrMagnitude <= Mathf.Pow(deltaDis, 2)) { GameObject.Destroy(obj.TreasureEffect); _treasureEffect.RemoveAt(idx); ZEventSystem.Dispatch(EventConst.OnTreasureFlyOver); } else { obj.TreasureEffect.transform.position += dir.normalized * deltaDis; } } }
/// <summary> /// 回合间过度效果(天黑天亮),天黑时机,战斗状态Continue,摄像机移动完毕 /// 天亮时机,进入下回合Prepare(不能是下次摄像机移动完成,因为那是在Fight的时候) /// </summary> /// <param name="forward">天黑or天亮</param> public void PlayFightMask(bool forward) { MaskState = forward ? FightMaskState.Forward : FightMaskState.Inverse; _fightMaskLerp = forward ? 0f : 1f; }