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>()); }
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); }