本文整理汇总了C#中Sandbox.Graphics.GUI.MyGuiControlCombobox.SelectItemByIndex方法的典型用法代码示例。如果您正苦于以下问题:C# MyGuiControlCombobox.SelectItemByIndex方法的具体用法?C# MyGuiControlCombobox.SelectItemByIndex怎么用?C# MyGuiControlCombobox.SelectItemByIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sandbox.Graphics.GUI.MyGuiControlCombobox
的用法示例。
在下文中一共展示了MyGuiControlCombobox.SelectItemByIndex方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildControls
protected override void BuildControls()
{
base.BuildControls();
// Training level
{
var trainingLabel = MakeLabel(MySpaceTexts.TrainingLevel);
trainingLabel.Position = new Vector2(-0.25f, -0.47f + MARGIN_TOP);
trainingLabel.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER;
m_trainingLevel = new MyGuiControlCombobox(
position: new Vector2(-0.04f, -0.47f + MARGIN_TOP),
size: new Vector2(0.2f, trainingLabel.Size.Y),
originAlign: MyGuiDrawAlignEnum.HORISONTAL_RIGHT_AND_VERTICAL_CENTER
);
m_trainingLevel.AddItem((int)TrainingLevel.BASIC, MySpaceTexts.TrainingLevel_Basic);
m_trainingLevel.AddItem((int)TrainingLevel.INTERMEDIATE, MySpaceTexts.TrainingLevel_Intermediate);
m_trainingLevel.AddItem((int)TrainingLevel.ADVANCED, MySpaceTexts.TrainingLevel_Advanced);
m_trainingLevel.SelectItemByIndex(0);
m_trainingLevel.ItemSelected += OnTrainingLevelSelected;
Controls.Add(trainingLabel);
Controls.Add(m_trainingLevel);
}
}
示例2: RecreateControls
public override void RecreateControls(bool contructor)
{
base.RecreateControls(contructor);
this.Controls.Add(new MyGuiControlLabel(new Vector2(0.0f, -0.10f), text: "Select the amount and type of items to spawn in your inventory", originAlign: MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER));
m_amountTextbox = new MyGuiControlTextbox(new Vector2(-0.2f, 0.0f), null, 9, null, MyGuiConstants.DEFAULT_TEXT_SCALE, MyGuiControlTextboxType.DigitsOnly);
m_items = new MyGuiControlCombobox(new Vector2(0.2f, 0.0f), new Vector2(0.3f, 0.05f), null, null, 10, null);
m_confirmButton = new MyGuiControlButton(new Vector2(0.21f, 0.10f), MyGuiControlButtonStyleEnum.Default, new Vector2(0.2f, 0.05f), null, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, null, new System.Text.StringBuilder("Confirm"));
m_cancelButton = new MyGuiControlButton(new Vector2(-0.21f, 0.10f), MyGuiControlButtonStyleEnum.Default, new Vector2(0.2f, 0.05f), null, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, null, new System.Text.StringBuilder("Cancel"));
foreach (var definition in MyDefinitionManager.Static.GetAllDefinitions())
{
var physicalItemDef = definition as MyPhysicalItemDefinition;
if (physicalItemDef == null || physicalItemDef.CanSpawnFromScreen == false)
continue;
int key = m_physicalItemDefinitions.Count;
m_physicalItemDefinitions.Add(physicalItemDef);
m_items.AddItem(key, definition.DisplayNameText);
}
this.Controls.Add(m_amountTextbox);
this.Controls.Add(m_items);
this.Controls.Add(m_confirmButton);
this.Controls.Add(m_cancelButton);
m_amountTextbox.Text = string.Format("{0}", m_lastAmount);
m_items.SelectItemByIndex(m_lastSelectedItem);
m_confirmButton.ButtonClicked += confirmButton_OnButtonClick;
m_cancelButton.ButtonClicked += cancelButton_OnButtonClick;
}
示例3: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
BackgroundColor = new Vector4(1f, 1f, 1f, 0.5f);
m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.13f);
AddCaption("Voxels", Color.Yellow.ToVector4());
AddShareFocusHint();
AddSlider("Max precalc time", 0f, 20f, null, MemberHelper.GetMember(() => MyFakes.MAX_PRECALC_TIME_IN_MILLIS));
AddCheckBox("Enable yielding", null, MemberHelper.GetMember(() => MyFakes.ENABLE_YIELDING_IN_PRECALC_TASK));
m_filesCombo = MakeComboFromFiles(Path.Combine(MyFileSystem.ContentPath, "VoxelMaps"));
m_filesCombo.ItemSelected += filesCombo_OnSelect;
m_materialsCombo = AddCombo();
foreach (var material in MyDefinitionManager.Static.GetVoxelMaterialDefinitions())
{
m_materialsCombo.AddItem(material.Index, new StringBuilder(material.Id.SubtypeName));
}
m_materialsCombo.ItemSelected += materialsCombo_OnSelect;
m_materialsCombo.SelectItemByIndex(0);
AddCombo<MyVoxelDebugDrawMode>(null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_VOXELS_MODE));
AddButton(new StringBuilder("Remove all"), onClick: RemoveAllAsteroids);
AddButton(new StringBuilder("Generate render"), onClick: GenerateRender);
AddButton(new StringBuilder("Generate physics"), onClick: GeneratePhysics);
AddButton(new StringBuilder("Voxelize all"), onClick: ForceVoxelizeAllVoxelMaps);
AddButton(new StringBuilder("Resave prefabs"), onClick: ResavePrefabs);
AddButton(new StringBuilder("Reset all"), onClick: ResetAll);
AddButton(new StringBuilder("Reset part"), onClick: ResetPart);
m_currentPosition.Y += 0.01f;
AddCheckBox("Geometry cell debug draw", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_VOXEL_GEOMETRY_CELL));
AddCheckBox("Freeze terrain queries", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.FreezeTerrainQueries));
AddCheckBox("Debug render clipmap cells", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.DebugRenderClipmapCells));
AddCheckBox("Debug clipmap lod colors", () => MyRenderSettings.DebugClipmapLodColor, (value) => MyRenderSettings.DebugClipmapLodColor = value);
AddCheckBox("Enable physics shape discard", null, MemberHelper.GetMember(() => MyFakes.ENABLE_VOXEL_PHYSICS_SHAPE_DISCARDING));
AddCheckBox("Wireframe", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.Wireframe));
AddCheckBox("Green background", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.ShowGreenBackground));
m_currentPosition.Y += 0.01f;
AddSlider("Clipmap highest lod", MyClipmap.DebugClipmapMostDetailedLod, 0f, 15.9f, (slider) => MyClipmap.DebugClipmapMostDetailedLod = slider.Value);
m_currentPosition.Y += 0.01f;
}
示例4: CreateAsteroidsSpawnMenu
private void CreateAsteroidsSpawnMenu(float separatorSize, float usableWidth)
{
AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_Asteroid), Vector4.One, m_scale);
m_asteroidCombobox = AddCombo();
{
foreach (var definition in MyDefinitionManager.Static.GetVoxelMapStorageDefinitions())
{
m_asteroidCombobox.AddItem((int)definition.Id.SubtypeId, definition.Id.SubtypeId.ToString());
}
m_asteroidCombobox.ItemSelected += OnAsteroidCombobox_ItemSelected;
m_asteroidCombobox.SortItemsByValueText();
m_asteroidCombobox.SelectItemByIndex(m_lastSelectedAsteroidIndex);
}
m_currentPosition.Y += separatorSize;
AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_AsteroidGenerationCanTakeLong), Color.Red.ToVector4(), m_scale);
CreateDebugButton(usableWidth, MySpaceTexts.ScreenDebugSpawnMenu_SpawnAsteroid, OnLoadAsteroid);
m_currentPosition.Y += separatorSize;
}
示例5: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
if (m_asteroid_showPlanet)
{
CreatePlanetMenu();
return;
}
Vector2 cbOffset = new Vector2(-0.05f, 0.0f);
Vector2 controlPadding = new Vector2(0.02f, 0.02f); // X: Left & Right, Y: Bottom & Top
float textScale = 0.8f;
float separatorSize = 0.01f;
float usableWidth = SCREEN_SIZE.X - HIDDEN_PART_RIGHT - controlPadding.X * 2;
float hiddenPartTop = (SCREEN_SIZE.Y - 1.0f) / 2.0f;
m_currentPosition = -m_size.Value / 2.0f;
m_currentPosition += controlPadding;
m_currentPosition.Y += hiddenPartTop;
m_scale = textScale;
var caption = AddCaption(MySpaceTexts.ScreenDebugSpawnMenu_Caption, Color.White.ToVector4(), controlPadding + new Vector2(-HIDDEN_PART_RIGHT, hiddenPartTop));
m_currentPosition.Y += MyGuiConstants.SCREEN_CAPTION_DELTA_Y + separatorSize;
if (MyFakes.ENABLE_SPAWN_MENU_ASTEROIDS || MyFakes.ENABLE_SPAWN_MENU_PROCEDURAL_ASTEROIDS)
{
AddSubcaption(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_Asteroids), Color.White.ToVector4(), new Vector2(-HIDDEN_PART_RIGHT, 0.0f));
}
if (MyFakes.ENABLE_SPAWN_MENU_ASTEROIDS && MyFakes.ENABLE_SPAWN_MENU_PROCEDURAL_ASTEROIDS)
{
AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_SelectAsteroidType), Vector4.One, m_scale);
var combo = AddCombo();
combo.AddItem(1, MySpaceTexts.ScreenDebugSpawnMenu_PredefinedAsteroids);
combo.AddItem(2, MySpaceTexts.ScreenDebugSpawnMenu_ProceduralAsteroids);
// DA: Remove from MySpaceTexts and just hardcode until release. Leave a todo so you don't forget about it before release of planets.
combo.AddItem(3, MySpaceTexts.ScreenDebugSpawnMenu_Planets);
combo.SelectItemByKey(m_asteroid_showPlanet ? 3 : m_asteroid_showPredefinedOrProcedural ? 1 : 2);
combo.ItemSelected += () => { m_asteroid_showPredefinedOrProcedural = combo.GetSelectedKey() == 1; m_asteroid_showPlanet = combo.GetSelectedKey() == 3; RecreateControls(false); };
}
if (MyFakes.ENABLE_SPAWN_MENU_ASTEROIDS && m_asteroid_showPredefinedOrProcedural)
{
AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_Asteroid), Vector4.One, m_scale);
m_asteroidCombobox = AddCombo();
{
foreach (var definition in MyDefinitionManager.Static.GetVoxelMapStorageDefinitions())
{
m_asteroidCombobox.AddItem((int)definition.Id.SubtypeId, definition.Id.SubtypeId.ToString());
}
m_asteroidCombobox.ItemSelected += OnAsteroidCombobox_ItemSelected;
m_asteroidCombobox.SortItemsByValueText();
m_asteroidCombobox.SelectItemByIndex(m_lastSelectedAsteroidIndex);
}
m_currentPosition.Y += separatorSize;
AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_AsteroidGenerationCanTakeLong), Color.Red.ToVector4(), m_scale);
CreateDebugButton(usableWidth, MySpaceTexts.ScreenDebugSpawnMenu_SpawnAsteroid, OnLoadAsteroid);
m_currentPosition.Y += separatorSize;
}
if (MyFakes.ENABLE_SPAWN_MENU_PROCEDURAL_ASTEROIDS && !m_asteroid_showPredefinedOrProcedural)
{
AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_ProceduralSize), Vector4.One, m_scale);
m_procAsteroidSize = new MyGuiControlSlider(
position: m_currentPosition,
width: 400f / MyGuiConstants.GUI_OPTIMAL_SIZE.X,
minValue: 5.0f,
maxValue: 500f,
labelText: String.Empty,
labelDecimalPlaces: 2,
labelScale: 0.75f * m_scale,
originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP,
labelFont: MyFontEnum.Debug);
m_procAsteroidSize.DebugScale = m_sliderDebugScale;
m_procAsteroidSize.ColorMask = Color.White.ToVector4();
Controls.Add(m_procAsteroidSize);
MyGuiControlLabel label = new MyGuiControlLabel(
position: m_currentPosition + new Vector2(m_procAsteroidSize.Size.X + 0.005f, m_procAsteroidSize.Size.Y / 2),
text: String.Empty,
colorMask: Color.White.ToVector4(),
textScale: MyGuiConstants.DEFAULT_TEXT_SCALE * 0.8f * m_scale,
font: MyFontEnum.Debug);
label.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER;
Controls.Add(label);
m_procAsteroidSize.ValueChanged += (MyGuiControlSlider s) => { label.Text = MyValueFormatter.GetFormatedFloat(s.Value, 2) + "m"; m_procAsteroidSizeValue = s.Value; };
m_procAsteroidSize.Value = m_procAsteroidSizeValue;
m_currentPosition.Y += m_procAsteroidSize.Size.Y;
m_currentPosition.Y += separatorSize;
//.........这里部分代码省略.........
示例6: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.10f);
m_currentPosition.Y += 0.01f;
m_scale = 0.7f;
AddCaption("Audio FX", Color.Yellow.ToVector4());
AddShareFocusHint();
if (MyAudio.Static is MyNullAudio)
return;
m_categoriesCombo = AddCombo();
List<MyStringId> categories = MyAudio.Static.GetCategories();
m_categoriesCombo.AddItem(0, new StringBuilder(ALL_CATEGORIES));
int catCount = 1;
foreach (var category in categories)
{
m_categoriesCombo.AddItem(catCount++, new StringBuilder(category.ToString()));//jn:TODO get rid of ToString
}
m_categoriesCombo.SortItemsByValueText();
m_categoriesCombo.ItemSelected += new MyGuiControlCombobox.ItemSelectedDelegate(categoriesCombo_OnSelect);
m_cuesCombo = AddCombo();
m_cuesCombo.ItemSelected += new MyGuiControlCombobox.ItemSelectedDelegate(cuesCombo_OnSelect);
m_cueVolumeSlider = AddSlider("Volume", 1f, 0f, 1f, null);
m_cueVolumeSlider.ValueChanged = CueVolumeChanged;
m_applyVolumeToCategory = AddButton(new StringBuilder("Apply to category"), OnApplyVolumeToCategorySelected);
m_applyVolumeToCategory.Enabled = false;
m_cueVolumeCurveCombo = AddCombo();
foreach (var curveType in Enum.GetValues(typeof(MyCurveType)))
{
m_cueVolumeCurveCombo.AddItem((int)curveType, new StringBuilder(curveType.ToString()));
}
m_effects = AddCombo();
m_effects.AddItem(0,new StringBuilder(""));
catCount =1;
foreach(var effect in MyDefinitionManager.Static.GetAudioEffectDefinitions())
{
m_effects.AddItem(catCount++, new StringBuilder(effect.Id.SubtypeName));
}
m_effects.SelectItemByIndex(0);
m_effects.ItemSelected += effects_ItemSelected;
m_cueMaxDistanceSlider = AddSlider("Max distance", 0, 0, 2000, null);
m_cueMaxDistanceSlider.ValueChanged = MaxDistanceChanged;
m_applyMaxDistanceToCategory = AddButton(new StringBuilder("Apply to category"), OnApplyMaxDistanceToCategorySelected);
m_applyMaxDistanceToCategory.Enabled = false;
m_cueVolumeVariationSlider = AddSlider("Volume variation", 0, 0, 10, null);
m_cueVolumeVariationSlider.ValueChanged = VolumeVariationChanged;
m_cuePitchVariationSlider = AddSlider("Pitch variation", 0, 0, 500, null);
m_cuePitchVariationSlider.ValueChanged = PitchVariationChanged;
m_soloCheckbox = AddCheckBox("Solo", false, null);
m_soloCheckbox.IsCheckedChanged = SoloChanged;
MyGuiControlButton btn = AddButton(new StringBuilder("Play selected"), OnPlaySelected);
btn.CueEnum = GuiSounds.None;
AddButton(new StringBuilder("Stop selected"), OnStopSelected);
AddButton(new StringBuilder("Save"), OnSave);
AddButton(new StringBuilder("Reload"), OnReload);
if (m_categoriesCombo.GetItemsCount() > 0)
m_categoriesCombo.SelectItemByIndex(0);
}
示例7: UdpateCuesCombo
void UdpateCuesCombo(MyGuiControlCombobox box)
{
box.ClearItems();
long key = 0;
foreach (var cue in MyAudio.Static.CueDefinitions)
{
if ((m_currentCategorySelectedItem == ALL_CATEGORIES) || (m_currentCategorySelectedItem == cue.Category.ToString()))
{
box.AddItem(key, new StringBuilder(cue.SubtypeId.ToString()));
key++;
}
}
box.SortItemsByValueText();
if (box.GetItemsCount() > 0)
box.SelectItemByIndex(0);
}
示例8: Init
public void Init(IMyGuiControlsParent controlsParent, MyCubeGrid grid)
{
if (grid == null)
{
ShowError(MySpaceTexts.ScreenTerminalError_ShipNotConnected, controlsParent);
return;
}
grid.RaiseGridChanged();
m_assemblerKeyCounter = 0;
m_assemblersByKey.Clear();
foreach (var block in grid.GridSystems.TerminalSystem.Blocks)
{
var assembler = block as MyAssembler;
if (assembler == null) continue;
if (!assembler.HasLocalPlayerAccess()) continue;
m_assemblersByKey.Add(m_assemblerKeyCounter++, assembler);
}
m_controlsParent = controlsParent;
m_terminalSystem = grid.GridSystems.TerminalSystem;
m_blueprintsArea = (MyGuiControlScrollablePanel)controlsParent.Controls.GetControlByName("BlueprintsScrollableArea");
m_queueArea = (MyGuiControlScrollablePanel)controlsParent.Controls.GetControlByName("QueueScrollableArea");
m_inventoryArea = (MyGuiControlScrollablePanel)controlsParent.Controls.GetControlByName("InventoryScrollableArea");
m_blueprintsBgPanel = controlsParent.Controls.GetControlByName("BlueprintsBackgroundPanel");
m_blueprintsLabel = controlsParent.Controls.GetControlByName("BlueprintsLabel");
m_comboboxAssemblers = (MyGuiControlCombobox)controlsParent.Controls.GetControlByName("AssemblersCombobox");
m_blueprintsGrid = (MyGuiControlGrid)m_blueprintsArea.ScrolledControl;
m_queueGrid = (MyGuiControlGrid)m_queueArea.ScrolledControl;
m_inventoryGrid = (MyGuiControlGrid)m_inventoryArea.ScrolledControl;
m_materialsList = (MyGuiControlComponentList)controlsParent.Controls.GetControlByName("MaterialsList");
m_repeatCheckbox = (MyGuiControlCheckbox)controlsParent.Controls.GetControlByName("RepeatCheckbox");
m_slaveCheckbox = (MyGuiControlCheckbox)controlsParent.Controls.GetControlByName("SlaveCheckbox");
m_disassembleAllButton = (MyGuiControlButton)controlsParent.Controls.GetControlByName("DisassembleAllButton");
m_controlPanelButton = (MyGuiControlButton)controlsParent.Controls.GetControlByName("ControlPanelButton");
m_inventoryButton = (MyGuiControlButton)controlsParent.Controls.GetControlByName("InventoryButton");
{
var assemblingButton = (MyGuiControlRadioButton)controlsParent.Controls.GetControlByName("AssemblingButton");
var disassemblingButton = (MyGuiControlRadioButton)controlsParent.Controls.GetControlByName("DisassemblingButton");
assemblingButton.Key = (int)AssemblerMode.Assembling;
disassemblingButton.Key = (int)AssemblerMode.Disassembling;
m_modeButtonGroup.Add(assemblingButton);
m_modeButtonGroup.Add(disassemblingButton);
}
foreach (var entry in m_assemblersByKey)
{
if (entry.Value.IsFunctional == false)
{
m_incompleteAssemblerName.Clear();
m_incompleteAssemblerName.AppendStringBuilder(entry.Value.CustomName);
m_incompleteAssemblerName.AppendStringBuilder(MyTexts.Get(MySpaceTexts.Terminal_BlockIncomplete));
m_comboboxAssemblers.AddItem(entry.Key, m_incompleteAssemblerName);
}
else
{
m_comboboxAssemblers.AddItem(entry.Key, entry.Value.CustomName);
}
}
m_comboboxAssemblers.ItemSelected += Assemblers_ItemSelected;
m_comboboxAssemblers.SelectItemByIndex(0);
m_dragAndDrop = new MyGuiControlGridDragAndDrop(MyGuiConstants.DRAG_AND_DROP_BACKGROUND_COLOR,
MyGuiConstants.DRAG_AND_DROP_TEXT_COLOR,
0.7f,
MyGuiConstants.DRAG_AND_DROP_TEXT_OFFSET, true);
controlsParent.Controls.Add(m_dragAndDrop);
m_dragAndDrop.DrawBackgroundTexture = false;
m_dragAndDrop.ItemDropped += dragDrop_OnItemDropped;
RefreshBlueprints();
Assemblers_ItemSelected();
RegisterEvents();
if (m_assemblersByKey.Count == 0)
ShowError(MySpaceTexts.ScreenTerminalError_NoAssemblers, controlsParent);
}
示例9: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
BackgroundColor = new Vector4(1f, 1f, 1f, 0.5f);
m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.13f);
AddCaption("Voxel materials", Color.Yellow.ToVector4());
AddShareFocusHint();
m_materialsCombo = AddCombo();
var defList = MyDefinitionManager.Static.GetVoxelMaterialDefinitions().OrderBy(x => x.Id.SubtypeName).ToList();
foreach (var material in defList)
{
m_materialsCombo.AddItem(material.Index, new StringBuilder(material.Id.SubtypeName));
}
m_materialsCombo.ItemSelected += materialsCombo_OnSelect;
m_currentPosition.Y += 0.01f;
m_sliderInitialScale = AddSlider("Initial scale", 0, 1f, 100f, null);
m_sliderScaleMultiplier = AddSlider("Scale multiplier", 0, 1f, 100f, null);
m_sliderInitialDistance = AddSlider("Initial distance", 0, 1f, 100f, null);
m_sliderDistanceMultiplier = AddSlider("Distance multiplier", 0, 1f, 100f, null);
m_sliderFar1Distance = AddSlider("Far1 distance", 0, 0f, 20000f, null);
m_sliderFar1Scale = AddSlider("Far1 scale", 0, 1f, 50000f, null);
m_sliderFar2Distance = AddSlider("Far2 distance", 0, 0f, 20000f, null);
m_sliderFar2Scale = AddSlider("Far2 scale", 0, 1f, 50000f, null);
m_sliderFar3Distance = AddSlider("Far3 distance", 0, 0f, 40000f, null);
m_sliderFar3Scale = AddSlider("Far3 scale", 0, 1f, 50000f, null);
m_sliderExtScale = AddSlider("Detail scale (/1000)", 0, 0.01f, 1f, null);
m_materialsCombo.SelectItemByIndex(0);
m_colorFar3 = AddColor(new StringBuilder("Far3 color"), m_selectedVoxelMaterial, MemberHelper.GetMember(() => m_selectedVoxelMaterial.Far3Color));
m_colorFar3.SetColor(m_selectedVoxelMaterial.Far3Color);
m_currentPosition.Y += 0.01f;
AddButton(new StringBuilder("Reload definition"), OnReloadDefinition);
}
示例10: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
AddCaption("Cube blocks", Color.Yellow.ToVector4());
m_combo = AddCombo();
m_combo.Position = new Vector2(-0.15f, -0.35f);
Dictionary<long, int> dict = new Dictionary<long, int>();
Dictionary<long, StringBuilder> names = new Dictionary<long, StringBuilder>();
foreach (var entity in MyEntities.GetEntities())
{
if (entity is MyCubeGrid)
{
var grid = entity as MyCubeGrid;
foreach (var block in grid.GetBlocks())
{
long defId = block.BlockDefinition.Id.GetHashCode();
if (!dict.ContainsKey(defId))
dict.Add(defId, 0);
dict[defId]++;
string cubesize = "";
switch(block.BlockDefinition.CubeSize)
{
case MyCubeSize.Large: cubesize = "Large"; break;
case MyCubeSize.Small: cubesize = "Small"; break;
}
StringBuilder blockName = new StringBuilder().Append("[").Append(cubesize).Append("] ").Append(block.BlockDefinition.DisplayNameText);
if (!names.ContainsKey(defId))
names.Add(defId, blockName);
}
}
}
int qt;
StringBuilder name;
foreach (var key in names.Keys) //could be dict.Keys too
{
if (names.TryGetValue(key, out name) && dict.TryGetValue(key, out qt))
m_combo.AddItem(key, name.Append(": ").Append(qt));
}
m_combo.SortItemsByValueText();
if(m_combo.GetItemsCount() > 0)
m_combo.SelectItemByIndex(0);
m_button = AddButton(new StringBuilder("Remove All"), onClick_RemoveAllBlocks);
m_button.VisualStyle = MyGuiControlButtonStyleEnum.Default;
m_button.Position = new Vector2(0.0f, -0.25f);
m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.35f);
AddCheckBox("Enable use object highlight", null, MemberHelper.GetMember(() => MyFakes.ENABLE_USE_OBJECT_HIGHLIGHT));
AddCheckBox("Show grids decay", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_GRIDS_DECAY));
m_currentPosition += new Vector2(0.00f, 0.21f);
AddCheckBox("Debug draw all mount points", MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_ALL, onClick_DebugDrawMountPointsAll);
AddCheckBox("Debug draw mount points", MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS, onClick_DebugDrawMountPoints);
AddCheckBox("Forward", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AXIS0));
AddCheckBox("Backward", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AXIS1));
AddCheckBox("Left", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AXIS2));
AddCheckBox("Right", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AXIS3));
AddCheckBox("Up", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AXIS4));
AddCheckBox("Down", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AXIS5));
AddCheckBox("Draw autogenerated", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_MOUNT_POINTS_AUTOGENERATE));
AddCheckBox("CubeBlock Integrity", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_BLOCK_INTEGRITY));
m_button = AddButton(new StringBuilder("Resave mountpoints"), onClick_Save);
m_button.VisualStyle = MyGuiControlButtonStyleEnum.Default;
}
示例11: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.10f);
m_currentPosition.Y += 0.01f;
m_scale = 0.7f;
AddCaption("Render Model FX", Color.Yellow.ToVector4());
AddShareFocusHint();
//if (MySession.ControlledObject == null)
//return;
AddButton(new StringBuilder("Reload textures"), delegate { VRageRender.MyRenderProxy.ReloadTextures(); });
//Line line = new Line(MySector.MainCamera.Position, MySector.MainCamera.Position + MySector.MainCamera.ForwardVector * 10);
//var res = MyEntities.GetIntersectionWithLine(ref line, null, null);
//if (!res.HasValue)
// return;
////MyModel model = MySession.ControlledObject.ModelLod0;
//m_model = res.Value.Entity.ModelLod0;
m_modelsCombo = AddCombo();
var modelList = MyModels.LoadedModels.Values.ToList();
if (modelList.Count == 0)
return;
for (int i = 0; i < modelList.Count; i++)
{
var model = modelList[i];
m_modelsCombo.AddItem((int)i, new StringBuilder(System.IO.Path.GetFileNameWithoutExtension(model.AssetName)));
}
m_modelsCombo.SelectItemByIndex(m_currentModelSelectedItem);
m_modelsCombo.ItemSelected += new MyGuiControlCombobox.ItemSelectedDelegate(modelsCombo_OnSelect);
m_model = modelList[m_currentModelSelectedItem];
if (m_model == null)
return;
m_meshesCombo = AddCombo();
for (int i = 0; i < m_model.GetMeshList().Count; i++)
{
var mesh = m_model.GetMeshList()[i];
m_meshesCombo.AddItem((int)i, new StringBuilder(mesh.Material.Name));
}
m_meshesCombo.SelectItemByIndex(m_currentSelectedMeshItem);
m_meshesCombo.ItemSelected += new MyGuiControlCombobox.ItemSelectedDelegate(meshesCombo_OnSelect);
if (MySector.MainCamera != null)
{
m_voxelsCombo = AddCombo();
m_voxelsCombo.AddItem(-1, new StringBuilder("None"));
int i = 0;
foreach (var voxelMaterial in MyDefinitionManager.Static.GetVoxelMaterialDefinitions())
{
m_voxelsCombo.AddItem(i++, new StringBuilder(voxelMaterial.Id.SubtypeName));
}
m_voxelsCombo.SelectItemByIndex(m_currentSelectedVoxelItem + 1);
m_voxelsCombo.ItemSelected += new MyGuiControlCombobox.ItemSelectedDelegate(voxelsCombo_OnSelect);
}
var selectedMesh = m_model.GetMeshList()[m_currentSelectedMeshItem];
var selectedMaterial = selectedMesh.Material;
m_diffuseColor = AddColor(new StringBuilder("Diffuse"), selectedMaterial, MemberHelper.GetMember(() => selectedMaterial.DiffuseColor));
m_specularIntensity = AddSlider("Specular intensity", selectedMaterial.SpecularIntensity, 0, 32, null);
m_specularPower = AddSlider("Specular power", selectedMaterial.SpecularPower, 0, 128, null);
}
示例12: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
BackgroundColor = new Vector4(1f, 1f, 1f, 0.5f);
m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.13f);
AddCaption("Voxels", Color.Yellow.ToVector4());
AddShareFocusHint();
AddSlider("Max precalc time", 0f, 20f, null, MemberHelper.GetMember(() => MyFakes.MAX_PRECALC_TIME_IN_MILLIS));
//AddSlider("Terrain Tau Parameter", 0f, 1f, () => MyPlanetShapeProvider.GetTau(), x => MyPlanetShapeProvider.SetTau(x));
AddCheckBox("Enable yielding", null, MemberHelper.GetMember(() => MyFakes.ENABLE_YIELDING_IN_PRECALC_TASK));
m_filesCombo = MakeComboFromFiles(Path.Combine(MyFileSystem.ContentPath, "VoxelMaps"));
m_filesCombo.ItemSelected += filesCombo_OnSelect;
m_materialsCombo = AddCombo();
foreach (var material in MyDefinitionManager.Static.GetVoxelMaterialDefinitions())
{
m_materialsCombo.AddItem(material.Index, new StringBuilder(material.Id.SubtypeName));
}
m_materialsCombo.ItemSelected += materialsCombo_OnSelect;
m_materialsCombo.SelectItemByIndex(0);
AddCombo<MyVoxelDebugDrawMode>(null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_VOXELS_MODE));
AddLabel("Voxel ranges", Color.Yellow.ToVector4(), 0.7f);
AddCombo<MyRenderQualityEnum>(null, MemberHelper.GetMember(() => VoxelRangesQuality));
AddButton(new StringBuilder("Remove all"), onClick: RemoveAllAsteroids);
AddButton(new StringBuilder("Generate render"), onClick: GenerateRender);
AddButton(new StringBuilder("Generate physics"), onClick: GeneratePhysics);
//AddButton(new StringBuilder("Voxelize all"), onClick: ForceVoxelizeAllVoxelMaps);
//AddButton(new StringBuilder("Resave prefabs"), onClick: ResavePrefabs);
AddButton(new StringBuilder("Reset all"), onClick: ResetAll);
//AddButton(new StringBuilder("Reset part"), onClick: ResetPart);
m_currentPosition.Y += 0.01f;
//AddCheckBox("Geometry cell debug draw", null, MemberHelper.GetMember(() => MyDebugDrawSettings.DEBUG_DRAW_VOXEL_GEOMETRY_CELL));
AddCheckBox("Freeze terrain queries", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.FreezeTerrainQueries));
AddCheckBox("Debug render clipmap cells", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.DebugRenderClipmapCells));
AddCheckBox("Debug render merged cells", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.DebugRenderMergedCells));
AddCheckBox("Debug clipmap lod colors", () => MyRenderSettings.DebugClipmapLodColor, (value) => MyRenderSettings.DebugClipmapLodColor = value);
AddCheckBox("Enable physics shape discard", null, MemberHelper.GetMember(() => MyFakes.ENABLE_VOXEL_PHYSICS_SHAPE_DISCARDING));
AddCheckBox("Wireframe", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.Wireframe));
//AddCheckBox("Green background", MyRenderProxy.Settings, MemberHelper.GetMember(() => MyRenderProxy.Settings.ShowGreenBackground));
AddCheckBox("Use triangle cache", this, MemberHelper.GetMember(() => UseTriangleCache));
AddCheckBox("Use lod cutting", null, MemberHelper.GetMember(() => MyClipmap.UseLodCut));
AddCheckBox("Use storage cache", null, MemberHelper.GetMember(() => MyStorageBase.UseStorageCache));
AddCheckBox("Use dithering", null, MemberHelper.GetMember(() => MyClipmap.UseDithering));
AddCheckBox("Use voxel merging", () => MyRenderProxy.Settings.EnableVoxelMerging, (x) => { VoxelMergeChanged(x); });
AddCheckBox("Use queries", null, MemberHelper.GetMember(() => MyClipmap.UseQueries));
AddCheckBox("Voxel AO", null, MemberHelper.GetMember(() => MyFakes.ENABLE_VOXEL_COMPUTED_OCCLUSION));
m_currentPosition.Y += 0.01f;
}
示例13: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
var layout = new MyLayoutTable(this);
layout.SetColumnWidthsNormalized(50, 300, 300, 300, 300, 300, 50);
layout.SetRowHeightsNormalized(50, 450, 70, 70, 70, 400, 70, 70, 50);
//BRIEFING:
MyGuiControlParent briefing = new MyGuiControlParent();
var briefingScrollableArea = new MyGuiControlScrollablePanel(
scrolledControl: briefing)
{
Name = "BriefingScrollableArea",
ScrollbarVEnabled = true,
OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP,
BackgroundTexture = MyGuiConstants.TEXTURE_SCROLLABLE_LIST,
ScrolledAreaPadding = new MyGuiBorderThickness(0.005f),
};
layout.AddWithSize(briefingScrollableArea, MyAlignH.Left, MyAlignV.Top, 1, 1, rowSpan: 4, colSpan: 3);
//inside scrollable area:
m_descriptionBox = new MyGuiControlMultilineText(
position: new Vector2(-0.227f, 5f),
size: new Vector2(briefingScrollableArea.Size.X - 0.02f, 11f),
textBoxAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP,
selectable: false);
briefing.Controls.Add(m_descriptionBox);
m_connectedPlayers = new MyGuiControlTable();
m_connectedPlayers.Size = new Vector2(490f, 150f) / MyGuiConstants.GUI_OPTIMAL_SIZE;
m_connectedPlayers.VisibleRowsCount = 8;
m_connectedPlayers.ColumnsCount = 2;
m_connectedPlayers.SetCustomColumnWidths(new float[] { 0.7f, 0.3f });
m_connectedPlayers.SetColumnName(0, MyTexts.Get(MySpaceTexts.GuiScenarioPlayerName));
m_connectedPlayers.SetColumnName(1, MyTexts.Get(MySpaceTexts.GuiScenarioPlayerStatus));
m_kickPlayerButton = new MyGuiControlButton(text: MyTexts.Get(MyCommonTexts.Kick), visualStyle: MyGuiControlButtonStyleEnum.Rectangular, highlightType: MyGuiControlHighlightType.WHEN_ACTIVE,
size: new Vector2(190f, 48f) / MyGuiConstants.GUI_OPTIMAL_SIZE, onButtonClick: OnKick2Clicked);
m_kickPlayerButton.Enabled = CanKick();
m_timeoutLabel = new MyGuiControlLabel(text: MyTexts.GetString(MySpaceTexts.GuiScenarioTimeout), originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER);
TimeoutCombo = new MyGuiControlCombobox();
TimeoutCombo.ItemSelected += OnTimeoutSelected;
TimeoutCombo.AddItem(3, MyTexts.Get(MySpaceTexts.GuiScenarioTimeout3min));
TimeoutCombo.AddItem(5, MyTexts.Get(MySpaceTexts.GuiScenarioTimeout5min));
TimeoutCombo.AddItem(10, MyTexts.Get(MySpaceTexts.GuiScenarioTimeout10min));
TimeoutCombo.AddItem(-1, MyTexts.Get(MySpaceTexts.GuiScenarioTimeoutUnlimited));
TimeoutCombo.SelectItemByIndex(0);
TimeoutCombo.Enabled = Sync.IsServer;
m_canJoinRunningLabel = new MyGuiControlLabel(text: MyTexts.GetString(MySpaceTexts.ScenarioSettings_CanJoinRunningShort), originAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER);
m_canJoinRunning = new MyGuiControlCheckbox();
m_canJoinRunningLabel.Enabled = false;
m_canJoinRunning.Enabled = false;
m_startButton = new MyGuiControlButton(text: MyTexts.Get(MySpaceTexts.GuiScenarioStart), visualStyle: MyGuiControlButtonStyleEnum.Rectangular, highlightType: MyGuiControlHighlightType.WHEN_ACTIVE,
size: new Vector2(200, 48f) / MyGuiConstants.GUI_OPTIMAL_SIZE, onButtonClick: OnStartClicked);
m_startButton.Enabled = Sync.IsServer;
m_chatControl = new MyHudControlChat(
MyHud.Chat,
size: new Vector2(1400f, 300f) / MyGuiConstants.GUI_OPTIMAL_SIZE,
font: MyFontEnum.DarkBlue,
textScale: 0.7f,
textAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM,
backgroundColor: MyGuiConstants.THEMED_GUI_BACKGROUND_COLOR,
contents: null,
drawScrollbar: true,
textBoxAlign: MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_BOTTOM);
m_chatControl.BorderEnabled = true;
m_chatControl.BorderColor = Color.CornflowerBlue;
m_chatTextbox = new MyGuiControlTextbox(maxLength: ChatMessageBuffer.MAX_MESSAGE_SIZE);
m_chatTextbox.Size = new Vector2(1400f, 48f) / MyGuiConstants.GUI_OPTIMAL_SIZE;
m_chatTextbox.TextScale = 0.8f;
m_chatTextbox.VisualStyle = MyGuiControlTextboxStyleEnum.Default;
m_chatTextbox.EnterPressed += ChatTextbox_EnterPressed;
m_sendChatButton = new MyGuiControlButton(text: MyTexts.Get(MySpaceTexts.GuiScenarioSend), visualStyle: MyGuiControlButtonStyleEnum.Rectangular, highlightType: MyGuiControlHighlightType.WHEN_ACTIVE,
size: new Vector2(190f, 48f) / MyGuiConstants.GUI_OPTIMAL_SIZE, onButtonClick: OnSendChatClicked);
layout.AddWithSize(m_connectedPlayers, MyAlignH.Left, MyAlignV.Top, 1, 4, rowSpan: 2, colSpan: 2);
layout.AddWithSize(m_kickPlayerButton, MyAlignH.Left, MyAlignV.Center, 2, 5);
layout.AddWithSize(m_timeoutLabel, MyAlignH.Left, MyAlignV.Center, 3, 4);
layout.AddWithSize(TimeoutCombo, MyAlignH.Left, MyAlignV.Center, 3, 5);
layout.AddWithSize(m_canJoinRunningLabel, MyAlignH.Left, MyAlignV.Center, 4, 4);
layout.AddWithSize(m_canJoinRunning, MyAlignH.Right, MyAlignV.Center, 4, 5);
layout.AddWithSize(m_chatControl, MyAlignH.Left, MyAlignV.Top, 5, 1, rowSpan: 1, colSpan: 5);
layout.AddWithSize(m_chatTextbox, MyAlignH.Left, MyAlignV.Top, 6, 1, rowSpan: 1, colSpan: 4);
layout.AddWithSize(m_sendChatButton, MyAlignH.Right, MyAlignV.Top, 6, 5);
layout.AddWithSize(m_startButton, MyAlignH.Left, MyAlignV.Top, 7, 2);
}
示例14: CreateObjectsSpawnMenu
private void CreateObjectsSpawnMenu(float separatorSize, float usableWidth)
{
AddSubcaption(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_Items), Color.White.ToVector4(), new Vector2(-HIDDEN_PART_RIGHT, 0.0f));
AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_ItemType), Vector4.One, m_scale);
m_physicalObjectCombobox = AddCombo();
{
foreach (var definition in MyDefinitionManager.Static.GetAllDefinitions())
{
if (!definition.Public)
continue;
var physicalItemDef = definition as MyPhysicalItemDefinition;
if (physicalItemDef == null || physicalItemDef.CanSpawnFromScreen == false)
continue;
int key = m_physicalItemDefinitions.Count;
m_physicalItemDefinitions.Add(physicalItemDef);
m_physicalObjectCombobox.AddItem(key, definition.DisplayNameText);
}
m_physicalObjectCombobox.SortItemsByValueText();
m_physicalObjectCombobox.SelectItemByIndex(m_lastSelectedFloatingObjectIndex);
m_physicalObjectCombobox.ItemSelected += OnPhysicalObjectCombobox_ItemSelected;
}
m_currentPosition.Y += separatorSize;
AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_ItemAmount), Vector4.One, m_scale);
m_amountTextbox = new MyGuiControlTextbox(m_currentPosition, m_amount.ToString(), 6, null, m_scale, MyGuiControlTextboxType.DigitsOnly);
m_amountTextbox.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP;
m_amountTextbox.TextChanged += OnAmountTextChanged;
Controls.Add(m_amountTextbox);
m_currentPosition.Y += separatorSize + m_amountTextbox.Size.Y;
m_errorLabel = AddLabel(MyTexts.GetString(MySpaceTexts.ScreenDebugSpawnMenu_InvalidAmount), Color.Red.ToVector4(), m_scale);
m_errorLabel.Visible = false;
CreateDebugButton(usableWidth, MySpaceTexts.ScreenDebugSpawnMenu_SpawnObject, OnSpawnPhysicalObject);
m_currentPosition.Y += separatorSize;
}
示例15: RecreateControls
public override void RecreateControls(bool constructor)
{
base.RecreateControls(constructor);
m_scale = 0.7f;
AddCaption("Render Character", Color.Yellow.ToVector4());
AddShareFocusHint();
m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.10f);
m_currentPosition.Y += 0.01f;
if (MySession.ControlledEntity == null || !(MySession.ControlledEntity is MyCharacter))
{
AddLabel("None active character", Color.Yellow.ToVector4(), 1.2f);
return;
}
MyCharacter playerCharacter = MySession.LocalCharacter;
if (!constructor)
playerCharacter.DebugMode = true;
AddSlider("Max slope", playerCharacter.Definition.MaxSlope, 0f, 89f, (slider) => { playerCharacter.Definition.MaxSlope = slider.Value; });
AddLabel(playerCharacter.Model.AssetName, Color.Yellow.ToVector4(), 1.2f);
AddLabel("Animation A:", Color.Yellow.ToVector4(), 1.2f);
m_animationComboA = AddCombo();
int i = 0;
foreach (var animation in playerCharacter.Definition.AnimationNameToSubtypeName)
{
m_animationComboA.AddItem(i++, new StringBuilder(animation.Key));
}
m_animationComboA.SelectItemByIndex(0);
AddLabel("Animation B:", Color.Yellow.ToVector4(), 1.2f);
m_animationComboB = AddCombo();
i = 0;
foreach (var animation in playerCharacter.Definition.AnimationNameToSubtypeName)
{
m_animationComboB.AddItem(i++, new StringBuilder(animation.Key));
}
m_animationComboB.SelectItemByIndex(0);
m_blendSlider = AddSlider("Blend time", 0.5f, 0, 3, null);
AddButton(new StringBuilder("Play A->B"), OnPlayBlendButtonClick);
m_currentPosition.Y += 0.01f;
m_animationCombo = AddCombo();
i = 0;
foreach (var animation in playerCharacter.Definition.AnimationNameToSubtypeName)
{
m_animationCombo.AddItem(i++, new StringBuilder(animation.Key));
}
m_animationCombo.SortItemsByValueText();
m_animationCombo.SelectItemByIndex(0);
m_loopCheckbox = AddCheckBox("Loop", false, null);
m_currentPosition.Y += 0.02f;
foreach (var val in System.Enum.GetValues(typeof(MyBonesArea)))
{
string name = System.Enum.GetName(typeof(MyBonesArea), val);
var checkBox = AddCheckBox(name, false, null);
checkBox.UserData = val;
if (name == "Body")
checkBox.IsChecked = true;
}
AddButton(new StringBuilder("Play animation"), OnPlayButtonClick);
m_currentPosition.Y += 0.01f;
}