public IEnumerator StartClouds() { score = 0; coin = 0; coinText.text = "0"; scoreText.text = "0"; character.SetPos(); yield return WaitTimers.waitZeroPointTwoFiveSeconds; character.SetPos(); cloudStartPos = new Vector3(-130, -25, 0); GameObject _firstCloud = Instantiate(solidCloudPrefab, this.gameObject.transform); _firstCloud.GetComponent().anchoredPosition = cloudStartPos; _firstCloud.transform.SetParent(cloudsContainer.transform); for (int i = 0; i < 2 * Level + 7; i++) { int _direction = Random.Range(0, 10); if (_direction < 5) { CreateCloudWithSide(cloudStartPos, 1); } else { CreateCloudWithSide(cloudStartPos, -1); } } DestroyChildrenWithSamePositionAtRuntime(cloudsContainer.transform); MakeBreakableClouds(cloudsContainer.transform); AdjustCoinAndGift(); } private void CreateCloudWithSide(Vector2 _startPosition, int _side) { GameObject _mainCloud = Instantiate(solidCloudPrefab, this.gameObject.transform); _mainCloud.GetComponent().anchoredPosition = CloudPosCorrect(_startPosition, _side); _mainCloud.transform.SetParent(cloudsContainer.transform); if (_startPosition.y > -25) { // Ek bulutlar oluştur CreateAdditionalCloud(_startPosition, 100, -150); CreateAdditionalCloud(_startPosition, -100, -150); } } private void CreateAdditionalCloud(Vector2 _startPosition, float _offsetX, float _offsetY) { if (_startPosition.x + _offsetX > -365 && _startPosition.x + _offsetX < 365) { GameObject _additionalCloud = Instantiate(solidCloudPrefab, this.gameObject.transform); _additionalCloud.GetComponent().anchoredPosition = new Vector2(_startPosition.x + _offsetX, _startPosition.y + _offsetY); GameObject _additionalCloud2 = Instantiate(solidCloudPrefab, this.gameObject.transform); _additionalCloud2.GetComponent().anchoredPosition = new Vector2(_startPosition.x + 100, _startPosition.y - _offsetY); _additionalCloud.transform.SetParent(cloudsContainer.transform); _additionalCloud2.transform.SetParent(cloudsContainer.transform); } } private Vector3 CloudPosCorrect(Vector3 _lastPos, int _direction) { //direction=1 right , direction=-1 left if (_lastPos.x + 100 < 370 && _lastPos.x - 100 > -370) { cloudStartPos = new Vector3(_lastPos.x + (_direction * 100), _lastPos.y + 150, _lastPos.z); } else if (_lastPos.x + 100 > 370) { cloudStartPos = new Vector3(_lastPos.x - 100, _lastPos.y + 150, _lastPos.z); } else if (_lastPos.x - 100 < -370) { cloudStartPos = new Vector3(_lastPos.x + 100, _lastPos.y + 150, _lastPos.z); } return cloudStartPos; }