Skip to content
Snippets Groups Projects
DisplayFacts.cs 1.71 KiB
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class DisplayFacts : MonoBehaviour
{
    public Inventory inventory;

    public GameObject prefab_Point;
    public GameObject prefab_Distance;
    public GameObject prefab_Angle;
    public GameObject prefab_Default;

    public int x_Start;
    public int y_Start;
    public int X_Pacece_Between_Items;
    public int y_Pacece_Between_Items;
    public int number_of_Column;
    // Start is called before the first frame update
    void Start()
    {
        //CreateDisplay();
    }

    // Update is called once per frame
    void Update()
    {
       UpdateDisplay();
    }

    public void UpdateDisplay()
    {          
         for( int i = 0; i< inventory.Facts.Count; i++){
            if(! inventory.Facts[i].isDisplayed){
                var item = inventory.Facts[i].item;
                var obj = item.CreateDisplay(transform, getPrefab( item));
                obj.GetComponent<RectTransform>().localPosition = GetPosition(i);
                inventory.Facts[i].isDisplayed = true;
            }
            
        }
    }

    public Vector3 GetPosition(int i)
    {
        return new Vector3(x_Start+ (X_Pacece_Between_Items * (i % number_of_Column)), y_Start + (-y_Pacece_Between_Items * (i / number_of_Column)), 0f);
    }

    public GameObject getPrefab(ItemObject item){
        switch( item.type){
            case ItemObject.ItemType.LengthFact:return prefab_Distance; 
            case ItemObject.ItemType.AngleFact: return prefab_Angle;
            case ItemObject.ItemType.Point:     return prefab_Point;
            default:                            return prefab_Default;
        }
    }
}