Esempio n. 1
0
        /// <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;
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <summary>
        /// Определяет тип шасси по его коду
        /// </summary>
        /// <param name="shassis">Код шасси</param>
        /// <returns>Тип шасси</returns>
        public static Type TranslateShassisCodeToType(ShassisEnum shassis)
        {
            Type shassisType = null;

            switch (shassis)
            {
                case ShassisEnum.None:
                    shassisType = typeof(NullShassis);
                    break;
                case ShassisEnum.Fly:
                    shassisType = typeof(FlyShassis);
                    break;
                case ShassisEnum.Jump:
                    shassisType = typeof(JumpShassis);
                    break;
                case ShassisEnum.Wheel:
                    shassisType = typeof(WheelShassis);
                    break;
                default:
                    throw new InvalidOperationException("Получен незарегистрированный код шасси");
            }

            return shassisType;
        }
Esempio n. 4
0
        /// <summary>
        /// Определяет спрайт шасси по его коду
        /// </summary>
        /// <param name="shassis">Код шасси</param>
        /// <returns>Спрайт шасси</returns>
        public static Sprite TranslateShassisCodeToSprite(ShassisEnum shassis)
        {
            Sprite sprite = null;

            switch (shassis)
            {
                case ShassisEnum.None:
                    sprite = null;
                    break;
                case ShassisEnum.Fly:
                    sprite = SpriteStorage.instance.flyShassisSprite;
                    break;

                case ShassisEnum.Jump:
                    sprite = SpriteStorage.instance.jumpShassisSprite;
                    break;

                case ShassisEnum.Wheel:
                    sprite = SpriteStorage.instance.wheelShassisSprite;
                    break;

                default:
                    throw new InvalidOperationException("Получен незарегистрированный код инструмента");
            }

            return sprite;
        }
Esempio n. 5
0
        /// <summary>
        /// Определяет название шасси по его коду
        /// </summary>
        /// <param name="shassis">Код шасси</param>
        /// <returns>Название шасси</returns>
        public static string TranslateShassisCodeToName(ShassisEnum shassis)
        {
            string shassisName = "";

            switch (shassis)
            {
                case ShassisEnum.None:
                    shassisName = NullShassis.shassisName;
                    break;
                case ShassisEnum.Fly:
                    shassisName = FlyShassis.shassisName;
                    break;
                case ShassisEnum.Jump:
                    shassisName = JumpShassis.shassisName;
                    break;
                case ShassisEnum.Wheel:
                    shassisName = WheelShassis.shassisName;
                    break;
                default:
                    throw new InvalidOperationException("Получен незарегистрированный код шасси");
            }

            return shassisName;
        }
Esempio n. 6
0
 /// <summary>
 /// Прикрепить шасси к роботу
 /// </summary>
 /// <param name="code">Код шасси</param>
 public void SetShassis(ShassisEnum code)
 {
     Type shassis = UtilityFunctions.TranslateShassisCodeToType(code);
     _shassis = gameObject.AddComponent(shassis) as IShassis;
 }
Esempio n. 7
0
        /// <summary>
        /// Прикрепить шасси к роботу
        /// </summary>
        /// <param name="code">Код шасси</param>
        public void SetShassis(ShassisEnum code)
        {
            Type shassis = UtilityFunctions.TranslateShassisCodeToType(code);

            _shassis = gameObject.AddComponent(shassis) as IShassis;
        }