OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.JsonGetSpecific C# (CSharp) Method

JsonGetSpecific() private method

private JsonGetSpecific ( OSD o, OpenSim.Region.ScriptEngine.Shared.LSL_Types.list specifiers, int i ) : OSD
o OSD
specifiers OpenSim.Region.ScriptEngine.Shared.LSL_Types.list
i int
return OSD
        private OSD JsonGetSpecific(OSD o, LSL_List specifiers, int i)
        {
            object spec = specifiers.Data[i];
            OSD nextVal = null;
            if (o is OSDArray)
            {
                if (spec is LSL_Integer)
                    nextVal = ((OSDArray)o)[((LSL_Integer)spec).value];
            }
            if (o is OSDMap)
            {
                if (spec is LSL_String)
                    nextVal = ((OSDMap)o)[((LSL_String)spec).m_string];
            }
            if (nextVal != null)
            {
                if (specifiers.Data.Length - 1 > i)
                    return JsonGetSpecific(nextVal, specifiers, i + 1);
            }
            return nextVal;
        }
LSL_Api