using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
using System.Collections.Generic;
namespace game
{
///
/// 1v1扇耳光大赛TV演示面板 Event1v1BattleSlapTvPopupPanel
/// 真正的战斗演示面板,本版本只实现基础UI,Timeline/Spine系统留到后续版本
///
public partial class Event1v1BattleSlapTvPopupPanel
{
#region SerializeField
[Header("关闭面板")]
[SerializeField][Min(0f)] private float closePanelDelaySeconds = 2f;
[SerializeField][Min(0f)] private float firstMatchShowSeconds = 10f;
[Header("Animation")]
[SerializeField][Min(0)] private float hpBarChangeTime = 0.3f;
[SerializeField][Min(0)] private float hpTextChangeTime = 1f;
/// 罐头品质 >= 该值时使用重击 Timeline(attack/hit 的 _2 档)。
[SerializeField] private int heavyHitQualityMin = 3;
[Header("Result Timeline (_resDirector) 播放前延时(秒)")]
[SerializeField][Min(0f)] private float ko_animation_delay;
[SerializeField][Min(0f)] private float defeat_animation_delay;
[SerializeField][Min(0f)] private float timeout_animation_delay;
[Header("攻击→受击间隔(先播攻击侧 Timeline,按秒数推进到「落点」后再播受击侧;双方仅此一点耦合,收招各自播不回拉双人 idle)")]
[SerializeField][Min(0f)] private float attackHitGapPlayerLight = 0.08f;
[SerializeField][Min(0f)] private float attackHitGapPlayerHeavy = 0.12f;
[SerializeField][Min(0f)] private float attackHitGapNpcLight = 0.08f;
[SerializeField][Min(0f)] private float attackHitGapNpcHeavy = 0.12f;
[Header("play Timeline")]
[SerializeField] private PlayableAsset eat_player;
[SerializeField] private PlayableAsset eat_player_buff;
/// 循环待机;扇耳光流程里 hit2idle/攻击收招后以 Loop 播放且不阻塞后续 Timeline。
[SerializeField] private PlayableAsset idle_player;
[SerializeField] private PlayableAsset ko_player;
[SerializeField] private PlayableAsset win_player;
[SerializeField] private PlayableAsset attack_player_1;
[SerializeField] private PlayableAsset attack_player_2;
/// 受击后过渡到站姿,播完再接 循环更自然。
[SerializeField] private PlayableAsset hit2idle_player_1;
[SerializeField] private PlayableAsset hit2idle_player_2;
/// 受击到 KO 的过渡段,播完再接 。
[SerializeField] private PlayableAsset hit2ko_player_1;
[SerializeField] private PlayableAsset hit2ko_player_2;
[SerializeField] private PlayableAsset hit_player_1;
[SerializeField] private PlayableAsset hit_player_2;
[Header("enemy Timeline")]
/// 循环待机;受击侧 hit2idle 后以 Loop 播放且不阻塞后续逻辑。
[SerializeField] private PlayableAsset idle_enemy;
[SerializeField] private PlayableAsset ko_enemy;
[SerializeField] private PlayableAsset win_enemy;
[SerializeField] private PlayableAsset attack_enemy_1;
[SerializeField] private PlayableAsset attack_enemy_2;
/// 受击后过渡到站姿,播完再接 循环。
[SerializeField] private PlayableAsset hit2idle_enemy_1;
[SerializeField] private PlayableAsset hit2idle_enemy_2;
/// 受击到 KO 的过渡段,播完再接 。
[SerializeField] private PlayableAsset hit2ko_enemy_1;
[SerializeField] private PlayableAsset hit2ko_enemy_2;
[SerializeField] private PlayableAsset hit_enemy_1;
[SerializeField] private PlayableAsset hit_enemy_2;
[Header("result Timeline")]
[SerializeField] private PlayableAsset ko_player_res;
[SerializeField] private PlayableAsset defeat_enemy_res;
[SerializeField] private PlayableAsset timeout_player_res;
[Header("Signal")]
[SerializeField] private SignalAsset signalAsset;
[SerializeField]
private List tvDatas = new List();
#endregion
}
}