Exemple #1
0
    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;
    }
Exemple #3
0
    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);
        }
    }