public InputAtom_Button_AxisLimit(InputAtom_Axis a, bool p, float t) { axis = a; is_positive = p; threshold = t; }
public InputAtom_Stick_AxisPair(InputAtom_Axis ha, InputAtom_Axis va) { horizontal_axis = ha; vertical_axis = va; }
public void Initialize(InputAtom_Axis a) { axis = a; }
public InputAtom_Slider_AxisHalf(InputAtom_Axis a) : this(a, true) { }
public InputAtom_Slider_AxisHalf(InputAtom_Axis a, bool p) { axis = a; is_positive = p; }
public InputAtom_Button_AxisLimit(InputAtom_Axis a) : this(a, true) { }
public InputAtom_Button_AxisLimit(InputAtom_Axis a, bool p) : this(a, p, AxisSlider.Threshold) { }
public InputAtom_IntAxis_Axis(InputAtom_Axis a) : this(a, AxisSlider.Threshold) { }
public InputAtom_IntAxis_Axis(InputAtom_Axis a, float t) { axis = a; threshold = t; }
static public InputAtom_Slider GetAsSlider(this InputAtom_Axis item, bool is_positive) { return(item.IfNotNull(i => new InputAtom_Slider_AxisHalf(item, is_positive))); }
static public InputAtom_Button GetAsButton(this InputAtom_Axis item, bool is_positive, float threshold = AxisSlider.Threshold) { return(item.IfNotNull(i => new InputAtom_Button_AxisLimit(item, is_positive, threshold))); }
static public InputAtom_IntAxis GetAsIntAxis(this InputAtom_Axis item, float threshold = AxisSlider.Threshold) { return(item.IfNotNull(i => new InputAtom_IntAxis_Axis(i, threshold))); }