Exemplo n.º 1
0
    static public void selected(M.P p)
    {
        string t0 = p.c + "_" + p.r;

        bs.go(t0, "com", "rotater");
        if (_comboColor != _selectColor)
        {
            bs.go(t0, "C", _comboColor);
        }
        if (_comboScale > 1f)
        {
            bs.go(t0, "s", _cellScale * _comboScale);
        }
    }
Exemplo n.º 2
0
    private void onMove(string e, int id, float x, float y, float dx, float dy)
    {
        if (!_isSelect)
        {
            return;
        }
        M.P p = V.mapPos(x, y);
        if ((_pos.r == p.r && _pos.c == p.c) || p.r < 0 || p.c < 0 || p.r >= M.row || p.c >= M.col || _curr != M.map[p.r, p.c])
        {
            return;
        }
        int c = _select[_select.Count - 1], r = _select[_select.Count - 2], odd = (r % 2) - 1;

        if ((p.c == c + odd && p.r == r - 1) || (p.c == c + 1 + odd && p.r == r - 1) ||
            (p.c == c - 1 && p.r == r) || (p.c == c + 1 && p.r == r) ||
            (p.c == c + odd && p.r == r + 1) || (p.c == c + 1 + odd && p.r == r + 1)
            )
        {
            if (_select.Count > 2 && p.c == _select[_select.Count - 3] && p.r == _select[_select.Count - 4])
            {
                V.unselected(_pos);
                _pos.r = p.r;
                _pos.c = p.c;
                _select.RemoveAt(_select.Count - 1);
                _select.RemoveAt(_select.Count - 1);
            }
            else
            {
                for (int i = 0; i < _select.Count;)
                {
                    r = _select[i++];
                    c = _select[i++];
                    if (r == p.r && c == p.c)
                    {
                        return;
                    }
                }
                V.selectCount(_select, M.selectCount(_select.Count));
                _pos.r = p.r;
                _pos.c = p.c;
                _select.Add(p.r);
                _select.Add(p.c);
                V.selected(_pos);
            }
        }
    }
Exemplo n.º 3
0
 private void onDown(string e, int id, float x, float y, float dx, float dy)
 {
     bs.log("down");
     M.P p = V.mapPos(x, y);
     if (p.r < 0 || p.c < 0 || p.r >= M.row || p.c >= M.col || M.map[p.r, p.c] < 1)
     {
         _isSelect = false;
     }
     else
     {
         _pos.r    = p.r;
         _pos.c    = p.c;
         _isSelect = true;
         _select.Clear();
         _select.Add(p.r);
         _select.Add(p.c);
         _curr = M.map[p.r, p.c];
         V.selected(_pos.c + "_" + _pos.r);
     }
 }
Exemplo n.º 4
0
 static public void unselected(M.P p, bool isUp = false)
 {
     bs.go(p.c + "_" + p.r, "com-", "rotater", "r", bs.V3[0], "C", _selectColor, "s", _cellScale);
 }