Example #1
0
        IEnumerator Start()
        {
            Debug.Assert(canvas != null);
            Debug.Assert(nodeTextualDetails != null);
            Debug.Assert(horizontalLayout != null);
            Debug.Assert(presetColumnPrefab != null);
            Debug.Assert(backButton != null);

            canvas.gameObject.SetActive(false);

            yield return(StartCoroutine(App.Content.Account.Load()));

            //return if object died while waiting for answer
            if (this == null)
            {
                yield break;
            }

            nodeTextualDetails.SetContext(new ViewModel.NodeTextualDetails(hovered));
            backButton.onClick.AddListener(BackClicked);

            //setup existing preset columns
            foreach (var preset in App.Content.Account.ActiveChampion.PresetList)
            {
                GameObject gob = Instantiate(presetColumnPrefab);
                gob.transform.SetParent(horizontalLayout.transform, false);
                View.PresetColumn viewPresetColumn = gob.GetComponent <View.PresetColumn>();

                viewPresetColumn.SetContext(new ViewModel.PresetColumn(
                                                preset,
                                                hovered,
                                                ViewModel.PresetColumn.Mode.Display));
            }

            //add empty column to add presets.
            {
                GameObject gob = Instantiate(presetColumnPrefab);
                gob.transform.SetParent(horizontalLayout.transform, false);
                View.PresetColumn viewPresetColumn = gob.GetComponent <View.PresetColumn>();

                viewPresetColumn.SetContext(new ViewModel.PresetColumn(
                                                null,
                                                hovered,
                                                ViewModel.PresetColumn.Mode.Addition));
            }

            ArrangeUI();

            //App.Content.Account.ActiveChampion.PresetAdded += OnPresetAdded;
            App.Content.Account.ActiveChampion.PresetRemoved += OnPresetRemoved;

            canvas.gameObject.SetActive(true);
        }