Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
PrimitiveUI.Examples.PUIExampleSineWaves Class Reference
Inheritance diagram for PrimitiveUI.Examples.PUIExampleSineWaves:

Public Attributes

PrimitiveCanvas primitiveCanvas
 
Slider sliderPeriod
 
Slider sliderAmplitude
 
Slider sliderFrequency
 
Color bgLinesColor
 
Color centerLinesColor
 
int numBgLinesHorizontal
 
float sampleSize = 0.01f
 

Private Member Functions

void Start ()
 
void Update ()
 
void Draw ()
 

Private Attributes

StrokeStyle sinStrokeStyle
 
StrokeStyle bgLinesStrokeStyle
 
StrokeStyle centerLinesStrokeStyle
 
float lastSineProgress
 

Detailed Description

Definition at line 8 of file PUIExampleSineWaves.cs.

Member Function Documentation

◆ Draw()

void PrimitiveUI.Examples.PUIExampleSineWaves.Draw ( )
inlineprivate

Definition at line 58 of file PUIExampleSineWaves.cs.

59 {
61 float num = bgLinesStrokeStyle.thickness * (float)numBgLinesHorizontal;
62 float num2 = (1f - num) / (float)(numBgLinesHorizontal - 1);
63 float num3 = bgLinesStrokeStyle.thickness / 2f * (float)(numBgLinesHorizontal - 1);
64 for (int i = 0; i < numBgLinesHorizontal; i++)
65 {
66 float x = num3 + (float)i * num2;
67 primitiveCanvas.DrawLine(new Vector2(x, 0f), new Vector2(x, 1f), bgLinesStrokeStyle);
68 }
69 float num4 = bgLinesStrokeStyle.thickness * primitiveCanvas.aspectRatio;
71 int num5 = Mathf.CeilToInt(1f / (num4 + num2));
72 num3 = num4 / 2f * (float)(num5 - 1);
73 for (int j = 0; j < num5; j++)
74 {
75 float y = num3 + (float)j * num2;
76 primitiveCanvas.DrawLine(new Vector2(0f, y), new Vector2(1f, y), bgLinesStrokeStyle);
77 }
78 primitiveCanvas.DrawLine(new Vector2(0.5f, 0f), new Vector2(0.5f, 1f), centerLinesStrokeStyle);
79 primitiveCanvas.DrawLine(new Vector2(0f, 0.5f), new Vector2(1f, 0.5f), centerLinesStrokeStyle);
80 float num6 = 0.05f;
81 List<Vector2> list = new List<Vector2>();
82 for (float num7 = 0f - num6; num7 < 1f + num6; num7 += sampleSize)
83 {
84 float y2 = Mathf.Sin(MathF.PI * 2f / sliderPeriod.value * num7 * MathF.PI + lastSineProgress) * sliderAmplitude.value / 2f + 0.5f;
85 list.Add(new Vector2(num7, y2));
86 }
87 primitiveCanvas.DrawPath(list.ToArray(), sinStrokeStyle, closePath: false);
88 lastSineProgress += Time.deltaTime * sliderFrequency.value;
89 }
void DrawPath(Vector2[] points)
void DrawLine(Vector2 point1, Vector2 point2)

References PrimitiveUI.PrimitiveCanvas.aspectRatio, PrimitiveUI.Examples.PUIExampleSineWaves.bgLinesStrokeStyle, PrimitiveUI.Examples.PUIExampleSineWaves.centerLinesStrokeStyle, PrimitiveUI.PrimitiveCanvas.Clear(), PrimitiveUI.PrimitiveCanvas.DrawLine(), PrimitiveUI.PrimitiveCanvas.DrawPath(), PrimitiveUI.Examples.PUIExampleSineWaves.lastSineProgress, PrimitiveUI.Examples.PUIExampleSineWaves.numBgLinesHorizontal, PrimitiveUI.Examples.PUIExampleSineWaves.primitiveCanvas, PrimitiveUI.Examples.PUIExampleSineWaves.sampleSize, PrimitiveUI.Examples.PUIExampleSineWaves.sinStrokeStyle, PrimitiveUI.Examples.PUIExampleSineWaves.sliderFrequency, and PrimitiveUI.Examples.PUIExampleSineWaves.sliderPeriod.

Referenced by PrimitiveUI.Examples.PUIExampleSineWaves.Start(), and PrimitiveUI.Examples.PUIExampleSineWaves.Update().

◆ Start()

void PrimitiveUI.Examples.PUIExampleSineWaves.Start ( )
inlineprivate

Definition at line 34 of file PUIExampleSineWaves.cs.

35 {
36 sliderPeriod.onValueChanged.AddListener(delegate
37 {
38 Draw();
39 });
40 sliderAmplitude.onValueChanged.AddListener(delegate
41 {
42 Draw();
43 });
44 sliderFrequency.onValueChanged.AddListener(delegate
45 {
46 Draw();
47 });
48 sinStrokeStyle = new StrokeStyle(Color.white, 0.025f, StrokeScaleMode.Relative);
49 bgLinesStrokeStyle = new StrokeStyle(bgLinesColor, 0.004f, StrokeScaleMode.Relative);
50 centerLinesStrokeStyle = new StrokeStyle(centerLinesColor, 0.01f, StrokeScaleMode.Relative);
51 }

References PrimitiveUI.Examples.PUIExampleSineWaves.bgLinesColor, PrimitiveUI.Examples.PUIExampleSineWaves.bgLinesStrokeStyle, PrimitiveUI.Examples.PUIExampleSineWaves.centerLinesColor, PrimitiveUI.Examples.PUIExampleSineWaves.centerLinesStrokeStyle, Color, PrimitiveUI.Examples.PUIExampleSineWaves.Draw(), PrimitiveUI.Examples.PUIExampleSineWaves.sinStrokeStyle, PrimitiveUI.Examples.PUIExampleSineWaves.sliderAmplitude, PrimitiveUI.Examples.PUIExampleSineWaves.sliderFrequency, and PrimitiveUI.Examples.PUIExampleSineWaves.sliderPeriod.

◆ Update()

void PrimitiveUI.Examples.PUIExampleSineWaves.Update ( )
inlineprivate

Definition at line 53 of file PUIExampleSineWaves.cs.

54 {
55 Draw();
56 }

References PrimitiveUI.Examples.PUIExampleSineWaves.Draw().

Member Data Documentation

◆ bgLinesColor

Color PrimitiveUI.Examples.PUIExampleSineWaves.bgLinesColor

◆ bgLinesStrokeStyle

StrokeStyle PrimitiveUI.Examples.PUIExampleSineWaves.bgLinesStrokeStyle
private

◆ centerLinesColor

Color PrimitiveUI.Examples.PUIExampleSineWaves.centerLinesColor

◆ centerLinesStrokeStyle

StrokeStyle PrimitiveUI.Examples.PUIExampleSineWaves.centerLinesStrokeStyle
private

◆ lastSineProgress

float PrimitiveUI.Examples.PUIExampleSineWaves.lastSineProgress
private

◆ numBgLinesHorizontal

int PrimitiveUI.Examples.PUIExampleSineWaves.numBgLinesHorizontal

◆ primitiveCanvas

PrimitiveCanvas PrimitiveUI.Examples.PUIExampleSineWaves.primitiveCanvas

◆ sampleSize

float PrimitiveUI.Examples.PUIExampleSineWaves.sampleSize = 0.01f

◆ sinStrokeStyle

StrokeStyle PrimitiveUI.Examples.PUIExampleSineWaves.sinStrokeStyle
private

◆ sliderAmplitude

Slider PrimitiveUI.Examples.PUIExampleSineWaves.sliderAmplitude

◆ sliderFrequency

Slider PrimitiveUI.Examples.PUIExampleSineWaves.sliderFrequency

◆ sliderPeriod

Slider PrimitiveUI.Examples.PUIExampleSineWaves.sliderPeriod

The documentation for this class was generated from the following file: