Example #1
0
        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();
        }
Example #2
0
    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;
            }
        }
    }