示例#1
0
 // Обновление уровня лояльности
 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;
     }
 }
示例#2
0
        private void DoReadPlanetCaptureUpdate()
        {
            int     LPLanet       = FReader.ReadInt32();
            int     LCaptureValue = FReader.ReadInt32();
            SSHRole LCaptureRole  = (SSHRole)FReader.ReadInt32();

            PlanetByUID(LPLanet).UpdateCapture(LCaptureValue, LCaptureRole);
        }
示例#3
0
        private void DoReadPlanetCoverageUpdate()
        {
            int     LPlanet    = FReader.ReadInt32();
            bool    LIncrement = FReader.ReadBoolean();
            SSHRole LRole      = (SSHRole)FReader.ReadInt32();

            PlanetByUID(LPlanet).UpdateCoverage(LIncrement, LRole);
        }
示例#4
0
 // Настройка снаряда
 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);
        }
示例#6
0
 // Открытие портала
 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);
 }
示例#7
0
        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);
        }
示例#8
0
 // Обновление зоны покрытия
 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);
 }
示例#9
0
 // Обновление значения захвата
 public void UpdateCapture(int AValue, SSHRole ARole)
 {
     FScript.UpdateCapture(AValue, ARole);
     CaptureValue = AValue;
 }