summaryrefslogtreecommitdiff
path: root/Client/Assembly-CSharp/AcceptDivertPowerGame.cs
blob: 14867f1ddf89647394f1aa4355e326b2b1f74053 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
using System;
using System.Collections;
using UnityEngine;

public class AcceptDivertPowerGame : Minigame
{
	private LineRenderer[] LeftWires;

	private LineRenderer[] RightWires;

	public GameObject RightWireParent;

	public GameObject LeftWireParent;

	public SpriteRenderer Switch;

	public AudioClip SwitchSound;

	private bool done;

	public void Start()
	{
		this.LeftWires = this.LeftWireParent.GetComponentsInChildren<LineRenderer>();
		this.RightWires = this.RightWireParent.GetComponentsInChildren<LineRenderer>();
		for (int i = 0; i < this.LeftWires.Length; i++)
		{
			this.LeftWires[i].material.SetColor("_Color", Color.yellow);
		}
	}

	public void DoSwitch()
	{
		if (this.done)
		{
			return;
		}
		this.done = true;
		if (Constants.ShouldPlaySfx())
		{
			SoundManager.Instance.PlaySound(this.SwitchSound, false, 1f);
		}
		base.StartCoroutine(this.CoDoSwitch());
	}

	private IEnumerator CoDoSwitch()
	{
		yield return new WaitForLerp(0.25f, delegate(float t)
		{
			this.Switch.transform.localEulerAngles = new Vector3(0f, 0f, Mathf.Lerp(0f, 90f, t));
		});
		this.LeftWires[0].SetPosition(1, new Vector3(1.265f, 0f, 0f));
		for (int i = 0; i < this.RightWires.Length; i++)
		{
			this.RightWires[i].enabled = true;
			this.RightWires[i].material.SetColor("_Color", Color.yellow);
		}
		for (int j = 0; j < this.LeftWires.Length; j++)
		{
			this.LeftWires[j].material.SetColor("_Color", Color.yellow);
		}
		if (this.MyNormTask)
		{
			this.MyNormTask.NextStep();
		}
		base.StartCoroutine(base.CoStartClose(0.75f));
		yield break;
	}

	public void Update()
	{
		for (int i = 0; i < this.LeftWires.Length; i++)
		{
			Vector2 textureOffset = this.LeftWires[i].material.GetTextureOffset("_MainTex");
			textureOffset.x -= Time.fixedDeltaTime * 3f;
			this.LeftWires[i].material.SetTextureOffset("_MainTex", textureOffset);
		}
		for (int j = 0; j < this.RightWires.Length; j++)
		{
			Vector2 textureOffset2 = this.RightWires[j].material.GetTextureOffset("_MainTex");
			textureOffset2.x += Time.fixedDeltaTime * 3f;
			this.RightWires[j].material.SetTextureOffset("_MainTex", textureOffset2);
		}
	}
}