protected void AddPrefabType(MyTreeViewItem parentItem, MyMwcObjectBuilder_Prefab_AppearanceEnum appearanceTextureEnum, MyTextsWrapperEnum typeText, BuildTypesEnum buildTypesEnum, CategoryTypesEnum[] categories, MyTexture2D icon, Vector2 iconSize, MyTexture2D expand, MyTexture2D collapse, Vector2 expandIconSize) { var prefabTypeItem = parentItem == null? m_addObjectTreeView.AddItem(MyTextsWrapper.Get(typeText), icon, iconSize, expand, collapse, expandIconSize) : parentItem.AddItem(MyTextsWrapper.Get(typeText), icon, iconSize, expand, collapse, expandIconSize); foreach (var categoryTypesEnum in categories) { var categoryItem = prefabTypeItem.AddItem(MyGuiPrefabHelpers.GetMyGuiCategoryTypeHelper(categoryTypesEnum).Description, icon, iconSize, expand, collapse, expandIconSize); AddPrefabItems(categoryItem, appearanceTextureEnum, buildTypesEnum, categoryTypesEnum); } }
private void AddTreeViewItem(MyTreeViewItem parentItem, StringBuilder text, MyTexture2D icon, Vector2 iconSize, MyTexture2D expandIcon, MyTexture2D collapseIcon, Vector2 expandIconSize, MyMwcObjectBuilder_Base objectBuilder, MyBuildingSpecification buildingSpecification) { var item = parentItem.AddItem(new StringBuilder(), icon, iconSize, expandIcon, collapseIcon, expandIconSize); item.Tag = new MyObjectToBuild(objectBuilder, buildingSpecification, MyGameplayConstants.GetGameplayProperties(objectBuilder, MyEditor.Static.FoundationFactory.PrefabContainer.Faction).MaxAmount); item.ToolTip = new MyToolTips(); item.ToolTip.AddToolTip(text, Color.White, 0.7f); item.ToolTip.AddToolTip(MyTextsWrapper.Get(MyTextsWrapperEnum.BuildingRequirements)); item.ToolTip.AddToolTip(new StringBuilder(), Color.Green); item.ToolTip.AddToolTip(new StringBuilder(), Color.Red); item.IconTexts = new MyIconTexts(); item.IconTexts[MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM] = new MyColoredText(new StringBuilder(), MyGuiConstants.COLORED_TEXT_DEFAULT_COLOR, 0.8f); item.IconTexts[MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_BOTTOM] = new MyColoredText(new StringBuilder()); item.IconTexts[MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER] = new MyColoredText(new StringBuilder()); item.Action = OnItemAction; item.RightClick = OnItemRighClick; UpdateTreeViewItemState(item, MyTreeViewItemUpdateStateFlag.All); }