Exemplo n.º 1
0
 private void ShowIfApplicable(OverwatchTilesAvailable tiles)
 {
     if (!GameWorld.FriendlyPerception[GameWorld.CurrentCharacter.CurrentTile.Position])
     {
         return;
     }
     tiles.OverwatchedTiles.ForEach(x =>
     {
         int percentage = new HitChanceCalculation(GameWorld.CurrentCharacter.Accuracy, x.Value.BlockChance).Get();
         int index      = percentage >= 90 ? 4 : (percentage >= 65 ? 3 : (percentage >= 30 ? 2 : 1));
         _visuals.Add(new UiImage
         {
             Image     = "Effects/D_Cover_Overwatched" + index,
             Transform = GameWorld.Map[x.Key].Transform,
             Tint      = new Color(Color.Wheat, .5f * percentage / 100f),
         });
     });
 }
Exemplo n.º 2
0
 private void UpdateOverwatch(OverwatchTilesAvailable e) => GameWorld.CurrentCharacter.Notify(e);
Exemplo n.º 3
0
 internal void Notify(OverwatchTilesAvailable e) => State.OverwatchedTiles = e.OverwatchedTiles;