public OnKeyPressStackNode(Store store, OnKeyPressEcsNodeModel model, INodeBuilder builder) : base(store, model, builder) { void OnKeyCodeChange(ChangeEvent <Enum> e) { model.Code = (KeyCode)e.newValue; store.Dispatch(new RefreshUIAction(UpdateFlags.RequestCompilation)); } void OnKeyPressTypeChange(ChangeEvent <Enum> e) { model.PressType = (OnKeyPressEcsNodeModel.KeyPressType)e.newValue; store.Dispatch(new RefreshUIAction(UpdateFlags.RequestCompilation)); } RegisterCallback <AttachToPanelEvent>(evt => { if (m_KeyCodeEnumField == null) { title = "On"; m_KeyCodeEnumField = new EnumField(model.Code); m_KeyCodeEnumField.RegisterValueChangedCallback(OnKeyCodeChange); TitleElement.Add(m_KeyCodeEnumField); m_PressTypeEnumField = new EnumField(model.PressType); m_PressTypeEnumField.RegisterValueChangedCallback(OnKeyPressTypeChange); TitleElement.Add(m_PressTypeEnumField); } }); RegisterCallback <DetachFromPanelEvent>(evt => { m_KeyCodeEnumField.UnregisterValueChangedCallback(OnKeyCodeChange); m_PressTypeEnumField.UnregisterValueChangedCallback(OnKeyPressTypeChange); }); }
public static GraphElement CreateIteratorStack(this INodeBuilder builder, Store store, OnKeyPressEcsNodeModel model) { var iteratorStackNode = new OnKeyPressStackNode(store, model, builder); return(iteratorStackNode); }