// System Method
 private void ClearData()
 {
     if (null != m_CreatedNpcObject)
     {
         GameObject.Destroy(m_CreatedNpcObject);
     }
     // clear config
     if (null != m_Config)
     {
         m_Config       = new ObjectTransformFrameConfig();
         m_Config.Pos   = new ThriftVector3();
         m_Config.Rot   = new ThriftVector3();
         m_Config.Scale = new ThriftVector3();
     }
 }
 // Events
 private void Init()
 {
     //Window Setting
     m_Instance.minSize = new Vector2(WINDOW_MIN_WIDTH, WINDOW_MIN_HIEGHT);
     m_ObjNpcRoot       = GameObject.Find("NpcRoot");
     //Update Info
     if (null != m_ActionFrameData)
     {
         //base
         m_fTime  = (float)m_ActionFrameData.Time;
         m_Config = m_ActionFrameData.ObjTransformFrame;
         AddNpc(20000001, m_Config.Pos.GetVector3(), m_Config.Rot.GetVector3(), m_Config.Scale.GetVector3());
     }
     else
     {
         m_ActionFrameData = new ActionFrameData();
         m_Config          = new ObjectTransformFrameConfig();
         m_Config.Pos      = new ThriftVector3();
         m_Config.Rot      = new ThriftVector3();
         m_Config.Scale    = new ThriftVector3();
         AddNpc(20000001, Vector3.zero, Vector3.zero, Vector3.one);
     }
 }
 public ObjectTransformFrame(ActionPlayer action, ActionFrameData data)
     : base(action, data)
 {
     m_Config = m_FrameData.ObjTransformFrame;
 }