Select Git revision
ToolmodeSelector_bttn_mobile.cs
ScrollDetails.cs 10.54 KiB
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.Networking;
using Newtonsoft.Json;
using static CommunicationEvents;
public class ScrollDetails : MonoBehaviour
{
public WorldCursor cursor;
public GameObject parameterDisplayPrefab;
public Scroll scroll;
public int x_Start;
public int y_Start;
public int y_Paece_Between_Items;
public static List<GameObject> ParameterDisplays;
private static List<Scroll.ScrollAssignment> LatestCompletions;
private static List<Fact> LatestRenderedHints;
public string currentMmtAnswer;
public Vector3 GetPosition(int i)
{
return new Vector3(x_Start, y_Start + i * (-y_Paece_Between_Items), 0f);
}
// Start is called before the first frame update
void Start()
{
if (cursor == null) cursor = GameObject.FindObjectOfType<WorldCursor>();
parameterDisplayHint.AddListener(animateScrollParameter);
ScrollFactHintEvent.AddListener(animateHint);
NewAssignmentEvent.AddListener(newAssignmentTrigger);
}
public void setScroll(Scroll s)
{
Transform originalScroll = gameObject.transform.GetChild(1).transform;
Transform originalScrollView = originalScroll.GetChild(1);
Transform originalViewport = originalScrollView.GetChild(0);
this.scroll = s;
originalScroll.GetChild(0).GetComponent<TextMeshProUGUI>().text = s.description;
//Clear all current ScrollFacts
for (int i = 0; i < originalViewport.GetChild(0).childCount; i++) {
GameObject.Destroy(originalViewport.GetChild(0).transform.GetChild(i).gameObject);
}
ParameterDisplays = new List<GameObject>();
for (int i = 0; i < s.requiredFacts.Count; i++)
{
var originalObj = Instantiate(parameterDisplayPrefab, Vector3.zero, Quaternion.identity, transform);
var originalScrollFact = originalObj.transform.GetChild(0).GetComponent<RenderedScrollFact>();
originalScrollFact.ID = i;
originalScrollFact.Label = s.requiredFacts[i].label;
originalScrollFact.factUri = s.requiredFacts[i].@ref.uri;
originalObj.transform.SetParent(originalViewport.GetChild(0));
ParameterDisplays.Add(originalObj);
}
}
public void magicButtonTrigger() {
StartCoroutine(magicButton());
}