private void Awake()
        {
            _interactiveObject  = new ListExecuteObject();
            _fixedExecuteObject = new ListFixedExecuteObject();

            IPlayerFactory playerFactory = new PlayerFactory();

            player = playerFactory.Create();

            _interactiveObject.AddExecuteObject(player);
            _fixedExecuteObject.AddExecuteObject(player);

            _inputController = new MobileInputController(player);
            _interactiveObject.AddExecuteObject(_inputController);

            _cameraController = new CameraController(player.transform, Camera.main.transform);
            _interactiveObject.AddExecuteObject(_cameraController);

            enemyData = new FrieData(1000, 1.5f, 3.0f, 1.0f);
            IEnemyFactory enemyFactory = new FrieFactory();

            enemy = enemyFactory.Create(enemyData);

            //Копирование объекта
            Enemy enemyCopy = enemyFactory.Create(enemyData.DeepCopy());

            _interactiveObject.AddExecuteObjects(FindObjectsOfType <Enemy>());
        }
예제 #2
0
        public Enemy Create(FrieData data)
        {
            var enemy = Object.Instantiate(Resources.Load <Frie>("Prefabs/frie"));

            enemy.Health        = data.Health;
            enemy.RotationSpeed = data.RotationSpeed;
            enemy.MoveSpeed     = data.MoveSpeed;
            enemy.StopDistance  = data.StopDistance;
            return(enemy);
        }