private void UpdateNumberOfWhiskers() { int startIndex = 1; if (ViewModel.IncludeNosePoint) { startIndex = -1; } ObservableCollection <IWhiskerClipSettings> whiskers = new ObservableCollection <IWhiskerClipSettings>(); for (int index = startIndex; index <= ViewModel.NumberOfWhiskers; index++) { string name; bool isGeneric; int numberOfPoints = SelectedNumberOfPointsPerWhisker; if (index == -1) { name = "Nose Point"; isGeneric = true; numberOfPoints = 1; } else if (index == 0) { if (!ViewModel.IncludeOrientationPoint) { continue; } name = "Orientation Point"; isGeneric = true; numberOfPoints = 1; } else { name = "Whisker " + index; isGeneric = false; } IWhiskerClipSettings whisker = ModelResolver.Resolve <IWhiskerClipSettings>(); whisker.WhiskerId = index; whisker.WhiskerName = name; whisker.IsGenericPoint = isGeneric; whisker.NumberOfPoints = numberOfPoints; whiskers.Add(whisker); } if (GenericPoints.Count > 0) { int genericStartId = ViewModel.NumberOfWhiskers + 1; int delta = genericStartId - GenericPoints.Min(x => x.WhiskerId); foreach (IWhiskerClipSettings genericWhisker in GenericPoints) { genericWhisker.WhiskerId += delta; whiskers.Add(genericWhisker); } } Whiskers = whiskers; }
public void Reset() { m_PositionA = Vector3.zero; m_PositionB = Vector3.zero; m_GenericPointA = null; m_GenericPointB = null; m_Selected = false; }
public GenericLine(GenericPoints a, GenericPoints b) { m_A = a; m_B = b; SpawnPipeEnd(); m_A.isConnected = true; m_B.isConnected = true; }
//Check if the pipe is being drawn from the right side. void CheckDrawingSide() { if (m_A.position.x < m_B.position.x) { //Flip points GenericPoints a = m_A; GenericPoints b = m_B; m_A = b; m_B = a; } }
private void RemovePoint() { if (GenericPoints.Count == 0) { return; } Whiskers.RemoveAt(Whiskers.Count - 1); GenericPoints.RemoveAt(GenericPoints.Count - 1); OkCommand.RaiseCanExecuteChangedNotification(); RemovePointCommand.RaiseCanExecuteChangedNotification(); }
private void AddPoint() { IWhiskerClipSettings whisker = ModelResolver.Resolve <IWhiskerClipSettings>(); whisker.IsGenericPoint = true; whisker.NumberOfPoints = 1; int genericStartId = ViewModel.NumberOfWhiskers + 1; genericStartId += GenericPoints.Count; whisker.WhiskerId = genericStartId; whisker.WhiskerName = "Point " + (GenericPoints.Count + 1); AddWhisker(whisker); GenericPoints.Add(whisker); RemovePointCommand.RaiseCanExecuteChangedNotification(); }
public void Initialize(GenericPoints a, GenericPoints b) { m_A = a; m_B = b; CheckDrawingSide(); SpawnPipeEnd(); CheckTransporting(); SpawnParticle(); m_A.isConnected = true; m_B.isConnected = true; if (m_A.source != null) { m_B.source = m_A.source; } else if (m_B.source != null) { m_A.source = m_B.source; } }
public void AddPoint(GenericPoints point) { if (m_GenericPointA == null) { m_GenericPointA = point; } else if (m_GenericPointA != null && m_GenericPointB == null) { if (!(m_GenericPointA.isConnectedToVillage == point.isConnectedToVillage)) { if (point.type == m_GenericPointA.type) { m_GenericPointB = point; } } } else if (m_GenericPointA == m_GenericPointB) { m_GenericPointB = point; } }