Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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");
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 /// <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;
 }
Exemplo n.º 5
0
        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);
        }