Example #1
0
    public void Reset()
    {
        m_fStartTime   = TimeManager.Instance.GetTime();
        m_fRunTime     = 0f;
        m_eActionState = EActionState.Play;

        m_lstActionFrames.Clear();
        if (m_ActionFileData != null && m_ActionFileData.FrameDatalist != null)
        {
            for (int iIndex = m_ActionFileData.FrameDatalist.Count - 1; iIndex >= 0; --iIndex)
            {
                ActionFrameData     inputData  = m_ActionFileData.FrameDatalist[iIndex];
                AbstractActionFrame skillFrame = ActionFrameFactory.CreateActionFrame(this, inputData);
                m_lstActionFrames.Add(skillFrame);
            }
        }

        // Stop Char Move
        StopCharMove();
        //DisableAI();
    }
Example #2
0
    public void Update()
    {
        Process();
        if (null == m_lstActionFrames || m_lstActionFrames.Count <= 0)
        {
            return;
        }

        float fRealTime = m_fRunTime;

        int nCount = m_lstActionFrames.Count;


        for (int i = nCount - 1; i >= 0; i--)
        {
            AbstractActionFrame skillFrame = m_lstActionFrames[i];

            if (null == skillFrame)
            {
                m_lstActionFrames.RemoveAt(i);
                continue;
            }

            skillFrame.Update(fRealTime);

            if (skillFrame.IsTrigger(fRealTime) && skillFrame.GetFrameState() == AbstractActionFrame.EActionFrameState.None)
            {
                skillFrame.SetFrameState(AbstractActionFrame.EActionFrameState.Excute);
                skillFrame.ExecuteBase();
            }
            else if (skillFrame.IsFinish(fRealTime) && skillFrame.GetFrameState() == AbstractActionFrame.EActionFrameState.Excute)
            {
                skillFrame.SetFrameState(AbstractActionFrame.EActionFrameState.Finish);
            }
        }
    }
Example #3
0
    public static AbstractActionFrame CreateActionFrame(ActionPlayer action, ActionFrameData data)
    {
        AbstractActionFrame actionFrame = null;

        if (null == data)
        {
            return(actionFrame);
        }

        switch ((EActionFrameType)data.Type)
        {
        case EActionFrameType.ShakeCamera:
            actionFrame = new ShakeCameraFrame(action, data);
            break;

        case EActionFrameType.MoveCamera:
            actionFrame = new MoveCameraFrame(action, data);
            break;

        case EActionFrameType.PlayAudio:
            actionFrame = new PlayAudioFrame(action, data);
            break;

        case EActionFrameType.StopAudio:
            actionFrame = new StopAudioFrame(action, data);
            break;

        case EActionFrameType.AddNpc:
            actionFrame = new AddNpcFrame(action, data);
            break;

        case EActionFrameType.MoveObject:
            actionFrame = new MoveTransformFrame(action, data);
            break;

        case EActionFrameType.EnableObject:
            actionFrame = new EnableObjFrame(action, data);
            break;

        case EActionFrameType.EnableMeshRender:
            actionFrame = new EnableMeshRenderFrame(action, data);
            break;

        case EActionFrameType.ChangeColor:
            actionFrame = new ChangeColorFrame(action, data);
            break;

        case EActionFrameType.Runtime_CreateEffect:
            actionFrame = new Runtime_CreateEffectFrame(action, data);
            break;

        case EActionFrameType.Runtime_MoveEffect:
            actionFrame = new Runtime_MoveEffectFrame(action, data);
            break;

        case EActionFrameType.AddStateEffect:
            actionFrame = new AddStateEffectFrame(action, data);
            break;

        case EActionFrameType.Runtime_RemoveEffect:
            actionFrame = new Runtime_RemoveEffectFrame(action, data);
            break;

        case EActionFrameType.Runtime_AddUI:
            actionFrame = new AddUIFrame(action, data);
            break;

        case EActionFrameType.Runtime_RemoveUI:
            actionFrame = new RemoveUIFrame(action, data);
            break;

        case EActionFrameType.MoveChar:
            actionFrame = new MoveCharFrame(action, data);
            break;

        case EActionFrameType.EntityPlayAnimation:
            actionFrame = new EntityPlayAnimFrame(action, data);
            break;

        case EActionFrameType.AnimChar:
            actionFrame = new AnimCharFrame(action, data);
            break;

        case EActionFrameType.RotateChar:
            actionFrame = new RotateCharFrame(action, data);
            break;

        case EActionFrameType.RotateCamera:
            actionFrame = new RotateCameraFrame(action, data);
            break;

        case EActionFrameType.ObjTransform:
            actionFrame = new ObjectTransformFrame(action, data);
            break;

        case EActionFrameType.FuncMethod:
            actionFrame = new FuncMethodFrame(action, data);
            break;
        }
        return(actionFrame);
    }