91 lines
2.1 KiB
C#
91 lines
2.1 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;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
namespace G
|
|||
|
{
|
|||
|
public class Stat_GeneralCastAction : Stat_BaseAction
|
|||
|
{
|
|||
|
private int skillID;
|
|||
|
|
|||
|
private enStat nextStat;
|
|||
|
|
|||
|
public Stat_GeneralCastAction(Stat_StateManager statMgr)
|
|||
|
: base(statMgr)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public override bool Enter(Dictionary<string, object> param, bool clearDelegates = false)
|
|||
|
{
|
|||
|
base.Enter(param, clearDelegates);
|
|||
|
skillID = (int)param["skill_id"];
|
|||
|
nextStat = (enStat)(int)param["next_stat"];
|
|||
|
string animationName = GetAnimationName();
|
|||
|
//m_curAniLength = m_char.PlayAnimation(animationName);
|
|||
|
if (m_curAniLength == -1f)
|
|||
|
{
|
|||
|
m_char.isSkilling = true;
|
|||
|
AnimationEnd_CB(null);
|
|||
|
Debug.Log("Could not find animation : " + animationName + "skip ");
|
|||
|
}
|
|||
|
m_statMgr.AddTimer(m_curAniLength, AnimationEnd_CB);
|
|||
|
m_char.isSkilling = true;
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
public override bool CanTransition(enStat stat)
|
|||
|
{
|
|||
|
if (stat == enStat.STAT_ACTION_DEAD)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
bool result = true;
|
|||
|
if (m_char.isSkilling)
|
|||
|
{
|
|||
|
if (stat >= enStat.STAT_ACTION_SKILL && stat <= enStat.STAT_ACTION_SKILL_MAX)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
return result;
|
|||
|
}
|
|||
|
|
|||
|
public bool AnimationEnd_CB(object[] param)
|
|||
|
{
|
|||
|
Dictionary<string, object> dictionary = new Dictionary<string, object>();
|
|||
|
dictionary.Add("skill_id", skillID);
|
|||
|
return SetCurActionState(nextStat, dictionary);
|
|||
|
}
|
|||
|
|
|||
|
public string GetAnimationName()
|
|||
|
{
|
|||
|
switch (m_char.myWeaponType)
|
|||
|
{
|
|||
|
case 2:
|
|||
|
return "cast1";
|
|||
|
case 3:
|
|||
|
return "cast1";
|
|||
|
case 4:
|
|||
|
return "cast1";
|
|||
|
case 5:
|
|||
|
return "cast3";
|
|||
|
case 6:
|
|||
|
return "cast2";
|
|||
|
default:
|
|||
|
return string.Empty;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|