public void TestSetAndClearMaterialsForFaceClearsEntry()
        {
            var sop = SceneUtil.RandomSOP("Root", 1);
            sop.OwnerMask = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify);
            var group = new SceneObjectGroup(sop);
            var lslSystemApi = new LSLSystemAPI(engine, sop, 0, UUID.Zero);

            // Check that its Zeroed
            var emptyResult = new LSLList(new List<object> { UUID.Zero.ToString(), new Vector3(1, 1, 0), new Vector3(0, 0, 0), 0 });
            var rules = new LSLList(new List<object> { ScriptBaseClass.PRIM_NORMAL, 0 });
            LSLList asList = lslSystemApi.llGetPrimitiveParams(rules);
            Assert.That(asList.ToString(), Is.EqualTo(emptyResult.ToString()));

            // Set a value and check it
            var textureId = UUID.Random();
            var faceZeroData = new LSLList(new List<object> { textureId.ToString(), new Vector3(1, 1, 0), new Vector3(0, 0, 0), 0 });
            var setMaterialsRequest = rules.Append(faceZeroData);
            lslSystemApi.llSetLinkPrimitiveParamsFast(0, setMaterialsRequest);
            LSLList setMaterialsResult = lslSystemApi.llGetLinkPrimitiveParams(0, rules);
            Assert.That(setMaterialsResult.ToString(), Is.EqualTo(faceZeroData.ToString()));

            // Clear it and Check thats its zeroed
            var clearMaterialsRequest = rules.Append(emptyResult);
            lslSystemApi.llSetLinkPrimitiveParamsFast(0, clearMaterialsRequest);
            LSLList clearMaterialsResult = lslSystemApi.llGetLinkPrimitiveParams(0, clearMaterialsRequest);
            Assert.That(clearMaterialsResult.ToString(), Is.EqualTo(emptyResult.ToString()));
        }
示例#2
0
        private void Op_ListAppend()
        {
            object  b = _state.Operands.Pop();
            LSLList a = (LSLList)_state.Operands.Pop();

            SafeOperandsPush(a.Append(b));
        }
        public void TestSetAndGetMaterialsForFaceForNoModSOP()
        {
            var sop = SceneUtil.RandomSOP("Root", 1);
            sop.OwnerMask = (uint)(PermissionMask.Copy | PermissionMask.Transfer);
            var group = new SceneObjectGroup(sop);
            var lslSystemApi = new LSLSystemAPI(engine, sop, 0, UUID.Zero);

            var textureId = UUID.Random();
            var faceZeroData = new LSLList(new List<object> { textureId.ToString(), new Vector3(1, 1, 0), new Vector3(0, 0, 0), 0 });
            var rules = new LSLList(new List<object> { ScriptBaseClass.PRIM_NORMAL, 0 });
            var request = rules.Append(faceZeroData);

            lslSystemApi.llSetLinkPrimitiveParamsFast(0, request);
            LSLList result = lslSystemApi.llGetLinkPrimitiveParams(0, rules);
            Assert.That(result.ToString(), !Is.EqualTo(faceZeroData.ToString()));
        }