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())); }
public void Setup() { var iniDoc = new IniDocument(); var configSource = new IniConfigSource(iniDoc); configSource.AddConfig("InWorldz.Phlox"); var world = SceneHelper.CreateScene(9000, 1000, 1000); var engine = new MockScriptEngine(world, configSource); lslSystemApi = new LSLSystemAPI(engine, null, 0, UUID.Zero); }
public void TestGetMaterialsForFace() { var sop = SceneUtil.RandomSOP("Root", 1); var group = new SceneObjectGroup(sop); var lslSystemApi = new LSLSystemAPI(engine, sop, 0, UUID.Zero); var expectedResult = 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(expectedResult.ToString())); }
public void Error(string message) { _hasErrors = true; _log.Error("[Phlox]: " + message); foreach (SceneObjectPart part in parts) { LSLSystemAPI.ChatFromObject(ScriptBaseClass.DEBUG_CHANNEL, message, ChatTypeEnum.Shout, part.ParentGroup.Scene, part, UUID.Zero); } }
public void Setup() { var iniDoc = new IniDocument(); var configSource = new IniConfigSource(iniDoc); configSource.AddConfig("InWorldz.Phlox"); world = SceneHelper.CreateScene(9000, 1000, 1000); var engine = new MockScriptEngine(world, configSource); lslSystemApi = new LSLSystemAPI(engine, null, 0, UUID.Zero); }
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())); }