Пример #1
0
    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);
    }
Пример #2
0
    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);