public void SpawnRaid(int raidNumber) { currentRaid = IsRaidNotUsed(raidNumber); if (currentRaid == null) //Если запрашиваемая вылазка уже была использована или ее ID == -1 { raidNumber = rnd.Next(0, citizensManager.dataController.globalData.allRaids.Count - 1); //Случайная вылазка currentRaid = citizensManager.dataController.globalData.allRaids[raidNumber]; } startTime = Time.time; raidFlagTimer.text = currentRaid.GetRaidTime().ToString(); //Располагаем относительно Canvas RectTransform CanvasRect = raidFlagCanvas.GetComponent <RectTransform>(); Vector2 ViewportPosition = Camera.main.WorldToViewportPoint(raidFlagCanvas.transform.position); raidFlag.rectTransform.anchoredPosition = new Vector2( ((ViewportPosition.x * CanvasRect.sizeDelta.x) - (CanvasRect.sizeDelta.x * 0.5f) + currentRaid.GetCoordinates().x + 0.116f), ((ViewportPosition.y * CanvasRect.sizeDelta.y) - (CanvasRect.sizeDelta.y * 0.5f) + currentRaid.GetCoordinates().y)); raidFlag.enabled = true; raidFlagTimer.enabled = true; }