Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
UISong.cs
Go to the documentation of this file.
1using UnityEngine;
2using UnityEngine.UI;
3
4public class UISong : EMono
5{
6 public static UISong Instance;
7
8 public Gauge gauge;
9
10 public Image bar;
11
12 public SoundSource source;
13
14 public BGMData.Part part;
15
16 public BGMData bgm;
17
18 public float ratio;
19
20 public Vector3 posFix;
21
22 private float timer;
23
24 private void Awake()
25 {
26 Instance = this;
27 }
28
29 public void SetSong(SoundSource _source, BGMData _bgm, BGMData.Part _part)
30 {
31 source = _source;
32 part = _part;
33 bgm = _bgm;
34 Vector3 position = Camera.main.WorldToScreenPoint(EMono.pc.pos.Position());
35 position += posFix * EMono.screen.Zoom;
36 position.z = 0f;
37 this.Rect().position = position;
38 }
39
40 private void Update()
41 {
42 if (source.source == null)
43 {
44 Kill();
45 return;
46 }
47 AudioSource audioSource = source.source;
48 ratio = Mathf.Clamp((audioSource.time - part.start) / (part.duration + bgm.song.fadeIn), 0f, 1f);
49 if (EMono.game == null || !EMono.core.IsGameStarted || source == null || !source.isPlaying || ratio >= 0.99f || (ratio <= 0f && !(EMono.pc.ai is AI_PlayMusic)))
50 {
51 timer += Core.delta;
52 if (timer > 0.3f)
53 {
54 Kill();
55 }
56 }
57 else
58 {
59 timer = 0f;
60 RectTransform rectTransform = bar.rectTransform;
61 rectTransform.sizeDelta = new Vector2(gauge.originalWidth * ratio, rectTransform.sizeDelta.y);
62 }
63 }
64
65 public void Kill()
66 {
67 Object.DestroyImmediate(base.gameObject);
68 }
69}
Point pos
Definition: Card.cs:55
AIAct ai
Definition: Chara.cs:187
Definition: Core.cs:14
bool IsGameStarted
Definition: Core.cs:84
static float delta
Definition: Core.cs:17
Definition: EMono.cs:4
static Core core
Definition: EMono.cs:5
static Chara pc
Definition: EMono.cs:13
static BaseGameScreen screen
Definition: EMono.cs:29
static Game game
Definition: EMono.cs:7
Definition: Gauge.cs:7
float originalWidth
Definition: Gauge.cs:20
ref Vector3 Position(int height)
Definition: Point.cs:524
Definition: UISong.cs:5
void Kill()
Definition: UISong.cs:65
void Awake()
Definition: UISong.cs:24
BGMData bgm
Definition: UISong.cs:16
void SetSong(SoundSource _source, BGMData _bgm, BGMData.Part _part)
Definition: UISong.cs:29
Gauge gauge
Definition: UISong.cs:8
Image bar
Definition: UISong.cs:10
SoundSource source
Definition: UISong.cs:12
float timer
Definition: UISong.cs:22
Vector3 posFix
Definition: UISong.cs:20
static UISong Instance
Definition: UISong.cs:6
void Update()
Definition: UISong.cs:40
float ratio
Definition: UISong.cs:18
BGMData.Part part
Definition: UISong.cs:14