void SetInputValue()
    {
        var fieldType = GetComponent <InputFieldTyperController>().fieldType;

        if (fieldType == InputFieldEnums.InputFieldsTypes.BoardInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetBoardSize();

            GameManagerData.SetBoardSize(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.ObstaclesInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetNumberOfObstacles();

            GameManagerData.SetNumberOfObstacles(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.StartPosXInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetStartPointX();

            GameManagerData.SetStartPointX(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.StartPosYInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetStartPointY();

            GameManagerData.SetStartPointY(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.EndPosXInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetEndPointX();

            GameManagerData.SetEndPointX(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.EndPosYInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetEndPointY();

            GameManagerData.SetEndPointY(value);
        }
    }
    private int CalculateHCost(int currentX, int currentY)
    {
        int dx = Mathf.Abs(GameManagerData.GetEndPointX() - currentX);
        int dy = Mathf.Abs(GameManagerData.GetEndPointY() - currentY);

        int min = Mathf.Min(dx, dy);
        int max = Mathf.Max(dx, dy);

        int diagonalSteps = min;
        int straightSteps = max - min;

        return((int)(1.4f * diagonalSteps + straightSteps));
    }
Beispiel #3
0
    private int CalculateHCost(int currentX, int currentY, CurrentAlgorithmType playerAlgorithmType)
    {
        int dx = Mathf.Abs(GameManagerData.GetEndPointX() - currentX);
        int dy = Mathf.Abs(GameManagerData.GetEndPointY() - currentY);

        if (playerAlgorithmType == CurrentAlgorithmType.A_star)
        {
            int min = Mathf.Min(dx, dy);
            int max = Mathf.Max(dx, dy);

            int diagonalSteps = min;
            int straightSteps = max - min;

            return((int)(1.4f * diagonalSteps + straightSteps));
        }
        else
        {
            return(dx + dy);
        }
    }
    private void SetStartAndEndPoint(Transform gridParent)
    {
        var startNodePosition = (GameManagerData.GetStartPointX() * GameManagerData.GetBoardSize()) + GameManagerData.GetStartPointY();

        gridParent.GetChild(startNodePosition).GetComponent <SpriteRenderer>().sprite = startSprite;

        var endNodePosition = (GameManagerData.GetEndPointX() * GameManagerData.GetBoardSize()) + GameManagerData.GetEndPointY();

        gridParent.GetChild(endNodePosition).GetComponent <SpriteRenderer>().sprite = endSprite;
    }
Beispiel #5
0
 private int CalculateHCost(int currentX, int currentY)
 {
     return(Mathf.Abs(GameManagerData.GetEndPointX() - currentX)
            + Mathf.Abs(GameManagerData.GetEndPointY() - currentY));
 }
Beispiel #6
0
 bool IsEndNode(int x, int y)
 {
     return(x == GameManagerData.GetEndPointX() && y == GameManagerData.GetEndPointY());
 }
Beispiel #7
0
 public static bool CheckIfStartAndEndPointAreNotTheSame()
 {
     return(GameManagerData.GetStartPointX() == GameManagerData.GetEndPointX()
            &&
            GameManagerData.GetStartPointY() == GameManagerData.GetEndPointY());
 }