fix VmcExtOk constructor and supporting methods, add ToMessage
This commit is contained in:
		
							parent
							
								
									8929df8c33
								
							
						
					
					
						commit
						75a85c2119
					
				| 
						 | 
				
			
			@ -18,6 +18,7 @@
 | 
			
		|||
 | 
			
		||||
using godotOscSharp;
 | 
			
		||||
using Godot;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
 | 
			
		||||
namespace godotVmcSharp
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +34,7 @@ namespace godotVmcSharp
 | 
			
		|||
            if (_loaded < 0 || _loaded > 1)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for loaded status. Expected 0 or 1, received {_loaded}.");
 | 
			
		||||
                break;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            loaded = _loaded;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -43,16 +44,17 @@ namespace godotVmcSharp
 | 
			
		|||
            if (_loaded < 0 || _loaded > 1)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for loaded status. Expected 0 or 1, received {_loaded}.");
 | 
			
		||||
                break;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (_calibrationState < 0 || _calibrationState > 3)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for calibration state. Expected 0-3, received {_calibrationState}");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (_calibrationMode < 0 || _calibrationMode > 2)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for calibration mode. Expected 0-2, received {_calibrationMode}");
 | 
			
		||||
                break;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            loaded = _loaded;
 | 
			
		||||
            calibrationState = _calibrationState;
 | 
			
		||||
| 
						 | 
				
			
			@ -64,21 +66,22 @@ namespace godotVmcSharp
 | 
			
		|||
            if (_loaded < 0 || _loaded > 1)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for loaded status. Expected 0 or 1, received {_loaded}.");
 | 
			
		||||
                break;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (_calibrationState < 0 || _calibrationState > 3)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for calibration state. Expected 0-3, received {_calibrationState}");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (_calibrationMode < 0 || _calibrationMode > 2)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for calibration mode. Expected 0-2, received {_calibrationMode}");
 | 
			
		||||
                break;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (_trackingStatus < 0 || _trackingStatus > 1)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for tracking status. Expected 0-1, received {_trackingStatus}");
 | 
			
		||||
                break;
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            loaded = _loaded;
 | 
			
		||||
            calibrationState = _calibrationState;
 | 
			
		||||
| 
						 | 
				
			
			@ -112,13 +115,12 @@ namespace godotVmcSharp
 | 
			
		|||
                GD.Print($"Invalid argument type for /VMC/Ext/OK message. Expected int in argument 0, received {arg.Type}");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if ((int)arg.Value >= 0 && (int)arg.Value <= 1)
 | 
			
		||||
            {
 | 
			
		||||
                loaded = (int)arg.Value;
 | 
			
		||||
            } else
 | 
			
		||||
            if ((int)arg.Value < 0 && (int)arg.Value > 1)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for loaded status. Expected 0-1, received {(int)arg.Value}");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            loaded = (int)arg.Value;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void OkParam1And2(godotOscSharp.OscArgument arg0, godotOscSharp.OscArgument arg1, godotOscSharp.OscArgument arg2)
 | 
			
		||||
| 
						 | 
				
			
			@ -134,20 +136,18 @@ namespace godotVmcSharp
 | 
			
		|||
                GD.Print($"Invalid argument type for /VMC/Ext/OK message. Expected int in argument 2, received {arg2.Type}");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if ((int)arg1.Value >= 0 && (int)arg1.Value <= 3)
 | 
			
		||||
            {
 | 
			
		||||
                calibrationState = (int)arg1.Value;
 | 
			
		||||
            } else
 | 
			
		||||
            if ((int)arg1.Value < 0 && (int)arg1.Value > 3)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for calibration state. Expected 0-3, received {(int)arg1.Value}");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if ((int)arg2.Value >= 0 && (int)arg2.Value <= 2)
 | 
			
		||||
            {
 | 
			
		||||
                calibrationMode = (int)arg2.Value;
 | 
			
		||||
            } else
 | 
			
		||||
            if ((int)arg2.Value < 0 && (int)arg2.Value > 2)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for calibration mode. Expected 0-2, received {(int)arg2.Value}");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            calibrationState = (int)arg1.Value;
 | 
			
		||||
            calibrationMode = (int)arg2.Value;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void OkParam3(godotOscSharp.OscArgument arg0, godotOscSharp.OscArgument arg1, godotOscSharp.OscArgument arg2, godotOscSharp.OscArgument arg)
 | 
			
		||||
| 
						 | 
				
			
			@ -158,13 +158,36 @@ namespace godotVmcSharp
 | 
			
		|||
                GD.Print($"Invalid argument type for /VMC/Ext/OK message. Expected int in argument 3, received {arg.Type}");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if ((int)arg.Value >= 0 && (int)arg.Value <= 1)
 | 
			
		||||
            {
 | 
			
		||||
                trackingStatus = (int)arg.Value;
 | 
			
		||||
            } else
 | 
			
		||||
            if ((int)arg.Value < 0 && (int)arg.Value > 1)
 | 
			
		||||
            {
 | 
			
		||||
                GD.Print($"Invalid value for tracking status. Expected 0-1, received {(int)arg.Value}");
 | 
			
		||||
            }
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            trackingStatus = (int)arg.Value;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public godotOscSharp.OscMessage ToMessage()
 | 
			
		||||
        {
 | 
			
		||||
            if (calibrationState == null)
 | 
			
		||||
            {
 | 
			
		||||
                return new godotOscSharp.OscMessage(addr, new List<godotOscSharp.OscArgument>{
 | 
			
		||||
                    new godotOscSharp.OscArgument(loaded, 'i')
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
            if (trackingStatus == null)
 | 
			
		||||
            {
 | 
			
		||||
                return new godotOscSharp.OscMessage(addr, new List<godotOscSharp.OscArgument>{
 | 
			
		||||
                    new godotOscSharp.OscArgument(loaded, 'i'),
 | 
			
		||||
                    new godotOscSharp.OscArgument(calibrationState, 'i'),
 | 
			
		||||
                    new godotOscSharp.OscArgument(calibrationMode, 'i')
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
            return new godotOscSharp.OscMessage(addr, new List<godotOscSharp.OscArgument>{
 | 
			
		||||
                new godotOscSharp.OscArgument(loaded, 'i'),
 | 
			
		||||
                new godotOscSharp.OscArgument(calibrationState, 'i'),
 | 
			
		||||
                new godotOscSharp.OscArgument(calibrationMode, 'i'),
 | 
			
		||||
                new godotOscSharp.OscArgument(trackingStatus, 'i')
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user