Beispiel #1
0
    ExampleItemView InitializeItemView(GameObject viewGameObject, ExampleItemModel model)
    {
        ExampleItemView view = new ExampleItemView(viewGameObject.transform);

        view.titleText.text     = model.title;
        view.icon1Image.texture = availableIcons[model.icon1Index];
        return(view);
    }
Beispiel #2
0
    ExampleItemView initializeItemView(GameObject viewGameObject, ExampleItemModel model)
    {
        ExampleItemView view = new ExampleItemView(viewGameObject.transform);

        view._titleText.text       = model._title;
        view._thumbnailImg.texture = availableIcons[model._imgIndex];

        return(view);
    }
Beispiel #3
0
    static ExampleItemView InitializeItemView(GameObject viewGameObject, ScoreItem model)
    {
        ExampleItemView view = new ExampleItemView(viewGameObject.transform);

        view.nome.text   = model.Nome;
        view.pontos.text = model.Tempo.ToString();

        return(view);
    }
    //View (item의 텍스트들을 생성)
    ExampleItemView InitializeItemView(GameObject viewGameObject, ExampleItemModel model, int itemIndex)
    {
        ExampleItemView view = new ExampleItemView(viewGameObject.transform);

        view.ranking.text     = model.ranking;
        view.playerName.text  = model.playerName;
        view.playerScore.text = model.playerScore;

        return(view);
    }
Beispiel #5
0
    ExampleItemView InitializeItemView(GameObject viewGameObject, ExampleItemModel model)
    {
        ExampleItemView view = new ExampleItemView(viewGameObject.transform);

        view.title.text    = model.title;
        view.deadline.text = model.deadline;
        view.username.text = model.username;
        view.status.text   = model.status;

        return(view);
    }
Beispiel #6
0
    void OnReceivedNewModels(ScoreItem[] models)
    {
        foreach (Transform child in content)
        {
            Destroy(child.gameObject);
        }

        views.Clear();
        foreach (ScoreItem model in models)
        {
            GameObject instance = GameObject.Instantiate(prefabPrivate.gameObject) as GameObject;
            instance.transform.SetParent(content, false);
            ExampleItemView view = InitializeItemView(instance, model);

            views.Add(view);
        }
    }
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;

public class Populator : MonoBehaviour
{
    public Texture2D[] availableIcon;
    public RectTransform prefab;
    public Text countText;
    public ScrollRect scrollview;
    public RectTransform content;

    List<ExampleItemView> views = new List<ExampleItemView>();

    public void UpdateItems()
    {
        int newCount;
        int.TryParse(countText.text, out newCount);
        StartCoroutine(FetchItemModelsFromServer(newCount, results => OnReceivedNewModels(results)));
    }

    void OnReceivedNewModels(ExamplaItemModel[] models)
    {
        foreach (Transform child in content)
            Destroy(child.gameObject);

        views.Clear();

        int i = 0;
        foreach (var model in models)
        {
            var instance = GameObject.Instantiate(prefab.gameObject) as GameObject;
            instance.transform.SetParent(content, false);
            var View = InitializeItemView(instance, model);
            views.Add(View);
            ++i;
        }
    }

    ExampleItemView InitializeItemView(GameObject viewGameObject, ExamplaItemModel model)
    {
        ExampleItemView view = new ExampleItemView(viewGameObject.transform);

        view.titleText.text = model.title;
        view.icon1Image.texture = availableIcon[model.icon1Index];
        view.icon2Image.texture = availableIcon[model.icon2Index];
        view.icon3Image.texture = availableIcon[model.icon3Index];

        return view;
    }

    IEnumerator FetchItemModelsFromServer(int count, Action<ExamplaItemModel[]> onDone)
    {
        //Simulating Server Delay
        yield return new WaitForSeconds(2f);

        var results = new ExamplaItemModel[count];
        for (int i = 0; i < count; ++i)
        {
            results[i] = new ExamplaItemModel();
            results[i].title = "Instance" + i;
            results[i].icon1Index = UnityEngine.Random.Range(0, availableIcon.Length);
            results[i].icon2Index = UnityEngine.Random.Range(0, availableIcon.Length);
            results[i].icon3Index = UnityEngine.Random.Range(0, availableIcon.Length);

        }

        onDone(results);
    }

    public class ExampleItemView
    {
        public Text titleText;
        public RawImage icon1Image, icon2Image, icon3Image;

        public ExampleItemView(Transform rootView)
        {
            titleText = rootView.Find("TitlePanel/TitleText").GetComponent<Text>();
            icon1Image = rootView.Find("IconImage1").GetComponent<RawImage>();
            icon2Image = rootView.Find("IconImage2").GetComponent<RawImage>();
            icon3Image = rootView.Find("TitlePanel/IconImage3").GetComponent<RawImage>();
        }

    }

    public class ExamplaItemModel
    {
        public string title;
        public int icon1Index, icon2Index, icon3Index;
    }
}


Beispiel #8
0
    public static void AtualizaPlacar()
    {
        foreach (Transform child in contentPrivate)
        {
            Destroy(child.gameObject);
        }

        views.Clear();
        Debug.Log(Jogador.Nome);
        Debug.Log(Jogador.Tempo);

        ScoreItem model = new ScoreItem();

        model.Nome  = Jogador.Nome;
        model.Tempo = Jogador.Tempo;


        GameObject instance = GameObject.Instantiate(prefabPrivate.gameObject) as GameObject;

        instance.transform.SetParent(contentPrivate.GetComponent <Transform>().transform);

        bool      menorTempo = false;
        ScoreItem Score      = null;

        views.Clear();
        ScoreItem[] resultados = new ScoreItem[scores.scores.Length];
        for (int i = 0; i < scores.scores.Length; i++)
        {
            resultados[i] = scores.scores[i];
        }
        resultados[scores.scores.Length - 1] = model;

        ScoreItem repos = null;

        for (int i = 0; i < scores.scores.Length; i++)
        {
            for (int j = 0; j < scores.scores.Length - (i + 1); j++)
            {
                if (resultados[j].Tempo > resultados[j + 1].Tempo)
                {
                    repos             = resultados[j];
                    resultados[j]     = resultados[j + 1];
                    resultados[j + 1] = repos;
                }
            }
        }

        scores.scores = resultados;
        string jsonString = JsonUtility.ToJson(scores);

        using (StreamWriter streamWriter = File.CreateText(filePath))
        {
            streamWriter.Write(jsonString);
        }

        foreach (ScoreItem score in resultados)
        {
            instance = GameObject.Instantiate(prefabPrivate.gameObject) as GameObject;
            instance.transform.SetParent(contentPrivate, false);
            ExampleItemView view = InitializeItemView(instance, score);

            views.Add(view);
        }
    }