protected override void OnStart() { _transform = GetComponent <Transform>(); _inputController = _controller as InputController; _runController = _bootstrap.GetController(ControllerTypes.Run) as RunController; _runController.OnGameEnd += StartSelfDestruction; _tracksInfo = _bootstrap.GetModel(ModelTypes.Tracks) as RunTracks; _screen = _bootstrap.GetModel(ModelTypes.Screen) as ScreenInfo; CalculateCameraDistance(); _bounds = new Bounds(transform.position, Vector3.zero); var childs = transform.GetComponentsInChildren <Renderer>(); for (int i = 0; i < childs.Length; i++) { _bounds.Encapsulate(childs[i].bounds); } SetIdleAnimation(); }
protected override void OnStart() { _resources = _bootstrap.GetModel(ModelTypes.Resources) as ResourcesDataBase; _tracksInfo = _bootstrap.GetModel(ModelTypes.Tracks) as RunTracks; _controller = _bootstrap.GetController(ControllerTypes.Run) as RunController; _controller.Reset += ResetPool; StartCoroutine(InstantiateObjectsRoutine()); }
/* * private Vector3 _lastPosition; * private float _velocity; * private float _speed = 1.5f; * /**/ protected override void OnStart() { _runController = _controller as RunController; _tracksInfo = _bootstrap.GetModel(ModelTypes.Tracks) as RunTracks; /* * _lastPosition = transform.position; * _velocity = 0; * _speed = _runController.FixedSpeed; * /**/ _offset = transform.TransformDirection(Vector3.forward); _offset = new Vector3(_offset.x, 0, _offset.z).normalized *Offset; }
void AddTrackToModel() { TrackInfo = _bootstrap.GetModel(ModelTypes.Tracks) as RunTracks; TrackInfo.AddTrack(this); }