/// <summary> /// Returns new instance of object to build with specified amount /// </summary> /// <param name="objectBuilder">Object builder</param> /// <param name="amount">Amount</param> /// <returns>New instance of object to build</returns> public static MyObjectToBuild CreateFromObjectBuilder(MyMwcObjectBuilder_Base objectBuilder, float amount) { MyBuildingSpecification buildingSpecification = MyBuildingSpecifications.GetBuildingSpecification(objectBuilder); MyObjectToBuild objectToBuild = new MyObjectToBuild(objectBuilder, buildingSpecification, amount); return(objectToBuild); }
protected override void AddPrefabItems(MyTreeViewItem parentItem, MyMwcObjectBuilder_Prefab_AppearanceEnum appearanceTextureEnum, BuildTypesEnum buildType, CategoryTypesEnum categoryType) { MyMwcLog.WriteLine("GAME AddPrefabItems - START"); Vector2 itemSize = MyGuiConstants.CHECKBOX_SIZE * 3; foreach (MyMwcObjectBuilderTypeEnum enumValue in MyGuiPrefabHelpers.MyMwcPrefabTypesEnumValues) { foreach (int prefabId in MyMwcObjectBuilder_Base.GetObjectBuilderIDs(enumValue)) { MyPrefabConfiguration config = MyPrefabConstants.GetPrefabConfiguration(enumValue, prefabId); MyGuiPrefabHelper prefabModuleHelper = MyGuiObjectBuilderHelpers.GetGuiHelper(enumValue, prefabId) as MyGuiPrefabHelper; if (config == null) { continue; } if (config.FactionSpecific.HasValue && config.FactionSpecific.Value != appearanceTextureEnum) { continue; } if (config.BuildType == buildType && config.CategoryType == categoryType && config.EnabledInEditor) { MyMwcObjectBuilder_PrefabBase prefabObjectBuilder = MyPrefabFactory.GetInstance().CreatePrefabObjectBuilder(enumValue, prefabId, appearanceTextureEnum); MyBuildingSpecification buildingSpecification = MyBuildingSpecifications.GetBuildingSpecification(prefabObjectBuilder); MyTexture2D previewTexture = MyGuiManager.GetPrefabPreviewTexture(enumValue, prefabId, appearanceTextureEnum); AddTreeViewItem(parentItem, prefabModuleHelper.Description, previewTexture, itemSize, MyGuiManager.GetBlankTexture(), MyGuiManager.GetBlankTexture(), MyGuiConstants.CHECKBOX_SIZE, prefabObjectBuilder, buildingSpecification); } } } MyMwcLog.WriteLine("GAME AddPrefabItems - END"); }
private void AddSmallShipWeaponsItems(MyTreeViewItem parentItem) { Vector2 itemSize = MyGuiManager.GetNormalizedSizeFromScreenSize(new Vector2(64, 64)); foreach (MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum enumValue in MyGuiSmallShipHelpers.MyMwcObjectBuilder_SmallShip_Weapon_TypesEnumValues) { MyMwcObjectBuilder_SmallShip_Weapon weaponObjectBuilder = new MyMwcObjectBuilder_SmallShip_Weapon(enumValue); MyBuildingSpecification buildingSpecification = MyBuildingSpecifications.GetBuildingSpecification(weaponObjectBuilder); MyGuiSmallShipHelperWeapon smallShipWeaponHelper = MyGuiObjectBuilderHelpers.GetGuiHelper(MyMwcObjectBuilderTypeEnum.SmallShip_Weapon, (int)enumValue) as MyGuiSmallShipHelperWeapon; AddTreeViewItem(parentItem, smallShipWeaponHelper.Description, smallShipWeaponHelper.Icon, itemSize, MyGuiManager.GetBlankTexture(), MyGuiManager.GetBlankTexture(), MyGuiConstants.CHECKBOX_SIZE, weaponObjectBuilder, buildingSpecification); } }
/// <summary> /// Creates new instance of object to build /// </summary> /// <param name="objectBuilder">Object builder</param> /// <param name="buildingSpecification">Building specification</param> /// <param name="amount">Amount</param> public MyObjectToBuild(MyMwcObjectBuilder_Base objectBuilder, MyBuildingSpecification buildingSpecification, float amount) { ObjectBuilder = objectBuilder; BuildingSpecification = buildingSpecification; Amount = amount; }
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); }