void Start() { attack = GetComponent <Attack>(); animator = GetComponent <BaseAnimator>(); positionSpawn = (Vector2)GetComponent <Transform>().position + new Vector2(SoftRadius, -SoftRadius); //заглушка для ИИ bar = GetComponent <CircularHPBar>(); InitHUD(); animator.UpdateCountText(); animator.CaptureAnimation(); StartCoroutine(FromPrototype()); UnitPrefabs = SideUnitPrefabs(); StartCoroutine(ProduceUnit()); }
public void CaptureBase() { if (spawnCoroutine != null) { StopCoroutine(spawnCoroutine); } List <Unit> captureUnits = ColliderManager.instance.ReturnUnitInRadius(ObjectTransform.position, CaptureRadius); int PlayerUnits = 0; int EnemyUnits = 0; for (int i = 0; i < captureUnits.Count; i++) { if (captureUnits[i].side == Faction.Enemy1) { EnemyUnits++; } if (captureUnits[i].side == Faction.Player) { PlayerUnits++; } } if (PlayerUnits > EnemyUnits) { side = Faction.Player; CurrentCountUnit = PlayerUnits; UnitPrefabs = SideUnitPrefabs(); } if (EnemyUnits > PlayerUnits) { side = Faction.Enemy1; CurrentCountUnit = EnemyUnits; UnitPrefabs = SideUnitPrefabs(); } if (PlayerUnits == EnemyUnits && !isRuinded) { side = Faction.Neutral; isRuinded = true; StartCoroutine(BaseCapture()); } else { for (int i = 0; i < captureUnits.Count; i++) { if (captureUnits[i].side == side) { captureUnits[i].Recycle(); } } CreateFromPrototype(); bar.OnHPCahnged(maxHP); } animator.UpdateCountText(); animator.CaptureAnimation(); }