/// <summary> /// Starts the gamemode. /// </summary> /// <param name="character">The character the player selected.</param> /// <param name="currentStage">The current stage we are on.</param> /// <param name="stageCollection"></param> public virtual void StartGameMode(EntityDefinition character, StageDefinition currentStage, StageCollection stageCollection = null) { this.stageCollection = stageCollection; this.currentStage = currentStage; playerCamera = Instantiate(gameManager.gameVariables.playerCameraPrefab.gameObject, spawnPointManager.GetSpawnPoint().position, Quaternion.identity) .GetComponent <PlayerCamera>(); ActivateGamemode(); }
public override void StartGameMode(EntityDefinition character, StageDefinition currentStage, StageCollection stageCollection = null) { base.StartGameMode(character, currentStage, stageCollection); playerCharacters.Add(simObjectManager.SpawnObject(character.entity, spawnPointManager.GetSpawnPoint().position, Quaternion.identity)); playerCamera.SetLookAtTarget(playerCharacters[0].transform); playerCharacters[0].GetComponent <EntityManager>().Init(gameManager, playerCamera, CAF.Input.InputControlType.Direct); }
public static StageCollection BuildCollectionFromTabData(string name, string description, string tabData) { StageCollection coll = new StageCollection() { Name = name, Description = description }; bool first = true; string[] headers = null; foreach (string row in tabData.Split("\r\n".ToCharArray())) { if (first) { headers = row.Split('\t'); foreach (string field in headers) { coll.Columns.Add(new BpToolsLib.CollectionColumn() { Name = field, Type = BpToolsLib.DataType.Text }); } first = false; } else { if (row.Trim().Equals("")) { continue; } BpToolsLib.CollectionRow cRow = new BpToolsLib.CollectionRow(); string[] fields = row.Split('\t'); for (int i = 0; i < headers.Length; i++) { if (fields.Length < i + 1) { break; } cRow.Add(new BpToolsLib.CollectionField() { Name = headers[i], Value = fields[i] }); } if (cRow.Count == headers.Length) { coll.Rows.Add(cRow); } } } return(coll); }
/// <summary> /// Предоставляет метод удаления выбранного /// элемента коллекции. /// </summary> private void M_DeleteStage() { if (StageCollection.Count == 0) { return; } StageCollection.RemoveAt(SelectedIndexStageCollection); MessageBox.Show("Этап удален.", "Оповещение", MessageBoxButton.OK, MessageBoxImage.Information); }
/// <summary> /// Предоставляет метод очистки всех /// элементов коллекции. /// </summary> private void M_CreanStageTable() { if (StageCollection.Count == 0) { MessageBox.Show("Не удалось провести очистку данных..." + "Таблица пуста.", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (MessageBox.Show("Вы действительно хотите безвозвратно очистить таблицу этапов?" + "После удаления востановить данные будет невозможно...", "Предупреждение", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes) { StageCollection.Clear(); } }
private async void OnEnable() { GameManager gm = GameManager.current; List <ModObjectReference> stageCollections = await gm.ModManager.GetStageCollections(); for (int i = 0; i < stageCollections.Count; i++) { ModObjectReference sc = stageCollections[i]; StageCollection collection = await gm.ModManager.GetStageCollection(sc); StageCollectionItem item = Instantiate(stageCollectionItem.gameObject, contentHolder.transform, false) .GetComponent <StageCollectionItem>(); item.collectionName.text = collection.collectionName; item.GetComponent <EventTrigger>().AddOnSubmitListeners((data) => { OnCollectionSelected(collection); }); } }
public async Task <StageCollection> GetStageCollection(ModObjectReference stageCollection) { stageCollection.modIdentifier = stageCollection.modIdentifier.ToLower(); if (!mods.ContainsKey(stageCollection.modIdentifier)) { return(null); } StageCollection c = await mods[stageCollection.modIdentifier].GetStageCollection(stageCollection.objectName); if (c == null) { return(null); } return(c); }
private void M_AddStage() { Temp_NameModeActive = GetNameModeActive(); if (string.IsNullOrWhiteSpace(Temp_NameModeActive)) { MessageBox.Show("Невозможно добавить новый этап!\nВыберите режим нагрузки...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } Temp_NameTypeActive = GetNameTypeActive(); if (string.IsNullOrWhiteSpace(Temp_NameTypeActive)) { MessageBox.Show("Невозможно добавить новый этап!\nВыберите тип нового этапа...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } Temp_AmperageValue = GetAmperageValue(); if (float.IsNaN(Temp_AmperageValue)) { MessageBox.Show("Невозможно добавить новый этап!\nВведите значение тока импульса на этапе...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } Temp_TimeValue = GetPulseTimeValue(); if (Temp_TimeValue == 0.0) { MessageBox.Show("Невожможно добавить новый этап!\nВведите значение времени импульса на этапе...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } // Добавление нового элемента коллекции StageCollection.Add(new ProgramViewModel() { NameMode = Temp_NameModeActive, NameType = Temp_NameTypeActive, AmperageValue = Temp_AmperageValue, TimeValue = Temp_TimeValue }); }
public void OnCollectionSelected(StageCollection sc) { foreach (Transform t in collectionStageHolder) { Destroy(t.gameObject); } int i = 1; foreach (GamemodeStageDefinition stage in sc.stages) { CollectionStageItem item = Instantiate(collectionStageItem.gameObject, collectionStageHolder.transform, false) .GetComponent <CollectionStageItem>(); item.stageText.text = $"Stage {i}"; item.GetComponent <EventTrigger>().AddOnSubmitListeners((d) => { OnStageSelected(stage); }); i++; } collectionInfoParent.SetActive(true); collectionInfoText.text = sc.collectionName; collectionStartButton.GetComponent <EventTrigger>().RemoveAllListeners(); }
/// <summary> /// Метод, позволяющий загрузить выбранный /// Excel файл в таблицу /// </summary> /// <param name="fileName">Имя файла для загрузки</param> private void ImportFrom(string fileName) { IExcel.Application ExcelExample = null; IExcel.Workbook objWorkbook = null; IExcel.Worksheet objWorksheet = null; IExcel.Range range = null; int RowCount, ColumnCount; string _mode, _type, _amperage, _time; try { ExcelExample = new IExcel.Application { Visible = false, UserControl = false }; objWorkbook = ExcelExample.Workbooks.Open(fileName); objWorksheet = objWorkbook.Sheets[1]; range = objWorksheet.UsedRange; if (objWorksheet != null) { RowCount = range.Rows.Count; ColumnCount = range.Columns.Count; for (int i = 1; i <= RowCount; i++) { _mode = range.Cells[i, 1].Value2.ToString(); _type = range.Cells[i, 2].Value2.ToString(); _amperage = range.Cells[i, 3].Value2.ToString(); _time = range.Cells[i, 4].Value2.ToString(); StageCollection.Add(new ProgramViewModel() { NameMode = _mode, NameType = _type, AmperageValue = float.Parse(_amperage), TimeValue = double.Parse(_time) }); } } } catch (Exception exc) { MessageBox.Show(exc.Message, "Import file fatal error", MessageBoxButton.OK, MessageBoxImage.Error); return; } finally { objWorkbook.Close(); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(objWorkbook); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(objWorksheet); ExcelExample.Quit(); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(ExcelExample); //TODO: Доработать полное закрытие после импорта excel файла } }