public static IEnumerator Execute(GameLogicData.GameLogicGraphNode currentNode) { SetAnimBooleanNodeSettings settings = JsonUtility.FromJson <SetAnimBooleanNodeSettings>(currentNode.m_typeData); SceneManager.Instance.Character.Animator.SetBool(settings.m_AnimParameterName, settings.m_Value); yield return(currentNode.GetReturnValue(0)); }
public static Node CreateNode(string typeData) { Node node = new Node(); node.title = "Set Anim Boolean"; node.mainContainer.style.backgroundColor = Color.blue; node.capabilities |= Capabilities.Movable; Port inputPort = Port.Create <Edge>(Orientation.Horizontal, Direction.Input, Port.Capacity.Single, typeof(bool)); inputPort.portName = ""; inputPort.userData = null; node.inputContainer.Add(inputPort); Port outputPort1 = Port.Create <Edge>(Orientation.Horizontal, Direction.Output, Port.Capacity.Single, typeof(bool)); outputPort1.portName = ""; outputPort1.userData = null; node.outputContainer.Add(outputPort1); SetAnimBooleanNodeSettings settings = JsonUtility.FromJson <SetAnimBooleanNodeSettings>(typeData); if (settings == null) { settings = new SetAnimBooleanNodeSettings(); } var animParameterTextField = new TextField() { multiline = false, value = settings.m_AnimParameterName }; node.mainContainer.Insert(1, animParameterTextField); var animParameterValueToggle = new Toggle() { value = settings.m_Value }; node.mainContainer.Insert(2, animParameterValueToggle); return(node); }
public static string ExtractExtraData(Node node) { SetAnimBooleanNodeSettings settings = new SetAnimBooleanNodeSettings(); foreach (VisualElement ele in node.mainContainer) { if (ele is TextField) { settings.m_AnimParameterName = (ele as TextField).value; } else if (ele is Toggle) { settings.m_Value = (ele as Toggle).value; } } return(JsonUtility.ToJson(settings)); }