79            int num = SourceRectangle.Height / 2;
 
   80            float t = vector.Y + (float)num;
 
 
 
  191            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  195                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  199                Position.X = virtualCamera.Position.X - (float)num;
 
 
 
  236            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  240                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  244                Position.X = virtualCamera.Position.X - (float)num;
 
  258            for (
int i = 0; i < 
num2; i++)
 
 
  280            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
 
 
  294            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  298                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  302                Position.X = virtualCamera.Position.X - (float)num;
 
 
 
  343            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  347                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  351                Position.X = virtualCamera.Position.X - (float)num;
 
 
 
  394            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  398                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  402                Position.X = virtualCamera.Position.X - (float)num;
 
 
 
  447            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  451                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  455                Position.X = virtualCamera.Position.X - (float)num;
 
 
 
  499            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  503                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  507                Position.X = virtualCamera.Position.X - (float)num;
 
  522            for (
int i = 0; i < 
num2; i++)
 
 
  533            float x = 4f * (float)((Effects != 
SpriteEffects.FlipHorizontally) ? 1 : (-1));
 
 
  573                vector.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  577                vector.X = virtualCamera.Position.X - (float)num;
 
  581            int num5 = random.
Next(30, 61) * 60;
 
  584            for (
int i = 0; i < 
num2; i++)
 
  587                seagullsGroupSkyEntity.Depth = 
num4 + random.
NextFloat() * 0.5f;
 
  591                seagullsGroupSkyEntity.LifeTime = 
num5 + random.
Next(301);
 
 
 
  612            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  616                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  620                Position.X = virtualCamera.Position.X - (float)num;
 
 
  680                vector.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  684                vector.X = virtualCamera.Position.X - (float)num;
 
  688            int num4 = random.
Next(30, 61) * 60;
 
  691            for (
int i = 0; i < 
num2; i++)
 
  694                gastropodGroupSkyEntity.Depth = 
num3 + random.
NextFloat() * 0.5f;
 
  698                gastropodGroupSkyEntity.LifeTime = 
num4 + random.
Next(301);
 
 
 
  719            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  723                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  727                Position.X = virtualCamera.Position.X - (float)num;
 
  734            Frame.CurrentRow = (byte)random.
Next(7);
 
 
  756            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
 
  779                vector.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  783                vector.X = virtualCamera.Position.X - (float)num;
 
  787            int num4 = random.
Next(80, 121) * 60;
 
  790            for (
int i = 0; i < 
num2; i++)
 
  793                slimeBalloonGroupSkyEntity.Depth = 
num3 + random.
NextFloat() * 0.5f;
 
  797                slimeBalloonGroupSkyEntity.LifeTime = 
num4 + random.
Next(301);
 
 
 
  818            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  822                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  826                Position.X = virtualCamera.Position.X - (float)num;
 
  841            for (
int i = 0; i < 
num2; i++)
 
 
  882                vector.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  886                vector.X = virtualCamera.Position.X - (float)num;
 
  890            int num4 = random.
Next(30, 61) * 60;
 
  893            for (
int i = 0; i < 
num2; i++)
 
  896                hellBatsGoupSkyEntity.Depth = 
num3 + random.
NextFloat() * 0.5f;
 
  900                hellBatsGoupSkyEntity.LifeTime = 
num4 + random.
Next(301);
 
 
 
  930            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
  934                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
  938                Position.X = virtualCamera.Position.X - (float)num;
 
  953            for (
int i = 0; i < 
num2; i++)
 
 
  998                vector.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
 1002                vector.X = virtualCamera.Position.X - (float)num;
 
 1006            int num4 = random.
Next(30, 61) * 60;
 
 1009            for (
int i = 0; i < 
num2; i++)
 
 1012                batsGroupSkyEntity.Depth = 
num3 + random.
NextFloat() * 0.5f;
 
 1016                batsGroupSkyEntity.LifeTime = 
num4 + random.
Next(301);
 
 
 
 1029            Effects = ((!(Main.WindForVisuals > 0f)) ? SpriteEffects.FlipHorizontally : 
SpriteEffects.None);
 
 1033                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
 1037                Position.X = virtualCamera.Position.X - (float)num;
 
 
 
 1089                Position.X = virtualCamera.Position.X + virtualCamera.Size.X + (float)num;
 
 1093                Position.X = virtualCamera.Position.X - (float)num;
 
 
 
 1131            int x = player.
Center.ToTileCoordinates().
X;
 
 1133            Position.X = ((float)x + 100f * (random.
NextFloat() * 2f - 1f)) * 16f;
 
 1138            Frame.CurrentRow = (byte)random.
Next(5);
 
 
 1149            float x = Main.WindForVisuals * 4f;
 
 
 
 1179            : 
base(player, random)
 
 
 
 1203            : 
base(player, random)
 
 
 
 1242            if (random.
Next(4) != 0)
 
 
 1261            LifeTime = random.Next(18, 31) * 60;
 
 1263            _waviness = random.NextFloat() * 1f + 1f;
 
 1264            Position.Y = 
camera.Position.Y;
 
 1268                Position.X = camera.Position.X - (float)num;
 
 1272                Position.X = camera.Position.X + camera.Size.X + (float)num;
 
 
 1279            LifeTime = random.Next(18, 31) * 60;
 
 1280            Position = camera.Position + camera.Size * 
new Vector2(random.NextFloat(), random.NextFloat());
 
 
 1305            if (
vector.Length() >= 100f)
 
 
 
 1389            if (!
value.IsActive)
 
 
 1524            for (
int i = 0; i < 
list.Count; i++)
 
 
 
void Draw(Texture2D texture, Vector2 position, Color color)
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
void Add(TKey key, TValue value)
static double Cos(double d)
static double Abs(double value)
static int Sign(decimal value)
static byte Max(byte val1, byte val2)
static AmbientSkyDrawCache Instance
override void Update(int frameCount)
override void UpdateVelocity(int frameCount)
AirBalloonSkyEntity(Player player, FastRandom random)
const int RANDOM_TILE_SPAWN_RANGE
override void Update(int frameCount)
AirshipSkyEntity(Player player, FastRandom random)
override void UpdateVelocity(int frameCount)
Vector2 _magnetAccelerations
override Color GetColor(Color backgroundColor)
Vector2 _magnetPointTarget
static List< BatsGroupSkyEntity > CreateGroup(Player player, FastRandom random)
override void UpdateVelocity(int frameCount)
BatsGroupSkyEntity(Player player, FastRandom random)
Vector2 _velocityVsMagnet
Vector2 _positionVsMagnet
void SetMagnetization(Vector2 accelerations, Vector2 targetOffset)
override void Update(int frameCount)
BirdsPackSkyEntity(Player player, FastRandom random)
override void Update(int frameCount)
override void UpdateVelocity(int frameCount)
override void Update(int frameCount)
ButterfliesSkyEntity(Player player, FastRandom random)
override void UpdateVelocity(int frameCount)
override Color GetColor(Color backgroundColor)
CrimeraSkyEntity(Player player, FastRandom random)
override void UpdateVelocity(int frameCount)
void BeginChasingPlayer(ref FastRandom random, VirtualCamera camera)
const int STATE_GOOVERPLAYER
void ChasePlayerTop(int frameCount)
void BeginZigZag(ref FastRandom random, VirtualCamera camera, int direction)
void ZigzagMove(int frameCount)
EOCSkyEntity(Player player, FastRandom random)
override Color GetColor(Color backgroundColor)
EOSSkyEntity(Player player, FastRandom random)
float OpacityNormalizedTimeToFadeOut
override Color GetColor(Color backgroundColor)
virtual void UpdateVelocity(int frameCount)
void StartFadingOut(int currentFrameCount)
override Vector2 GetDrawPosition()
float OpacityNormalizedTimeToFadeIn
override void Update(int frameCount)
bool IsMovementDone(int frameCount)
float FinalOpacityMultiplier
void UpdateOpacity(int frameCount)
override void Draw(SpriteBatch spriteBatch, float depthScale, float minDepth, float maxDepth)
Vector2 _positionVsMagnet
override void UpdateVelocity(int frameCount)
static List< GastropodGroupSkyEntity > CreateGroup(Player player, FastRandom random)
override Color GetColor(Color backgroundColor)
Vector2 _magnetAccelerations
override void Update(int frameCount)
GastropodGroupSkyEntity(Player player, FastRandom random)
Vector2 _velocityVsMagnet
void SetMagnetization(Vector2 accelerations, Vector2 targetOffset)
Vector2 _magnetPointTarget
Vector2 _magnetPointTarget
Vector2 _velocityVsMagnet
Vector2 _positionVsMagnet
HellBatsGoupSkyEntity(Player player, FastRandom random)
Vector2 _magnetAccelerations
override Color GetColor(Color backgroundColor)
float Helper_GetOpacityWithAccountingForBackgroundsOff()
override void UpdateVelocity(int frameCount)
static List< HellBatsGoupSkyEntity > CreateGroup(Player player, FastRandom random)
void SetMagnetization(Vector2 accelerations, Vector2 targetOffset)
override void Update(int frameCount)
LostKiteSkyEntity(Player player, FastRandom random)
override void Update(int frameCount)
override void UpdateVelocity(int frameCount)
MeteorSkyEntity(Player player, FastRandom random)
override Color GetColor(Color backgroundColor)
override void Update(int frameCount)
override Vector2 GetDrawPosition()
override void UpdateVelocity(int frameCount)
override void Update(int frameCount)
override Color GetColor(Color backgroundColor)
PegasusSkyEntity(Player player, FastRandom random)
PixiePosseSkyEntity(Player player, FastRandom random)
override void Update(int frameCount)
override void UpdateVelocity(int frameCount)
override void Draw(SpriteBatch spriteBatch, float depthScale, float minDepth, float maxDepth)
void SetMagnetization(Vector2 accelerations, Vector2 targetOffset)
override void Update(int frameCount)
Vector2 _positionVsMagnet
Vector2 _magnetAccelerations
override void UpdateVelocity(int frameCount)
Vector2 _velocityVsMagnet
SeagullsGroupSkyEntity(Player player, FastRandom random)
override void Draw(SpriteBatch spriteBatch, float depthScale, float minDepth, float maxDepth)
static List< SeagullsGroupSkyEntity > CreateGroup(Player player, FastRandom random)
override Color GetColor(Color backgroundColor)
Vector2 _magnetPointTarget
void CommonDraw(SpriteBatch spriteBatch, float depthScale, float minDepth, float maxDepth)
Color GetColor(Color backgroundColor)
void SetPositionInWorldBasedOnScreenSpace(Vector2 actualWorldSpace)
float Helper_GetOpacityWithAccountingForOceanWaterLine()
Vector2 GetDrawPositionByDepth()
Asset< Texture2D > Texture
Vector2 GetDrawPosition()
virtual void Draw(SpriteBatch spriteBatch, float depthScale, float minDepth, float maxDepth)
void Update(int frameCount)
Rectangle SourceRectangle
SlimeBalloonGroupSkyEntity(Player player, FastRandom random)
static List< SlimeBalloonGroupSkyEntity > CreateGroup(Player player, FastRandom random)
override void UpdateVelocity(int frameCount)
void SetMagnetization(Vector2 accelerations, Vector2 targetOffset)
Vector2 _magnetAccelerations
Vector2 _velocityVsMagnet
override void Update(int frameCount)
Vector2 _positionVsMagnet
Vector2 _magnetPointTarget
override void Update(int frameCount)
VultureSkyEntity(Player player, FastRandom random)
override void UpdateVelocity(int frameCount)
override Color GetColor(Color backgroundColor)
WyvernSkyEntity(Player player, FastRandom random)
override void UpdateVelocity(int frameCount)
override void Update(GameTime gameTime)
void Spawn(Player player, SkyEntityType type, int seed)
override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth)
delegate SkyEntity EntityFactoryMethod(Player player, int seed)
readonly SlotVector< SkyEntity > _entities
bool AnActiveSkyConflictsWithAmbience()
override void Activate(Vector2 position, params object[] args)
override void Deactivate(params object[] args)
static SkyManager Instance
static readonly Color AmbientNPCGastropodLight
static Microsoft.Xna.Framework.Color ColorOfTheSkies
static bool IsItAHappyWindyDay
static double worldSurface
static float WindForVisuals
static bool BackgroundEnabled
static float[] bgAlphaFrontLayer
static int UnderworldLayer
static IAssetRepository Assets
static float GetLerpValue(float from, float to, float t, bool clamped=false)
static Color Lerp(Color value1, Color value2, float amount)
static Vector2 Clamp(Vector2 value1, Vector2 min, Vector2 max)
Rectangle GetSourceRectangle(Texture2D texture)