Возможность сократить или оптимизировать программу
Задача: написать объект/структуру, которая будет в себе хранить количество состояний персонажа/монстра. Состояние храниться в строках. Вызывается по перечислителю.
Вроде сделал. И оно работает. Но можно как-то упростить это все?
using System;
using UnityEngine;
public struct AnimationSettings : IComponentInitializationStatus
{
public AnimationSettings(int countState, params string[] argumentsAnimationState)
{
if (countState > argumentsAnimationState.Length || argumentsAnimationState.Length > countState)
throw new ArgumentOutOfRangeException(StringsException.ExceptionArgumentOutOfRangeMessage);
AnimationStates = new string[countState];
AnimationStates = argumentsAnimationState;
IsInitializationCompoent = true;
}
public bool IsInitializationCompoent { get; set; }
private readonly string[] AnimationStates;
public string this[AnimationStateId id]
{
get
{
if (!IsInitializationCompoent)
throw new UninitializedAreaComponent(StringsException.ExceptionUninitializedAreaMessage);
try
{
return AnimationStates[(int)id];
}
catch (Exception exception)
{
Debug.LogError(exception.Message);
return string.Empty;
}
}
}
public string GetAnimationString(AnimationStateId id)
{
return this[id];
}
}