Example #1
0
    void HandleClick()
    {
        //Debug
        if (Input.GetMouseButtonDown(1))
        {
            _touchPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            _touchPoint.Set(Mathf.FloorToInt(_touchPoint.x), Mathf.FloorToInt(_touchPoint.y), 0);
            Tile atPosR = _tileMan.GetTileAtWorldPos(_touchPoint);
            atPosR.ChangeTileType(Tile.TileType.Air, Tile.SubType.Air);
        }
        if (!Input.GetMouseButton(0))
        {
            return;
        }
        _touchPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        //Debug.Log(_touchPoint);
        //Debug.Log(Camera.main.transform.position.x - _touchPoint.x);

        _touchPoint.Set(Mathf.FloorToInt(_touchPoint.x), Mathf.FloorToInt(_touchPoint.y), 0);

        Tile atPos = _tileMan.GetTileAtWorldPos(_touchPoint);

        if (atPos == null)
        {
            return;
        }
        switch (selectedAction)
        {
        case 0:
            _celliq.AddLiquid(atPos, Tile.SubType.Water);
            break;

        case 1:
            _celliq.AddLiquid(atPos, Tile.SubType.Oil);
            break;

        case 2:
            atPos.ChangeTileType(Tile.TileType.Solid, Tile.SubType.Dirt);
            break;
        }
    }