//copy constructor public JoyButtonSet(JoyButtonSet prev) { //copy type type = prev.type; //copy key mappings _keys = new int[ prev._keys.Length ]; for(int i = 0 ; i < _keys.Length ; i ++){ _keys[ i ] = prev._keys[ i ]; } //copy names /*_keynames = new string[ prev._keynames.Length ]; for(int i = 0 ; i < _keynames.Length ; i ++){ _keynames[ i ] = prev._keynames[ i ]; }*/ //copy inversions LJoyHorizMult = prev.LJoyHorizMult; LJoyVertMult = prev.LJoyVertMult; RJoyHorizMult = prev.RJoyHorizMult; RJoyVertMult = prev.RJoyVertMult; DPadHorizMult = prev.DPadHorizMult; DPadVertMult = prev.DPadVertMult; }
//creates an interface object to get data from public JoyInterface( int p , JoyButtonSet j) { _keySet = p; _buttons = new JoyButtonSet(j); LTrig = GetAxisName(_buttons.GetKeyCodeOffset(JoyButton.LTrigger)); RTrig = GetAxisName(_buttons.GetKeyCodeOffset(JoyButton.RTrigger)); LJoyV = GetAxisName(_buttons.GetKeyCodeOffset(JoyButton.LJoyVert)); LJoyH = GetAxisName(_buttons.GetKeyCodeOffset(JoyButton.LJoyHoriz)); RJoyV = GetAxisName(_buttons.GetKeyCodeOffset(JoyButton.RJoyVert)); RJoyH = GetAxisName(_buttons.GetKeyCodeOffset(JoyButton.RJoyHoriz)); DPadV = GetAxisName(_buttons.GetKeyCodeOffset(JoyButton.DPadVert)); DPadH = GetAxisName(_buttons.GetKeyCodeOffset(JoyButton.DPadHoriz)); }
void Start() { //convert the created templates int buttonsets foreach( JoystickCreationTemplate jct in Templates ){ //set up the button axes and configurations JoyButtonSet j = new JoyButtonSet( jct.name, (jct.Start.exists) ? jct.Start.buttonNumber : -1, (jct.Select.exists) ? jct.Select.buttonNumber : -1, (jct.BottomFaceButton.exists) ? jct.BottomFaceButton.buttonNumber : -1, (jct.RightFaceButton.exists) ? jct.RightFaceButton.buttonNumber : -1, (jct.LeftFaceButton.exists) ? jct.LeftFaceButton.buttonNumber : -1, (jct.TopFaceButton.exists) ? jct.TopFaceButton.buttonNumber : -1, (jct.LeftBumper.exists) ? jct.LeftBumper.buttonNumber : -1, (jct.RightBumper.exists) ? jct.RightBumper.buttonNumber : -1, (jct.LeftStickClick.exists) ? jct.LeftStickClick.buttonNumber : -1, (jct.RightStickClick.exists) ? jct.RightStickClick.buttonNumber : -1, (jct.LeftTrigger.exists) ? jct.LeftTrigger.buttonNumber : -1, (jct.RightTrigger.exists) ? jct.RightTrigger.buttonNumber : -1, (jct.LeftStickHorizontalAxis.exists) ? jct.LeftStickHorizontalAxis.axisNumber : -1, (jct.LeftStickVerticalAxis.exists) ? jct.LeftStickVerticalAxis.axisNumber : -1, (jct.RightStickHorizontalAxis.exists) ? jct.RightStickHorizontalAxis.axisNumber : -1, (jct.RightStickVerticalAxis.exists) ? jct.RightStickVerticalAxis.axisNumber : -1, (jct.DPadHorizontalAxis.exists) ? jct.DPadHorizontalAxis.axisNumber : -1, (jct.DPadVerticalAxis.exists) ? jct.DPadVerticalAxis.axisNumber : -1, (jct.DPadUp.exists) ? jct.DPadUp.buttonNumber : -1, (jct.DPadDown.exists) ? jct.DPadDown.buttonNumber : -1, (jct.DPadLeft.exists) ? jct.DPadLeft.buttonNumber : -1, (jct.DPadRight.exists) ? jct.DPadRight.buttonNumber : -1, jct.LeftStickHorizontalAxis.invertAxis, jct.LeftStickVerticalAxis.invertAxis, jct.RightStickHorizontalAxis.invertAxis, jct.RightStickVerticalAxis.invertAxis, jct.DPadHorizontalAxis.invertAxis, jct.DPadVerticalAxis.invertAxis ); } ReassignControllers(); _oldNames = (string[])Input.GetJoystickNames().Clone(); }