public Action BuildSearchLogix(RefID query) { Slot logix = mainSlot.AddSlot("Search logix"); Network.GET_String getString = logix.AttachComponent <Network.GET_String>(); ValueRegister <string> url = logix.AttachComponent <ValueRegister <string> >(); url.Value.Value = "https://better-lightning-crate.glitch.me/"; FormatString formatString = logix.AttachComponent <FormatString>(); ValueField <string> type = logix.AttachComponent <ValueField <string> >(); ValueField <string> format = logix.AttachComponent <ValueField <string> >(); format.Value.Value = "{0}/{1}/{2}"; formatString.Format.Value = format.Value.ReferenceID; formatString.Parameters.Add(); formatString.Parameters.Add(); formatString.Parameters.Add(); formatString.Parameters[0].Value = url.Value.ReferenceID; formatString.Parameters[1].Value = type.Value.ReferenceID; formatString.Parameters[2].Value = query; getString.URL.Value = formatString.Str.ReferenceID; Actions.WriteValueNode <string> writeResponse = logix.AttachComponent <Actions.WriteValueNode <string> >(); ValueRegister <string> response = logix.AttachComponent <ValueRegister <string> >(); searchResponse = response; writeResponse.Value.Value = getString.Content.ReferenceID; writeResponse.Target.Value = response.Value.ReferenceID; getString.OnResponse.Target = writeResponse.Write; //writeResponse.Target.OwnerNode.RemoveAllLogixBoxes(); //LogixHelper.MoveUnder(writeResponse.Target.OwnerNode, logix, true); //getString.Request(); return(getString.Request); }
public void MakeUpdateResultsLogix() { Slot nodesContainer = nodesContainerSlot[0][0][0]; Slot nodeTemplate = mainSlot.AddSlot("NodeTemplate"); Slot template = nodesContainer[nodesContainer.ChildrenCount - 1].Duplicate(); template.SetParent(nodeTemplate); ButtonRelay <string> buttonRelay = template.GetComponent <ButtonRelay <string> >(); Slot templateLogix = template.AddSlot("logix"); Actions.WriteValueNode <string> writeThing = templateLogix.AttachComponent <Actions.WriteValueNode <string> >(); DynamicImpulseReceiverWithValue <string> receiver = templateLogix.AttachComponent <DynamicImpulseReceiverWithValue <string> >(); ValueField <string> tag = templateLogix.AttachComponent <ValueField <string> >(); tag.Value.Value = "setUpNode"; receiver.Tag.Value = tag.Value.ReferenceID; writeThing.Value.Value = receiver.Value.ReferenceID; ValueField <string> response = templateLogix.AttachComponent <ValueField <string> >(); writeThing.Target.Value = response.Value.ReferenceID; receiver.Impulse.Target = writeThing.Write; ForNode iterator = templateLogix.AttachComponent <ForNode>(); Slot logix = templateLogix; Substring getResultSubstring = logix.AttachComponent <Substring>(); IndexOfString findSeparator = logix.AttachComponent <IndexOfString>(); getResultSubstring.Str.Value = searchResponse.Value.ReferenceID; findSeparator.Str.Value = searchResponse.Value.ReferenceID; ValueField <int> currentIndex = logix.AttachComponent <ValueField <int> >(); getResultSubstring.StartIndex.Value = currentIndex.Value.ReferenceID; findSeparator.StartIndex.Value = currentIndex.Value.ReferenceID; ValueField <string> separator = logix.AttachComponent <ValueField <string> >(); separator.Value.Value = ","; findSeparator.Part.Value = separator.Value.ReferenceID; Sub_Int lengthOfPart = logix.AttachComponent <Sub_Int>(); lengthOfPart.A.Value = findSeparator.ReferenceID; lengthOfPart.B.Value = currentIndex.Value.ReferenceID; getResultSubstring.Length.Value = lengthOfPart.ReferenceID; //Slot logix = mainSlot.AddSlot("Update search results logix"); //ReferenceField<Slot> containerSlotStore = logix.AttachComponent<ReferenceField<Slot>>(); //containerSlotStore.Reference.Value = nodesContainer.ReferenceID; //DestroySlotChildren destroyContainerContents = logix.AttachComponent<DestroySlotChildren>(); //destroyContainerContents.Instance.Value = nodesContainer.ReferenceID; //WhileNode whileNode = logix.AttachComponent<WhileNode>(); //Substring getResultSubstring = logix.AttachComponent<Substring>(); //IndexOfString findSeparator = logix.AttachComponent<IndexOfString>(); //getResultSubstring.Str.Value = searchResponse.Value.ReferenceID; //findSeparator.Str.Value = searchResponse.Value.ReferenceID; //ValueField<int> currentIndex = logix.AttachComponent<ValueField<int>>(); //getResultSubstring.StartIndex.Value = currentIndex.Value.ReferenceID; //findSeparator.StartIndex.Value = currentIndex.Value.ReferenceID; //ValueField<string> separator = logix.AttachComponent<ValueField<string>>(); //separator.Value.Value = "|"; //findSeparator.Part.Value = separator.Value.ReferenceID; //Sub_Int lengthOfPart = logix.AttachComponent<Sub_Int>(); //lengthOfPart.A.Value = findSeparator.ReferenceID; //lengthOfPart.B.Value = currentIndex.Value.ReferenceID; //getResultSubstring.Length.Value = lengthOfPart.ReferenceID; //DynamicImpulseTriggerWithValue<string> receive_part = logix.AttachComponent<DynamicImpulseTriggerWithValue<string>>(); }