3 using System.Collections;
4 using System.Collections.Generic;
11 public static RiftToolRing instance {
private set;
get; }
13 public void OnEnable()
15 if (instance != null) {
16 throw(
new System.Exception (
"Error: Cannot create more than one instance of RiftToolRing!"));
20 setAvailableTools (null);
23 public void OnDisable()
25 if(
this == instance )
31 public void setAvailableTools (List<ToolWidget> tools)
34 Transform toolBar = transform.Find (
"ToolBar");
35 if (tools == null || tools.Count == 0) {
36 toolBar.gameObject.SetActive (
false);
39 toolBar.gameObject.SetActive (
true);
43 GameObject toolButton = toolBar.Find (
"ToolButton").gameObject;
44 float toolButtonWidth = toolButton.GetComponent<RectTransform> ().rect.width;
46 RectTransform r = toolBar.GetComponent<RectTransform> ();
47 r.sizeDelta =
new Vector2 ((tools.Count + 1)* toolButtonWidth + 2f, r.sizeDelta.y);
51 GameObject b = Instantiate (toolButton);
53 b.transform.SetParent (toolButton.transform.parent,
false);
54 RectTransform rb = b.GetComponent<RectTransform> ();
55 rb.anchoredPosition =
new Vector2 (1f + i * toolButtonWidth, 0f);
57 Image im = b.transform.Find (
"Image").GetComponent<Image> ();
58 im.sprite = tool.ToolIcon;
60 Button button = b.GetComponent<Button> ();
62 button.onClick.AddListener (() =>
ToolControl.instance.chooseTool (captured));
66 GameObject closeButton = toolBar.Find (
"CloseButton").gameObject;
67 RectTransform rc = closeButton.GetComponent<RectTransform> ();
68 rc.anchoredPosition =
new Vector2 (1f + i * toolButtonWidth, 0f);
69 Button cButton = closeButton.GetComponent<Button> ();
70 cButton.onClick.RemoveAllListeners ();
71 cButton.onClick.AddListener (() =>
ToolControl.instance.closeActiveTool ());
72 closeButton.SetActive (
true);