public AbstractActionFrame(ActionPlayer action, ActionFrameData data)
    {
        m_ActionPlayer     = action;
        m_FrameData        = data;
        m_lstTargetObjects = new List <GameObject>();

        if (data.TargetIDs == null)
        {
            Debuger.LogWarning("No Target ID in ActionFrameData at time: " + data.Time.ToString());
            return;
        }

        Dictionary <int, GameObject> allObjects = m_ActionPlayer.GetTargetObjects();

        foreach (int index in data.TargetIDs)
        {
            if (allObjects.ContainsKey(index))
            {
                m_lstTargetObjects.Add(allObjects[index]);
            }
            else if (index > 10000010)
            {
                Debuger.LogWarning(("<color=orange>" + (EActionFrameType)data.Type).ToString() + "</color> Affected GameObject Not Found, ID: " + index.ToString());
            }
            else if (index > 10000000 && index <= 10000010)
            {
                if (!allObjects.ContainsKey(10000001) && !allObjects.ContainsKey(10000002))
                {
                    PlayerCharacter player = PlayerManager.Instance.GetPlayerInstance();
                    if (player != null)
                    {
                        CharTransformData charData   = (CharTransformData)(player.GetTransformData());
                        GameObject        charObject = charData.GetGameObject();
                        m_lstTargetObjects.Add(charObject);
                    }
                }
            }
            else
            {
                Debuger.Log("Need Generated Object, ID: : " + index.ToString());
            }
        }
    }
    public AbstractActionFrame(ActionPlayer action, ActionFrameData data)
    {
        m_ActionPlayer = action;
        m_FrameData = data;
        m_lstTargetObjects = new List<GameObject>();

        if (data.TargetIDs == null)
        {
            Debuger.LogWarning("No Target ID in ActionFrameData at time: " + data.Time.ToString());
            return;
        }

        Dictionary<int, GameObject> allObjects = m_ActionPlayer.GetTargetObjects();
        foreach (int index in data.TargetIDs)
        {
            if (allObjects.ContainsKey(index))
            {
                m_lstTargetObjects.Add(allObjects[index]);
            }
            else if (index > 10000010)
            {
                Debuger.LogWarning(("<color=orange>" + (EActionFrameType)data.Type).ToString() + "</color> Affected GameObject Not Found, ID: " + index.ToString());
            }
            else if (index > 10000000 && index <= 10000010)
            {
                if (!allObjects.ContainsKey(10000001) && !allObjects.ContainsKey(10000002))
                {
                    PlayerCharacter player = PlayerManager.Instance.GetPlayerInstance();
                    if (player != null)
                    {
                        CharTransformData charData = (CharTransformData)(player.GetTransformData());
                        GameObject charObject = charData.GetGameObject();
                        m_lstTargetObjects.Add(charObject);
                    }
                }
            }
            else
            {
                Debuger.Log("Need Generated Object, ID: : " + index.ToString());
            }
        }
    }
    protected void UpdateGeneratedObjects()
    {
        if (m_FrameData.TargetIDs == null)
        {
            return;
        }
        Dictionary <int, GameObject> allObjects = m_ActionPlayer.GetTargetObjects();

        foreach (int index in m_FrameData.TargetIDs)
        {
            if (index <= 10000000)
            {
                if (allObjects.ContainsKey(index))
                {
                    m_lstTargetObjects.Add(allObjects[index]);
                }
                else
                {
                    Debuger.LogWarning(("<color=orange>" + (EActionFrameType)m_FrameData.Type).ToString() + "</color> Generated GameObject Not Found, ID: " + index.ToString());
                }
            }
        }
    }