shaoxiadiablo/Assets/AGame/Scripts/Game/Stat/Stat_FreezeAction.cs
2025-05-18 01:04:31 +08:00

70 lines
1.7 KiB
C#

// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2020-09-02
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "Stat_IdleAction" company="Kimch"></copyright>
// <summary></summary>
// ***********************************************************************
using System.Collections.Generic;
namespace G
{
/// <summary>
/// 冰冻
/// </summary>
public class Stat_FreezeAction : Stat_BaseAction
{
private string animNam = string.Empty;
private bool m_bAnimEnd = true;
public Stat_FreezeAction(Stat_StateManager statMgr)
: base(statMgr)
{
}
public override bool Enter(Dictionary<string, object> param, bool clearDelegates = false)
{
base.Enter(param, clearDelegates);
//m_char.SetAttributeTexture(AtkDamageAttribute.COLD);
m_curAniLength = 2f;
if (param.ContainsKey("freeze_time"))
{
m_curAniLength = (float)param["freeze_time"];
}
animNam = "behitdown";
m_char.PlayAnimation(animNam);
m_char.StopAnimation();
m_bAnimEnd = false;
m_statMgr.AddTimer(m_curAniLength, AnimationEnd_CB);
return true;
}
private bool AnimationEnd_CB(object[] param)
{
m_bAnimEnd = true;
return SetCurActionState(enStat.STAT_ACTION_IDLE);
}
public override bool Exit()
{
//m_char.ResetMainTexture();
return base.Exit();
}
public override bool CanTransition(enStat stat)
{
bool result = false;
if (m_bAnimEnd || stat == enStat.STAT_ACTION_DEAD)
{
result = true;
}
return result;
}
}
}