mirror of
https://github.com/originalnicodr/CinematicUnityExplorer.git
synced 2026-10-11 01:48:07 +08:00
* Huge restructure/rewrite. No real changes to any functionality, just a cleaner and more manageable project.
65 lines
1.9 KiB
C#
65 lines
1.9 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using UnityExplorer.UI;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityExplorer.UI.InteractiveValues;
|
|
|
|
namespace UnityExplorer.UI.CacheObject
|
|
{
|
|
public enum PairTypes
|
|
{
|
|
Key,
|
|
Value
|
|
}
|
|
|
|
public class CachePaired : CacheObjectBase
|
|
{
|
|
public override Type FallbackType => PairType == PairTypes.Key
|
|
? ParentDictionary.m_typeOfKeys
|
|
: ParentDictionary.m_typeofValues;
|
|
|
|
public override bool CanWrite => false; // todo?
|
|
|
|
public PairTypes PairType;
|
|
public int Index { get; private set; }
|
|
public InteractiveDictionary ParentDictionary { get; private set; }
|
|
internal IDictionary RefIDict;
|
|
|
|
public CachePaired(int index, InteractiveDictionary parentDict, IDictionary refIDict, PairTypes pairType, GameObject parentContent)
|
|
{
|
|
Index = index;
|
|
ParentDictionary = parentDict;
|
|
RefIDict = refIDict;
|
|
this.PairType = pairType;
|
|
this.m_parentContent = parentContent;
|
|
}
|
|
|
|
public override void CreateIValue(object value, Type fallbackType)
|
|
{
|
|
IValue = InteractiveValue.Create(value, fallbackType);
|
|
IValue.Owner = this;
|
|
}
|
|
|
|
#region UI CONSTRUCTION
|
|
|
|
internal override void ConstructUI()
|
|
{
|
|
base.ConstructUI();
|
|
|
|
var rowObj = UIFactory.CreateHorizontalGroup(m_mainContent, "PairedGroup", false, false, true, true, 0, new Vector4(0,0,5,2),
|
|
new Color(1, 1, 1, 0));
|
|
|
|
var indexLabel = UIFactory.CreateLabel(rowObj, "IndexLabel", $"{this.PairType} {this.Index}:", TextAnchor.MiddleLeft);
|
|
UIFactory.SetLayoutElement(indexLabel.gameObject, minWidth: 80, flexibleWidth: 30, minHeight: 25);
|
|
|
|
IValue.m_mainContentParent = rowObj;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|