我班上有两张公开名单。
我可以从检查员那里改变他们的尺寸。我希望他们的尺寸相互依赖(当我改变一秒的尺寸时也会改变),但我不知道如何实现它。
我尝试创建自己继承自列表的类(这会让我在列表重建时调用事件)并使用它,但它不会显示在检查器中。
我尝试将[Serializable]用于MyList,没有任何变化。
你有什么想法怎么做?
public class ListsTest : MonoBehaviour {
public List<string> list1 = new List<string>();
public List<string> list2 = new List<string>();
public class MyList<T>: List<T>{
}
public MyList<string> list3 = new MyList<string>();
}
更复杂的例子:
方法1:
using System.Collections.Generic;
using UnityEngine;
using System;
public class ListTest : MonoBehaviour {
public SomeData someData = new SomeData();
public List<MoreData> moreData = new List<MoreData>();
[Serializable]
public class SomeData{
public string data1;
public string data2;
//More data
}
[Serializable]
public class MoreData {
public EvenMoreData evenMoreData = new EvenMoreData();
public CanItGoAnyFurther canItGoAnyFurther = new CanItGoAnyFurther();
[Serializable]
public class EvenMoreData {
public string data3;
public string data4;
//More data
}
[Serializable]
public class CanItGoAnyFurther {
public string data5;
public string data6;
//More data
}
}
}
方法2:
using System.Collections.Generic;
using UnityEngine;
using System;
public class ListTest2 : MonoBehaviour {
public SomeData someData = new SomeData();
public List<EvenMoreData> evenMoreData = new List<EvenMoreData>();
public List<CanItGoAnyFurther> canItGoAnyFurther = new List<CanItGoAnyFurther>();
[Serializable]
public class SomeData
{
public string data1;
public string data2;
//More data
}
[Serializable]
public class EvenMoreData
{
public string data3;
public string data4;
//More data
}
[Serializable]
public class CanItGoAnyFurther
{
public string data5;
public string data6;
//More data
}
}
在我看来,方法2检查员的数据更易读,更容易与设计师进行比较。但是有两个独立尺寸的列表。