Beispiel #1
0
    public SkillAnimProcedureInfo Clone()
    {
        SkillAnimProcedureInfo newData = new SkillAnimProcedureInfo();

        newData.Duration  = Duration;
        newData.BoneName  = BoneName;
        newData.AnimName  = AnimName;
        newData.TargetPos = TargetPos;
        return(newData);
    }
Beispiel #2
0
 internal void LateUpdate()
 {
     if (CheckProcedureValid())
     {
         m_Elapsed += Time.deltaTime;
         if (m_Elapsed < m_Info.Duration)
         {
             Transform targetTrans = LogicSystem.FindChildRecursive(this.gameObject.transform, m_Info.BoneName);
             if (null != targetTrans)
             {
                 Vector3 targetDir = m_Info.TargetPos - targetTrans.position;
                 targetTrans.forward = targetDir;
             }
         }
     }
     else
     {
         m_Elapsed = 0;
         m_Info    = null;
     }
 }
Beispiel #3
0
    /// param:Duration[持续时间],BoneName[骨骼名字],AnimName[动画名字]
    /// example:0.5,ef_righthand,QiangShou_Test09
    public void Trigger_StartAnimProcedure(string param)
    {
#if SHOOTER_LOG
        Debug.Log("Trigger_StartAnimProcedure param:");
#endif
        SkillAnimProcedure tAniProce = this.gameObject.GetComponent <SkillAnimProcedure>();
        if (tAniProce == null)
        {
            LogicSystem.GfxLog("Trigger_StartAnimProcedure SkillAnimProcedure miss!");
            return;
        }
        IShooterSkill curSkill = TriggerImpl.GetCurSkill(this.gameObject);
        if (curSkill == null)
        {
            Debug.Log("Trigger_StartAnimProcedure curSkill null!");
            return;
        }
        SkillAnimProcedureInfo info = new SkillAnimProcedureInfo(param);
        info.TargetPos = curSkill.GetTargetPos();
        tAniProce.StartAnimProcedure(info);
    }
Beispiel #4
0
 public void StartAnimProcedure(SkillAnimProcedureInfo info)
 {
     m_Info    = info;
     m_Elapsed = 0;
 }