/// <summary> /// Определяет тип инструмента по его коду /// </summary> /// <param name="instrument">Код инструмента</param> /// <returns>Тип инструмента</returns> public static Type TranslateInstrumentCodeToType(InstrumentsEnum instrument) { Type instrumentType = null; switch (instrument) { case InstrumentsEnum.None: instrumentType = typeof(NullInstrument); break; case InstrumentsEnum.Bomb: instrumentType = typeof(BombInstrument); break; case InstrumentsEnum.Collect: instrumentType = typeof(CollectInstrument); break; case InstrumentsEnum.Drill: instrumentType = typeof(DrillInstrument); break; case InstrumentsEnum.Dozer: instrumentType = typeof(DozerInstrument); break; default: throw new InvalidOperationException("Получен незарегистрированный код инструмента"); } return instrumentType; }
/// <summary> /// Определяет тип инструмента по его коду /// </summary> /// <param name="instrument">Код инструмента</param> /// <returns>Тип инструмента</returns> public static Type TranslateInstrumentCodeToType(InstrumentsEnum instrument) { Type instrumentType = null; switch (instrument) { case InstrumentsEnum.None: instrumentType = typeof(NullInstrument); break; case InstrumentsEnum.Bomb: instrumentType = typeof(BombInstrument); break; case InstrumentsEnum.Collect: instrumentType = typeof(CollectInstrument); break; case InstrumentsEnum.Drill: instrumentType = typeof(DrillInstrument); break; case InstrumentsEnum.Dozer: instrumentType = typeof(DozerInstrument); break; default: throw new InvalidOperationException("Получен незарегистрированный код инструмента"); } return(instrumentType); }
/// <summary> /// Оределяет название инструмента по его коду /// </summary> /// <param name="instrument">Код инструмента</param> /// <returns>Название инструмента</returns> public static string TranslateInstrumentCodeToName(InstrumentsEnum instrument) { string instrumentName = ""; switch (instrument) { case InstrumentsEnum.None: instrumentName = NullInstrument.instrumentName; break; case InstrumentsEnum.Bomb: instrumentName = BombInstrument.instrumentName; break; case InstrumentsEnum.Collect: instrumentName = CollectInstrument.instrumentName; break; case InstrumentsEnum.Drill: instrumentName = DrillInstrument.instrumentName; break; case InstrumentsEnum.Dozer: instrumentName = DozerInstrument.instrumentName; break; default: throw new InvalidOperationException("Получен незарегистрированный код инструмента"); } return instrumentName; }
/// <summary> /// Оределяет название инструмента по его коду /// </summary> /// <param name="instrument">Код инструмента</param> /// <returns>Название инструмента</returns> public static string TranslateInstrumentCodeToName(InstrumentsEnum instrument) { string instrumentName = ""; switch (instrument) { case InstrumentsEnum.None: instrumentName = NullInstrument.instrumentName; break; case InstrumentsEnum.Bomb: instrumentName = BombInstrument.instrumentName; break; case InstrumentsEnum.Collect: instrumentName = CollectInstrument.instrumentName; break; case InstrumentsEnum.Drill: instrumentName = DrillInstrument.instrumentName; break; case InstrumentsEnum.Dozer: instrumentName = DozerInstrument.instrumentName; break; default: throw new InvalidOperationException("Получен незарегистрированный код инструмента"); } return(instrumentName); }
/// <summary> /// Инстанцирующий метод /// </summary> /// <param name="shassis">Код шасси</param> /// <param name="instrument">Код инструмента</param> /// <returns>Ссылка на созданного робота</returns> Robot CreateRobot(ShassisEnum shassis, InstrumentsEnum instrument) { Robot product = Instantiate(prototype, new Vector3(0, 0, 0), Quaternion.identity) as Robot; product.SetInstrument(instrument); product.SetShassis(shassis); product.SetVisibility(false); return product; }
/// <summary> /// Инстанцирующий метод /// </summary> /// <param name="shassis">Код шасси</param> /// <param name="instrument">Код инструмента</param> /// <returns>Ссылка на созданного робота</returns> Robot CreateRobot(ShassisEnum shassis, InstrumentsEnum instrument) { Robot product = Instantiate(prototype, new Vector3(0, 0, 0), Quaternion.identity) as Robot; product.SetInstrument(instrument); product.SetShassis(shassis); product.SetVisibility(false); return(product); }
/// <summary> /// Прикрепить инструмент к роботу /// </summary> /// <param name="code">Код инструмента</param> public void SetInstrument(InstrumentsEnum code) { Type instrument = UtilityFunctions.TranslateInstrumentCodeToType(code); _instrument = gameObject.AddComponent(instrument) as IInstrument; }