public void GetFloat(string name, out float value)
        {
            value = 0f;
            StateParam param = null;

            if (m_StateParam.TryGetValue(name, out param))  //find the param
            {
                param.GetValue(out value);
            }
        }
        public void GetVector3(string name, out Vector3 value)
        {
            value = Vector3.zero;
            StateParam param = null;

            if (m_StateParam.TryGetValue(name, out param))  //find the param
            {
                param.GetValue(out value);
            }
        }
        public void GetInt(string name, out int value)
        {
            value = -1;
            StateParam param = null;

            if (m_StateParam.TryGetValue(name, out param))  //find the param
            {
                param.GetValue(out value);
            }
        }
        public void GetBool(string name, out bool value)
        {
            value = false;
            StateParam param = null;

            if (m_StateParam.TryGetValue(name, out param))  //find the param
            {
                param.GetValue(out value);
            }
        }
        public void SetFloat(string name, float value)
        {
            StateParam param = null;

            if (m_StateParam.TryGetValue(name, out param))  //find the param
            {
                param.SetValue(value);
            }
            else
            {
                m_StateParam.Add(name, new StateParam(value));
            }
        }