summaryrefslogtreecommitdiff
path: root/GameCode/ControllerImageToggler.cs
blob: 22463f421f3c371be9dc835b1296e47584c10099 (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
using System;
using UnityEngine;
using UnityEngine.UI;

public class ControllerImageToggler : MonoBehaviour
{
	public Sprite MKSprite;

	public Sprite controllerSprite;

	private Image img;

	private CharacterCreatorPortrait portrait;

	private CharacterSelectionInstance selector;

	private void Awake()
	{
		selector = GetComponentInParent<CharacterSelectionInstance>();
		portrait = GetComponentInParent<CharacterCreatorPortrait>();
		if ((bool)portrait && portrait.controlType != MenuControllerHandler.MenuControl.Unassigned)
		{
			Switch(portrait.controlType);
		}
	}

	private void Start()
	{
		img = GetComponent<Image>();
		MenuControllerHandler instance = MenuControllerHandler.instance;
		instance.switchControlAction = (Action<MenuControllerHandler.MenuControl>)Delegate.Combine(instance.switchControlAction, new Action<MenuControllerHandler.MenuControl>(Switch));
		if (!selector && portrait.controlType == MenuControllerHandler.MenuControl.Unassigned)
		{
			Switch(MenuControllerHandler.menuControl);
		}
	}

	private void Update()
	{
		if ((bool)selector && (bool)selector.currentPlayer)
		{
			if (selector.currentPlayer.data.input.inputType == GeneralInput.InputType.Controller)
			{
				img.sprite = controllerSprite;
			}
			else
			{
				img.sprite = MKSprite;
			}
		}
	}

	private void Switch(MenuControllerHandler.MenuControl control)
	{
		if (!img)
		{
			img = GetComponent<Image>();
		}
		if (!selector)
		{
			if (control == MenuControllerHandler.MenuControl.Controller)
			{
				img.sprite = controllerSprite;
			}
			else
			{
				img.sprite = MKSprite;
			}
		}
	}
}