Esempio n. 1
0
        public Vector3 llList2Vector(IScriptInstance script, object[] list, int index)
        {
            if (index < 0)
            {
                index = list.Length + index;
            }
            if (index >= list.Length || index < 0)
            {
                return(Vector3.Zero);
            }
            object o = list[index];

            if (o is Vector3)
            {
                return((Vector3)o);
            }
            else if (o is String)
            {
                Vector3 v;
                LSLUtils.TryParseVector3((string)o, out v);
                return(v);
            }

            return(Vector3.Zero);
        }
Esempio n. 2
0
        public Quaternion llList2Rot(IScriptInstance script, object[] list, int index)
        {
            if (index < 0)
            {
                index = list.Length + index;
            }
            if (index >= list.Length || index < 0)
            {
                return(Quaternion.Identity);
            }
            object o = list[index];

            if (o is Quaternion)
            {
                return((Quaternion)o);
            }
            else if (o is String)
            {
                Quaternion q;
                LSLUtils.TryParseQuaternion((string)o, out q);
                return(q);
            }

            return(Quaternion.Identity);
        }
Esempio n. 3
0
        public int llList2Integer(IScriptInstance script, object[] list, int index)
        {
            if (index < 0)
            {
                index = list.Length + index;
            }
            if (index >= list.Length || index < 0)
            {
                return(0);
            }
            object o = list[index];

            if (o is Int32)
            {
                return((int)o);
            }
            else if (o is Single)
            {
                return((int)(float)o);
            }
            else if (o is String)
            {
                int i;
                LSLUtils.TryParseInt((string)o, out i);
                return(i);
            }

            return(0);
        }
Esempio n. 4
0
        public float llList2Float(IScriptInstance script, object[] list, int index)
        {
            if (index < 0)
            {
                index = list.Length + index;
            }
            if (index >= list.Length || index < 0)
            {
                return(0f);
            }
            object o = list[index];

            if (o is Int32)
            {
                return((float)(int)o);
            }
            else if (o is Single)
            {
                return((float)o);
            }
            else if (o is String)
            {
                float f;
                LSLUtils.TryParseFloat((string)o, out f);
                return(f);
            }

            return(0f);
        }
Esempio n. 5
0
        public string llList2String(IScriptInstance script, object[] list, int index)
        {
            if (index < 0)
            {
                index = list.Length + index;
            }
            if (index >= list.Length || index < 0)
            {
                return(String.Empty);
            }
            object o = list[index];

            return(LSLUtils.ObjectToString(o));
        }
Esempio n. 6
0
        public string llList2CSV(IScriptInstance script, object[] list)
        {
            StringBuilder output = new StringBuilder();

            if (list.Length > 0)
            {
                output.Append(LSLUtils.ObjectToString(list[0]));
                for (int i = 1; i < list.Length; i++)
                {
                    output.Append(", " + LSLUtils.ObjectToString(list[i]));
                }
            }

            return(output.ToString());
        }
Esempio n. 7
0
        public string llDumpList2String(IScriptInstance script, object[] list, string separator)
        {
            StringBuilder output = new StringBuilder();

            if (list.Length > 0)
            {
                output.Append(LSLUtils.ObjectToString(list[0]));
                for (int i = 1; i < list.Length; i++)
                {
                    output.Append(separator + LSLUtils.ObjectToString(list[i]));
                }
            }

            return(output.ToString());
        }