// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2020-09-02
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
//
//
// ***********************************************************************
using System.Collections.Generic;
using UnityEngine;
namespace G
{
public class Stat_DarkenAction : Stat_BaseAction
{
private string animNam = string.Empty;
#pragma warning disable CS0414 // 字段“Stat_DarkenAction.m_bAnimEnd”已被赋值,但从未使用过它的值
private bool m_bAnimEnd = true;
#pragma warning restore CS0414 // 字段“Stat_DarkenAction.m_bAnimEnd”已被赋值,但从未使用过它的值
private Vector3 posOffY = new Vector3(0f, 0.002f, 0f);
public Stat_DarkenAction(Stat_StateManager statMgr)
: base(statMgr)
{
}
public override bool Enter(Dictionary param, bool clearDelegates = false)
{
base.Enter(param, clearDelegates);
//m_char.EndOutofCameraHint();
//m_char.SetColliderEnabled(false);
//m_char.ReleaseDataOnDead();
//m_char.SetAttributeTexture(AtkDamageAttribute.DARKEN);
m_curAniLength = 1.2f;
if (param.ContainsKey("darken_time"))
{
m_curAniLength = (float)param["darken_time"];
}
animNam = "behitdown";
m_bAnimEnd = false;
m_statMgr.AddTimer(0.05f, AnimationLoop_CB, null, true);
m_statMgr.AddTimer(m_curAniLength, AnimationEnd_CB);
return true;
}
private bool AnimationLoop_CB(object[] param)
{
m_char.StopAnimation();
m_char.PlayAnimation(animNam);
return true;
}
private bool AnimationEnd_CB(object[] param)
{
m_bAnimEnd = true;
//return m_char.OnDead();
return false;
}
public override bool UpdateDelegate()
{
Vector3 curPos = m_char.position;
m_char.position = (curPos + posOffY);
return true;
}
public override bool Exit()
{
//m_char.ResetMainTexture();
return base.Exit();
}
public override bool CanTransition(enStat stat)
{
return false;
}
}
}