// Обновление уровня лояльности public void UpdateCapture(int AValue, SSHRole ARole) { // Закрасим кружок _OwnerCapture.fillAmount = AValue / 100000f; // Под цвет владельца if (ARole == SSHRole.Self) { _OwnerCapture.color = SSHLocale.IntToColor(0x00CAFF79); } else if (ARole == SSHRole.Friend) { _OwnerCapture.color = SSHLocale.IntToColor(0x00770079); } else { _OwnerCapture.color = SSHLocale.IntToColor(0xFF8E0090); } // Выключим графику захвата if (AValue == 0) { if (FSelf.CaptureValue > 0) { _OwnerCapture.enabled = false; _OwnerLevel.enabled = false; } } // Включим графику захвата else if (FSelf.CaptureValue == 0) { _OwnerCapture.enabled = true; _OwnerLevel.enabled = true; } }
private void DoReadPlanetCaptureUpdate() { int LPLanet = FReader.ReadInt32(); int LCaptureValue = FReader.ReadInt32(); SSHRole LCaptureRole = (SSHRole)FReader.ReadInt32(); PlanetByUID(LPLanet).UpdateCapture(LCaptureValue, LCaptureRole); }
private void DoReadPlanetCoverageUpdate() { int LPlanet = FReader.ReadInt32(); bool LIncrement = FReader.ReadBoolean(); SSHRole LRole = (SSHRole)FReader.ReadInt32(); PlanetByUID(LPlanet).UpdateCoverage(LIncrement, LRole); }
// Настройка снаряда public float Init(Transform ASource, Transform ATarget, SSHRole ARole) { FSource = ASource; FTarget = ATarget; FRole = ARole; FTime = Time.time; // Подготовим снаряд return(DoPrepare()); }
// Смена параметров построек public void ChangeData(Planet APlanet, SSHRole ARole, int ACount) { if (FTransform == null) { FTransform = transform; FBuildings = new List <MonoUIObjectBuilding>(); } bool LChange = (FPlanet != APlanet); FPlanet = APlanet; DoBuildingsCreate(ACount, LChange, ARole == SSHRole.Self); }
// Открытие портала public void PortalOpen(Planet ATarget, bool ABreakable, int ALimit, SSHRole ARole) { Portal = new Portal { Breakable = ABreakable, Source = this, Target = ATarget, Role = ARole, Limit = ALimit }; // Сменим графику FScript.ShowPortal(true); }
private void DoReadPortalOpen() { Planet LSource = PlanetByUID(FReader.ReadInt32()); Planet LTarget = PlanetByUID(FReader.ReadInt32()); bool LBreakable = FReader.ReadBoolean(); int LLimit = FReader.ReadInt32(); SSHRole LRole = SSHRole.Neutral; // Если не БЧТ - то нужна роль портала if (LSource.PlanetType != PlanetType.Hole) { LRole = (SSHRole)FReader.ReadInt32(); } // Откроем портал LSource.PortalOpen(LTarget, LBreakable, LLimit, LRole); }
// Обновление зоны покрытия public void UpdateCoverage(bool AIncrement, SSHRole ARole) { // Для миникарты разный контроль имеет разный цвет if (ARole == SSHRole.Enemy) { IsCoverageEnemy = AIncrement; } else if (ARole == SSHRole.Friend) { IsCoverageFriends = AIncrement; } else if (ARole == SSHRole.Self) { IsCoverageSelf = AIncrement; } FScript.UpdateMinimap(false, true, false); }
// Обновление значения захвата public void UpdateCapture(int AValue, SSHRole ARole) { FScript.UpdateCapture(AValue, ARole); CaptureValue = AValue; }