public int Call(string method, IList args)
    {
#if UNITY_IOS
        int len   = args.Count;
        var vargs = new ArgTypeInfo[len];
        for (int i = 0; i < len; ++i)
        {
            vargs[i] = ArgTypeInfo.From(args[i]);
        }
        return(CallClass(m_Class, method, vargs, len));
#else
        return(0);
#endif
    }
    public object GetValue(int id)
    {
#if UNITY_IOS
        ArgTypeInfo info = ObjectGet(id);
        switch (info.ArgType)
        {
        case (int)ArgTypeEnum.String:
            return(info.StringVal);

        case (int)ArgTypeEnum.Float:
        case (int)ArgTypeEnum.Decimal:
        case (int)ArgTypeEnum.Double:
            return(info.DoubleVal);

        default:
            return(info.LongVal);
        }
#else
        return(null);
#endif
    }