57 public virtual void Update(
float dt) {
58 bool flag = m_subsystemSky.ViewUnderWaterDepth > 0f;
88 zero.X -= 2f * vector.X / (float)Math.PI + 0.05f * MathF.Sin(5f * num);
89 zero.Y += 2f * vector.Y / (float)Math.PI + (
m_isUnderWater ? 0.75f * num : -0.75f * num);
110 if (!
string.IsNullOrEmpty(
Message)
127 Vector2 vector2 =
new(viewportSize.
X, 0f);
128 Vector2 vector3 =
new(viewportSize.
X, viewportSize.
Y);
129 Vector2 vector4 =
new(0f, viewportSize.
Y);
130 Vector2 p =
new(viewportSize.X / 2f, viewportSize.Y / 2f);
131 Color color2 = color * outerFactor;
132 Color color3 = color * innerFactor;
177 float num = viewportSize.X / viewportSize.
Y;
179 Vector2 vector2 =
new(viewportSize.
X, 0f);
180 Vector2 vector3 =
new(viewportSize.
X, viewportSize.
Y);
181 Vector2 vector4 =
new(0f, viewportSize.
Y);
182 Vector2 p =
new(viewportSize.X / 2f, viewportSize.Y / 2f);
190 Color color2 = color * outerFactor;
191 Color color3 = color * innerFactor;
251 texturedBatch2D.
Flush();
260 Point2 point =
new((int)MathF.Round(12f * viewportSize.
X / viewportSize.
Y), (
int)MathF.Round(12f));
266 for (
int i = 0; i <= point.
X; i++) {
267 for (
int j = 0; j <= point.
Y; j++) {
272 num3 +=
m_random.Float(-0.4f, 0.4f);
276 num4 +=
m_random.Float(-0.4f, 0.4f);
278 float x = num3 / point.
X;
279 float y = num4 / point.
Y;
284 Vector3 vector = Vector3.UnitX / camera.ProjectionMatrix.M11 * 2f * 0.2f * s;
285 Vector3 vector2 = Vector3.UnitY / camera.ProjectionMatrix.M22 * 2f * 0.2f * s;
286 Vector3 v2 = -0.2f * Vector3.UnitZ - 0.5f * (vector + vector2);
303 Vector2 v3 =
new(viewportSize.X / viewportSize.
Y, 1f);
304 Vector2 vector3 =
new(point.X - 1, point.Y - 1);
305 for (
int k = 0; k < point.
X; k++) {
306 for (
int l = 0; l < point.
Y; l++) {
307 float num5 = (
new Vector2(2 * k / vector3.
X - 1f, 2 * l / vector3.
Y - 1f) * v).Length() / num2;
308 if (1f - num5 +
m_random.Float(0f, 0.05f) < num) {
313 Vector3 vector4 = v2 + v4.X * vector + v4.Y * vector2;
314 Vector3 p = v2 + v5.X * vector + v5.Y * vector2;
315 Vector3 vector5 = v2 + v6.X * vector + v6.Y * vector2;
316 Vector3 p2 = v2 + v7.X * vector + v7.Y * vector2;
321 texturedBatch3D.QueueTriangle(
330 texturedBatch3D.QueueTriangle(
347 Vector2 position = camera.ViewportSize / 2f;
348 position.X += 0.07f * camera.ViewportSize.X * (float)Math.Sin(1.7300000190734863 *
Time.
FrameStartTime);
349 position.Y += 0.07f * camera.ViewportSize.Y * (float)Math.Cos(1.1200000047683716 *
Time.
FrameStartTime);
367 Vector2 position =
new(camera.ViewportSize.X / 2f, camera.ViewportSize.Y - 25f);
readonly DynamicArray< VertexPositionColor > TriangleVertices
void TransformTriangles(Matrix matrix, int start=0, int end=-1)
void TransformTriangles(Matrix matrix, int start=0, int end=-1)
readonly DynamicArray< VertexPositionColorTexture > TriangleVertices
void TransformTriangles(Matrix matrix, int start=0, int end=-1)
readonly DynamicArray< VertexPositionColorTexture > TriangleVertices
static readonly BlendState Additive
static readonly BlendState AlphaBlend
static readonly DepthStencilState None
void Flush(bool clearAfterFlush=true)
void QueueTriangle(Vector2 p1, Vector2 p2, Vector2 p3, float depth, Color color)
void Flush(bool clearAfterFlush=true)
void QueueText(string text, Vector2 position, float depth, Color color, TextAnchor anchor=TextAnchor.Default)
static readonly RasterizerState CullNoneScissor
static SamplerState PointWrap
void QueueTriangle(Vector2 p1, Vector2 p2, Vector2 p3, float depth, Vector2 texCoord1, Vector2 texCoord2, Vector2 texCoord3, Color color)
void Flush(bool clearAfterFlush=true)
static float Remainder(float x, float y)
static float Saturate(float x)
static bool PeriodicEvent(double period, double offset)
static double FrameStartTime
SubsystemSky m_subsystemSky
virtual void DrawOverlay(Camera camera, Color color, float innerFactor, float outerFactor)
virtual void DrawTexturedOverlay(Camera camera, Texture2D texture, Color color, float innerFactor, float outerFactor, Vector2 offset)
double? m_waterSurfaceCrossTime
PrimitivesRenderer3D m_primitivesRenderer3D
virtual void DrawMessage(Camera camera, string message, float factor)
static int[] m_drawOrders
virtual void DrawFloatingMessage(Camera camera, string message, float factor)
virtual void DrawIceOverlay(Camera camera, float factor)
SubsystemTime m_subsystemTime
ComponentPlayer m_componentPlayer
ComponentGui m_componentGui
SubsystemTerrain m_subsystemTerrain
virtual void Draw(Camera camera, int drawOrder)
float FloatingMessageFactor
override void Load(ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap)
PrimitivesRenderer2D m_primitivesRenderer2D
virtual void Update(float dt)
static object Get(Type type, string name)
static ? float CalculateSmoothLight(SubsystemTerrain subsystemTerrain, Vector3 p)
ValuesDictionary ValuesDictionary
static Color MultiplyColorOnly(Color c, float s)
static readonly Vector2 Zero
static readonly Vector2 One
static Vector3 Cross(Vector3 v1, Vector3 v2)
static Vector3 Normalize(Vector3 v)
static readonly Vector3 Zero