private async void LoadCase() { Logger.AddLog($"Loading case from {Folder.Path}", false); IReadOnlyList <StorageFile> files = await Folder.GetFilesAsync(); Logger.AddLog($"Found total of {files.Count} data files in case folder", false); Dictionary <string, string> readFiles = new Dictionary <string, string>(); foreach (StorageFile file in files) { Logger.AddLog($"Adding file {file.Name}", true); readFiles.Add(file.Name, await FileIO.ReadTextAsync(file)); } foreach (string data in readFiles.Values) { Logger.AddLog($"File data: {data}", true); } CurrentCase = files.Count > 0 ? new CaseManager.CaseLoader.Case(readFiles) : new CaseManager.CaseLoader.Case(); Logger.AddLog($"Case contains {CurrentCase.TotalCurrentFiles()} files", false); Logger.AddLog($"Loaded case successfully", false); Thread t = new Thread(ProcessAsync); t.Start(); }
void Update() { if (isDead) { return; } HandleInput(); if (IsMoving && !IsJumping) { if (Direction == East) { changeState(STATE_WALK_R); } else if (Direction == West) { changeState(STATE_WALK_L); } else if (Direction == North) { changeState(STATE_WALK_T); } else if (Direction == South) { changeState(STATE_WALK_B); } } else if (IsJumping) { if (Direction == East) { changeState(STATE_JUMP_R); } else if (Direction == West) { changeState(STATE_JUMP_L); } else if (Direction == North) { changeState(STATE_JUMP_T); } else if (Direction == South) { changeState(STATE_JUMP_B); } } else if (!IsJumping && !IsMoving) { if (Direction == East) { changeState(STATE_IDLE_R); } else if (Direction == West) { changeState(STATE_IDLE_L); } else if (Direction == North) { changeState(STATE_IDLE_T); } else if (Direction == South) { changeState(STATE_IDLE_B); } } if (IsMoving) { if (Vector3.Dot(Direction, Destination - transform.position) > 0) { transform.position += Direction * MoveSpeed * Time.deltaTime; Vector3 lastPosition = new Vector3(PositionCase.x * CaseSize, PositionCase.y * CaseSize, transform.position.z); if (!alreadyLeaveCase && (Destination - transform.position).magnitude < 2 * (Destination - lastPosition).magnitude / 3) { CurrentCase.OnLeave(this); alreadyLeaveCase = true; } } else { transform.position = Destination; PositionCase += new Vector2(Direction.x, Direction.y) * (IsJumping ? 2 : 1); CurrentCase.OnEnter(this); alreadyLeaveCase = false; IsJumping = false; IsMoving = false; } } }