fix bug #124
This commit is contained in:
parent
3695f9d175
commit
0eec0a6e2f
8 changed files with 83 additions and 31 deletions
|
@ -136,6 +136,7 @@
|
||||||
<e p="Threshold.cs" t="Include" />
|
<e p="Threshold.cs" t="Include" />
|
||||||
</e>
|
</e>
|
||||||
<e p="PdConnection" t="Include">
|
<e p="PdConnection" t="Include">
|
||||||
|
<e p="Boundary.cs" t="Include" />
|
||||||
<e p="CylMidiTransitionController.cs" t="Include" />
|
<e p="CylMidiTransitionController.cs" t="Include" />
|
||||||
<e p="DspController.cs" t="Include" />
|
<e p="DspController.cs" t="Include" />
|
||||||
<e p="ISpectrumGenerator.cs" t="Include" />
|
<e p="ISpectrumGenerator.cs" t="Include" />
|
||||||
|
|
|
@ -2,13 +2,12 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="c6a8ca49-0b91-43c0-a787-44b1fda29c5f" name="Default Changelist" comment="implement FFT waterfall">
|
<list default="true" id="c6a8ca49-0b91-43c0-a787-44b1fda29c5f" name="Default Changelist" comment="implement FFT waterfall">
|
||||||
|
<change afterPath="$PROJECT_DIR$/Assets/Scripts/PdConnection/Boundary.cs" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/Assets/Scripts/PdConnection/Boundary.cs.meta" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.UnityProject/.idea/contentModel.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.UnityProject/.idea/contentModel.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/.idea.UnityProject/.idea/contentModel.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.UnityProject/.idea/contentModel.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.UnityProject/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.UnityProject/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/.idea.UnityProject/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.UnityProject/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Assembly-CSharp-Editor.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/Assembly-CSharp-Editor.csproj" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Assembly-CSharp.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/Assembly-CSharp.csproj" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Assembly-CSharp.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/Assembly-CSharp.csproj" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UnitTest.meta" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/TimelineController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/TimelineController.cs" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Assets/ThridParty/Assets/Construction_Site_Column/Materials.meta" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/UnityProject.sln" beforeDir="false" afterPath="$PROJECT_DIR$/UnityProject.sln" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
@ -36,9 +35,11 @@
|
||||||
<component name="HighlightingSettingsPerFile">
|
<component name="HighlightingSettingsPerFile">
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Prefabs/Specttrum.prefab" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Prefabs/Specttrum.prefab" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Editor/SequencerEditor.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Editor/SequencerEditor.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Assets/Scripts/PdConnection/Boundary.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/TimelineController.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/TimelineController.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/4CD14385-55E6-4C0E-AEDA-2393D3C9CF4A/dc/2b798580/Texture2D.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/4CD14385-55E6-4C0E-AEDA-2393D3C9CF4A/dc/2b798580/Texture2D.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Scenes/Examples/MIDI/script/PositionBind.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Scenes/Examples/MIDI/script/PositionBind.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://C:/Program Files/Unity_2019.2.8f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.timeline/Runtime/Events/Marker.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Scenes/Examples/Texture/TextureMapper.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Scenes/Examples/Texture/TextureMapper.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/ThridParty/KinectScript/EventPump.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/ThridParty/KinectScript/EventPump.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/PdConnection/PdTimbreIdBind.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Scripts/PdConnection/PdTimbreIdBind.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
@ -67,6 +68,7 @@
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Visualizer/WaveformVisualizerBehaviour.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Visualizer/WaveformVisualizerBehaviour.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/PdConnection/MidiSyncedLoop.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Scripts/PdConnection/MidiSyncedLoop.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/ThridParty/KinectView/Scripts/DisableOnStart.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/ThridParty/KinectView/Scripts/DisableOnStart.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/4CD14385-55E6-4C0E-AEDA-2393D3C9CF4A/b7/90060354/PlayableGraph.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/ThridParty/KinectView/Scripts/InfraredSourceManager.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/ThridParty/KinectView/Scripts/InfraredSourceManager.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Visualizer/WaterfallVisualizer.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Visualizer/WaterfallVisualizer.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/PdConnection/PdArraySelector.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/Assets/Scripts/PdConnection/PdArraySelector.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
@ -120,8 +122,6 @@
|
||||||
<component name="IdeDocumentHistory">
|
<component name="IdeDocumentHistory">
|
||||||
<option name="CHANGED_PATHS">
|
<option name="CHANGED_PATHS">
|
||||||
<list>
|
<list>
|
||||||
<option value="$PROJECT_DIR$/Assets/Editor/UnitTest/UnitTest_SpectrumGeneratpr.cs" />
|
|
||||||
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/PdBackendDemo/script/BoomBall.cs" />
|
|
||||||
<option value="$PROJECT_DIR$/Assets/Editor/UnitTest/UnitTest_SpectrumGenerator.cs" />
|
<option value="$PROJECT_DIR$/Assets/Editor/UnitTest/UnitTest_SpectrumGenerator.cs" />
|
||||||
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/SpectrumGenerator.cs" />
|
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/SpectrumGenerator.cs" />
|
||||||
<option value="$PROJECT_DIR$/Assets/Editor/SpectrumGenerator.cs" />
|
<option value="$PROJECT_DIR$/Assets/Editor/SpectrumGenerator.cs" />
|
||||||
|
@ -167,10 +167,12 @@
|
||||||
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/BallColorChanger.cs" />
|
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/BallColorChanger.cs" />
|
||||||
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/QlistMarker.cs" />
|
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/QlistMarker.cs" />
|
||||||
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/SceneManager.cs" />
|
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/SceneManager.cs" />
|
||||||
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/TimelineController.cs" />
|
|
||||||
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/ReservedAction.cs" />
|
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/ReservedAction.cs" />
|
||||||
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/ScheduledAction.cs" />
|
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/ScheduledAction.cs" />
|
||||||
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/CylMidiTransitionController.cs" />
|
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/CylMidiTransitionController.cs" />
|
||||||
|
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/PauseBoundary.cs" />
|
||||||
|
<option value="$PROJECT_DIR$/Assets/Scripts/PdConnection/Boundary.cs" />
|
||||||
|
<option value="$PROJECT_DIR$/Assets/Scenes/Examples/Qlist/scripts/TimelineController.cs" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
@ -255,6 +257,7 @@
|
||||||
<workItem from="1575064364367" duration="3340000" />
|
<workItem from="1575064364367" duration="3340000" />
|
||||||
<workItem from="1575100878147" duration="6707000" />
|
<workItem from="1575100878147" duration="6707000" />
|
||||||
<workItem from="1575663620399" duration="4809000" />
|
<workItem from="1575663620399" duration="4809000" />
|
||||||
|
<workItem from="1575732887966" duration="8480000" />
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="add Kinect Manager">
|
<task id="LOCAL-00001" summary="add Kinect Manager">
|
||||||
<created>1562485186899</created>
|
<created>1562485186899</created>
|
||||||
|
|
|
@ -99,6 +99,7 @@
|
||||||
<Compile Include="Assets\Scripts\Math\BodyHolder.cs" />
|
<Compile Include="Assets\Scripts\Math\BodyHolder.cs" />
|
||||||
<Compile Include="Assets\Scripts\Math\Smoother.cs" />
|
<Compile Include="Assets\Scripts\Math\Smoother.cs" />
|
||||||
<Compile Include="Assets\Scripts\Math\Threshold.cs" />
|
<Compile Include="Assets\Scripts\Math\Threshold.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\PdConnection\Boundary.cs" />
|
||||||
<Compile Include="Assets\Scripts\PdConnection\CylMidiTransitionController.cs" />
|
<Compile Include="Assets\Scripts\PdConnection\CylMidiTransitionController.cs" />
|
||||||
<Compile Include="Assets\Scripts\PdConnection\DspController.cs" />
|
<Compile Include="Assets\Scripts\PdConnection\DspController.cs" />
|
||||||
<Compile Include="Assets\Scripts\PdConnection\ISpectrumGenerator.cs" />
|
<Compile Include="Assets\Scripts\PdConnection\ISpectrumGenerator.cs" />
|
||||||
|
|
|
@ -433,6 +433,7 @@ MonoBehaviour:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
playableDirector: {fileID: 1549059515}
|
playableDirector: {fileID: 1549059515}
|
||||||
stateManager: {fileID: 1788337936}
|
stateManager: {fileID: 1788337936}
|
||||||
|
initTransitionFactor: 10
|
||||||
--- !u!320 &1549059515
|
--- !u!320 &1549059515
|
||||||
PlayableDirector:
|
PlayableDirector:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -445,7 +446,7 @@ PlayableDirector:
|
||||||
m_PlayableAsset: {fileID: 11400000, guid: dd88d8a2bd5beda41a4bc9a6e2f2d080, type: 2}
|
m_PlayableAsset: {fileID: 11400000, guid: dd88d8a2bd5beda41a4bc9a6e2f2d080, type: 2}
|
||||||
m_InitialState: 0
|
m_InitialState: 0
|
||||||
m_WrapMode: 0
|
m_WrapMode: 0
|
||||||
m_DirectorUpdateMode: 1
|
m_DirectorUpdateMode: 3
|
||||||
m_InitialTime: 0
|
m_InitialTime: 0
|
||||||
m_SceneBindings:
|
m_SceneBindings:
|
||||||
- key: {fileID: -2136880647211988772, guid: dd88d8a2bd5beda41a4bc9a6e2f2d080, type: 2}
|
- key: {fileID: -2136880647211988772, guid: dd88d8a2bd5beda41a4bc9a6e2f2d080, type: 2}
|
||||||
|
|
|
@ -124,7 +124,7 @@ MonoBehaviour:
|
||||||
m_PostExtrapolationMode: 0
|
m_PostExtrapolationMode: 0
|
||||||
m_PreExtrapolationMode: 1
|
m_PreExtrapolationMode: 1
|
||||||
m_PostExtrapolationTime: Infinity
|
m_PostExtrapolationTime: Infinity
|
||||||
m_PreExtrapolationTime: 1
|
m_PreExtrapolationTime: 0
|
||||||
m_DisplayName: BlueToRed
|
m_DisplayName: BlueToRed
|
||||||
- m_Version: 1
|
- m_Version: 1
|
||||||
m_Start: 2
|
m_Start: 2
|
||||||
|
@ -154,7 +154,7 @@ MonoBehaviour:
|
||||||
m_ExposedParameterNames: []
|
m_ExposedParameterNames: []
|
||||||
m_AnimationCurves: {fileID: 0}
|
m_AnimationCurves: {fileID: 0}
|
||||||
m_Recordable: 0
|
m_Recordable: 0
|
||||||
m_PostExtrapolationMode: 0
|
m_PostExtrapolationMode: 1
|
||||||
m_PreExtrapolationMode: 1
|
m_PreExtrapolationMode: 1
|
||||||
m_PostExtrapolationTime: 1
|
m_PostExtrapolationTime: 1
|
||||||
m_PreExtrapolationTime: 2
|
m_PreExtrapolationTime: 2
|
||||||
|
|
|
@ -5,7 +5,7 @@ using UnityEngine.Playables;
|
||||||
|
|
||||||
namespace cylvester
|
namespace cylvester
|
||||||
{
|
{
|
||||||
public class TimelineController : MonoBehaviour, INotificationReceiver
|
public class TimelineController : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField] private PlayableDirector playableDirector;
|
[SerializeField] private PlayableDirector playableDirector;
|
||||||
[SerializeField] private StateManager stateManager;
|
[SerializeField] private StateManager stateManager;
|
||||||
|
@ -13,51 +13,64 @@ namespace cylvester
|
||||||
[SerializeField] private float initTransitionFactor = 1f;
|
[SerializeField] private float initTransitionFactor = 1f;
|
||||||
|
|
||||||
private IList<QlistMarker> qlistMarkers_;
|
private IList<QlistMarker> qlistMarkers_;
|
||||||
|
private Boundary boundary_;
|
||||||
|
private float speed_;
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
var timeline = (TimelineAsset)playableDirector.playableAsset;
|
var timeline = (TimelineAsset)playableDirector.playableAsset;
|
||||||
var markerTrack = timeline.markerTrack;
|
var markers = timeline.markerTrack.GetMarkers();
|
||||||
var markers = markerTrack.GetMarkers();
|
|
||||||
qlistMarkers_ = new List<QlistMarker>();
|
qlistMarkers_ = new List<QlistMarker>();
|
||||||
foreach (var marker in markers)
|
foreach (var marker in markers)
|
||||||
qlistMarkers_.Add((QlistMarker)marker);
|
qlistMarkers_.Add((QlistMarker)marker);
|
||||||
|
|
||||||
playableDirector.Stop();
|
|
||||||
playableDirector.time = 0;
|
playableDirector.time = 0;
|
||||||
playableDirector.Play();
|
boundary_ = new Boundary(null, null);
|
||||||
|
UpdateSpeed();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnStateChanged(IStateReader stateManager)
|
public void OnStateChanged(IStateReader stateManager)
|
||||||
{
|
{
|
||||||
var stateName = stateManager.CurrentState.Title;
|
var stateName = stateManager.CurrentState.Title;
|
||||||
foreach (var qlistMarker in qlistMarkers_)
|
var numMarkers = qlistMarkers_.Count;
|
||||||
|
for (var i = 0; i < numMarkers; ++i)
|
||||||
{
|
{
|
||||||
if (qlistMarker.id != stateName) continue;
|
if (qlistMarkers_[i].id != stateName)
|
||||||
|
continue;
|
||||||
|
|
||||||
//playableDirector.Stop(); //This resets speed to 1, so I had to cut it.
|
playableDirector.time = qlistMarkers_[i].time;
|
||||||
playableDirector.time = qlistMarker.time;
|
var previousMarkerTime = i > 0 ? (double?) qlistMarkers_[i - 1].time : null;
|
||||||
|
var nextMarkerTime = i < numMarkers - 1 ? (double?) qlistMarkers_[i + 1].time : null;
|
||||||
|
boundary_ = new Boundary(previousMarkerTime, nextMarkerTime);
|
||||||
playableDirector.Play();
|
playableDirector.Play();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnNotify(Playable origin, INotification notification, object context)
|
private void Update()
|
||||||
{
|
{
|
||||||
if (!stateManager.NextState.HasValue)
|
if (playableDirector.state == PlayState.Paused)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var nextState = stateManager.NextState.Value;
|
var deltaTime = Time.deltaTime;
|
||||||
var prevState = stateManager.PreviousState.Value; //ToDO this is the same as nextState???
|
var expectedTimeIncrement = speed_ * deltaTime;
|
||||||
|
var expectedTimeInTimeline = playableDirector.time + expectedTimeIncrement;
|
||||||
|
|
||||||
Debug.Log("next State " + prevState.Title);
|
if (boundary_.IsInside(expectedTimeInTimeline))
|
||||||
Debug.Log("prev State " + prevState.Title);
|
|
||||||
|
|
||||||
if (notification.id == nextState.Title)
|
|
||||||
{
|
{
|
||||||
playableDirector.Pause(); // reaches the next state (marker) in timeline
|
playableDirector.time = expectedTimeInTimeline;
|
||||||
playableDirector.playableGraph.GetRootPlayable(0).SetSpeed(initTransitionFactor); // Max added this instead of .Stop
|
playableDirector.Evaluate();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playableDirector.Pause();
|
||||||
|
UpdateSpeed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateSpeed()
|
||||||
|
{
|
||||||
|
speed_ = initTransitionFactor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
30
UnityProject/Assets/Scripts/PdConnection/Boundary.cs
Normal file
30
UnityProject/Assets/Scripts/PdConnection/Boundary.cs
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
namespace cylvester
|
||||||
|
{
|
||||||
|
public class Boundary
|
||||||
|
{
|
||||||
|
private readonly double? min_;
|
||||||
|
private readonly double? max_;
|
||||||
|
|
||||||
|
public Boundary(double? min, double? max)
|
||||||
|
{
|
||||||
|
min_ = min;
|
||||||
|
max_ = max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsInside(double value)
|
||||||
|
{
|
||||||
|
if (min_.HasValue)
|
||||||
|
{
|
||||||
|
if (value < min_.Value)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (max_.HasValue)
|
||||||
|
{
|
||||||
|
if (value > max_.Value)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e2af2d984d364c6f87b65a1293490a58
|
||||||
|
timeCreated: 1575735381
|
Loading…
Reference in a new issue