public float Repair() { var result = 1.0f; switch (_segmentStatus) { case SegmentStatusEnum.Healthy: result = 1.4f; break; case SegmentStatusEnum.Deteriorated: _spriteRenderer.sprite = healthySprite; _segmentStatus = SegmentStatusEnum.Healthy; result = 1.15f; break; case SegmentStatusEnum.Destroyed: _spriteRenderer.sprite = deterioratedSprite; _segmentStatus = SegmentStatusEnum.Deteriorated; result = 1.0f; break; default: throw new ArgumentOutOfRangeException(); } return(result); }
private void Deteriorate() { switch (_segmentStatus) { case SegmentStatusEnum.Healthy: _spriteRenderer.sprite = deterioratedSprite; _segmentStatus = SegmentStatusEnum.Deteriorated; particleSystem.Play(); break; case SegmentStatusEnum.Deteriorated: _spriteRenderer.sprite = destroyedSprite; _segmentStatus = SegmentStatusEnum.Destroyed; particleSystem.Play(); break; case SegmentStatusEnum.Destroyed: break; default: throw new ArgumentOutOfRangeException(); } }
/// <summary> /// Converts the <see cref="sourceValue" /> parameter to the <see cref="destinationType" /> parameter using <see cref="formatProvider" /// /> and <see cref="ignoreCase" /> /// </summary> /// <param name="sourceValue">the <see cref="System.Object"/> to convert from</param> /// <param name="destinationType">the <see cref="System.Type" /> to convert to</param> /// <param name="formatProvider">not used by this TypeConverter.</param> /// <param name="ignoreCase">when set to <c>true</c>, will ignore the case when converting.</param> /// <returns> /// an instance of <see cref="SegmentStatusEnum" />, or <c>null</c> if there is no suitable conversion. /// </returns> public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => SegmentStatusEnum.CreateFrom(sourceValue);