public static NumberComponent Instantiate(GameObject prefab, GameObject parent, NumberParameter parameter) { NumberComponent obj = Instantiate(prefab, parent.transform).GetComponent <NumberComponent>(); obj.parameter = parameter; if (parameter.Title == null) { obj.title.gameObject.SetActive(false); } else { obj.title.text = parameter.Title; } if (parameter.Text == null) { obj.dscriptionObj.SetActive(false); } else { obj.dscription.text = parameter.Text; } if (parameter.Value != null) { obj.inputField.text = parameter.Value; } return(obj); }
private void Start() { moduleId = moduleIdCounter++; List <NumberComponent> numbers = new List <NumberComponent>(); int index = 0; for (int z = 0; z < 3; z++) { for (int x = -1; x < 2; x++) { NumberComponent number = Instantiate(NumberComponentPrefab); number.transform.parent = NumberScreensContainer; number.transform.localPosition = new Vector3(0.05f * x, 0f, -0.03f * z); number.transform.localScale = Vector3.one; number.transform.localRotation = Quaternion.identity; number.Selectable.Parent = SelfSelectable; number.OnActualized += OnActualized; number.OnSelected += () => Audio.PlaySoundAtTransform("BinaryShiftNumberOn", number.transform); number.OnManualyDeselected += () => Audio.PlaySoundAtTransform("BinaryShiftNumberOff", number.transform); number.index = index++; numbers.Add(number); } } this.numbers = numbers.ToArray(); List <KMSelectable> children = new List <KMSelectable>(numbers.Select((n) => n.Selectable)); children.Add(Stage.Selectable); Stage.Selectable.OnInteract += () => { OnNextStage(); return(false); }; SelfSelectable.Children = children.ToArray(); SelfSelectable.UpdateChildren(); Reset(); BombModule.OnActivate += () => activated = true; }
private void SetComponentForParameter() { List <SubNodeParameter> subNodeParameters = new List <SubNodeParameter>(); foreach (Parameter p in this.node.parameters) { //Number if (p.type == ParameterType.number) { NumberParameter pram = p as NumberParameter; var compo = NumberComponent.Instantiate(MainViweModel.instance.NumberComponentPrefab, contentsObject, pram); componentList.Add(compo); } //sentence if (p.type == ParameterType.sentence) { SentenceParameter pram = p as SentenceParameter; var compo = SentenceComponent.Instantiate(MainViweModel.instance.SentenceComponentPrefab, contentsObject, pram); componentList.Add(compo); } //dropdown if (p.type == ParameterType.dropdown) { DropdownParameter pram = p as DropdownParameter; var compo = DropdownComponent.Instantiate(MainViweModel.instance.DropdownComponentPrefab, contentsObject, pram); componentList.Add(compo); } //nodes if (p.type == ParameterType.nodes) { NodesParameter pram = p as NodesParameter; var compo = SubNodeListComponent.Instantiate(MainViweModel.instance.SubNodeListComponentPrefab, contentsObject, pram.list, this); componentList.Add(compo); if (pram.Title != null) { compo.title.text = pram.Title; } } //subNodeList if (p.type == ParameterType.subNode) { subNodeParameters.Add(p as SubNodeParameter); } } if (subNodeParameters.Count != 0) { var compo = SubNodeListComponent.Instantiate(MainViweModel.instance.SubNodeListComponentPrefab, contentsObject, subNodeParameters, this); componentList.Add(compo); } }