示例#1
0
    private void showPossibleMoves()
    {
        Vector2Int?mousePos = getMouseToBoardPos();

        if (mousePos == null || _chackers[mousePos.Value.x, mousePos.Value.y] == null)
        {
            if (!_moving)
            {
                hideAllParticle();
            }
            return;
        }
        CheckerScript checkerScript = _chackers[mousePos.Value.x, mousePos.Value.y].GetComponent(typeof(CheckerScript)) as CheckerScript;

        if (checkerScript is null || _moving)
        {
            return;
        }
        Vector2Int[] possibleMoves = checkerScript.PossibleMoves;
        foreach (var move in possibleMoves)
        {
            Vector2Int targetPos = mousePos.Value + move;
            if (targetPos.x >= 0 && targetPos.x < 4 && targetPos.y >= 0 && targetPos.y < 4 && !_chackers[targetPos.x, targetPos.y])
            {
                getField(targetPos.x, targetPos.y).script.StartParticle();
            }
        }
    }
示例#2
0
 // Use this for initialization
 void Start()
 {
     mesoObj     = GameObject.Find("Checker");
     mesoScript  = mesoObj.GetComponent <CheckerScript> ();
     mesoObj2    = GameObject.Find("OpeningChecker");
     mesoScript2 = mesoObj2.GetComponent <OpeningChecker> ();
 }
    public GameObject instantiateChecker(string name, Vector3 position, Vector3 scale)
    {
        if (!_allCharacters.ContainsKey(name))
        {
            return(null);
        }
        GameObject    checker = Instantiate(CheckerPrefab, position, Quaternion.identity);
        CheckerScript script  = checker.GetComponent(typeof(CheckerScript)) as CheckerScript;

        script.initailize(_allCharacters[name]);
        checker.transform.SetParent(transform);
        checker.transform.localScale = scale;
        return(checker);
    }
示例#4
0
    private bool isMoveAvaiable(Vector2Int from, Vector2Int to)
    {
        Vector2Int    move   = to - from;
        CheckerScript script = _chackers[from.x, from.y].GetComponent(typeof(CheckerScript)) as CheckerScript;

        if (!script)
        {
            return(false);
        }

        foreach (var possibleMove in script.PossibleMoves)
        {
            if (possibleMove.Equals(move))
            {
                return(true);
            }
        }
        return(false);
    }