• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

FreeTrainの進化系を目指す


Commit MetaInfo

Revision42 (tree)
Time2016-01-12 00:20:45
Authorc477

Log Message

SkinCatalog実装中

Change Summary

Incremental Difference

--- trunk/core/core/graphics/DirectionalTextureSet.cs (revision 41)
+++ trunk/core/core/graphics/DirectionalTextureSet.cs (revision 42)
@@ -71,7 +71,7 @@
7171 }
7272
7373 public virtual bool Select(CatalogVariableCollection.ValueMap valueMap, out ConditionedTextureSrc result, out ICatalogSource<ConditionedTextureSrc> child) {
74- ConditionedTextureSrc[] array = ArrayForCatalogVariable;
74+ //ConditionedTextureSrc[] array = ArrayForCatalogVariable;
7575 int idx = (int)valueMap[CatalogVarNameConstants.Direction];
7676 child = null;
7777 result = this[idx];
--- trunk/core/core/structure/SkinCatalog.cs (revision 41)
+++ trunk/core/core/structure/SkinCatalog.cs (revision 42)
@@ -27,6 +27,7 @@
2727 varCollection = new CatalogVariableCollection();
2828 PluginManager pm = PluginManager.theInstance;
2929 IEnumerable<CtbStructureSkin> contribs = pm.EnumContributions<CtbStructureSkin>();
30+ // TODO: 同名でグループ化したツリー構造化
3031 List<CtbStructureSkin> list = new List<CtbStructureSkin>(contribs);
3132 CatListVariable<CtbStructureSkin> var = new CatListVariable<CtbStructureSkin>(list, true);
3233 varElement = new CatalogVarCollectionElement(CatalogVarNameConstants.Design,"種類");
@@ -40,11 +41,21 @@
4041
4142 #region ICatalogSource implementation
4243 public IEnumerable<KeyValuePair<string, ICatalogVariable>> CatalogVariables {
43- get { throw new NotImplementedException(); }
44+ get {
45+ yield return new KeyValuePair<string, ICatalogVariable>(varElement.Name, varElement.Variable);
46+ yield break;
47+ }
4448 }
4549
4650 public bool Select(CatalogVariableCollection.ValueMap valueMap, out ConditionedTextureSrc result, out ICatalogSource<ConditionedTextureSrc> child) {
47- throw new NotImplementedException();
51+ object val = valueMap[CatalogVarNameConstants.Design];
52+ CatListVariable<CtbStructureSkin> var = valueMap[CatalogVarNameConstants.Design] as CatListVariable<CtbStructureSkin>;
53+ CtbStructureSkin ctbSkin = var.Current;
54+ result = null;
55+ child = null;
56+ if (ctbSkin == null) return false;
57+ child = ctbSkin.TextureSet;
58+ return true;
4859 }
4960 #endregion
5061 }
--- trunk/core/core/structure/ICatalogSource.cs (revision 41)
+++ trunk/core/core/structure/ICatalogSource.cs (revision 42)
@@ -8,6 +8,13 @@
88 get;
99 }
1010
11+ /// <summary>
12+ /// カタログ変数に応じて、エントリを選択する
13+ /// </summary>
14+ /// <param name="valueMap">現在の選択状態を保持するパラメーターマップ</param>
15+ /// <param name="result">選択結果、見つからなければnull</param>
16+ /// <param name="child">さらに子の要素があれば返す</param>
17+ /// <returns>選択結果がnullでなければtrue</returns>
1118 bool Select(CatalogVariableCollection.ValueMap valueMap, out T result, out ICatalogSource<T> child);
1219 }
1320 }