Example #1
0
    public bool MovePlayer(Vector3Int oldPos, Vector3Int newPos)
    {
        EnviromenentType newPosType = (EnviromenentType)map[newPos.x][newPos.y];
        EnviromenentType oldPosType = (EnviromenentType)map[oldPos.x][oldPos.y];

        if (newPosType == EnviromenentType.EXPLOSION)
        {
            gameController.KillAgent(oldPos);
        }
        else
        {
            if (newPosType == EnviromenentType.NONE)
            {
                if (oldPosType == EnviromenentType.PLAYER_BOMB)
                {
                    AddToMap(EnviromenentType.BOMB, oldPos);
                }
                else
                {
                    AddToMap(EnviromenentType.NONE, oldPos);
                }
                AddToMap(EnviromenentType.PLAYER, newPos);
                return(true);
            }
        }
        return(false);
    }
    public int[][] GetOwnMap(Vector3Int cellPos)
    {
        int[][]          map     = mapController.GetMap();
        EnviromenentType oldType = (EnviromenentType)map[cellPos.x][cellPos.y];

        map[cellPos.x][cellPos.y] = (int)(oldType == EnviromenentType.PLAYER_BOMB ? EnviromenentType.OWN_BOMB : EnviromenentType.OWN);
        return(map);
    }
Example #3
0
    private void AddToMap(EnviromenentType type, Vector3Int cellPos, AgentController bomber = null)
    {
        EnviromenentType oldPos = (EnviromenentType)map[cellPos.x][cellPos.y];

        if (type == EnviromenentType.EXPLOSION && (oldPos == EnviromenentType.PLAYER || oldPos == EnviromenentType.PLAYER_BOMB))
        {
            gameController.KillAgent(cellPos, bomber);
        }
        else
        {
            map[cellPos.x][cellPos.y] = (int)type;
        }
    }
Example #4
0
    public void AddNewObjectToMap(EnviromenentType type, Vector3Int cellPos)
    {
        Vector3Int relativePos = cellPos + posBegin;

        switch (type)
        {
        case EnviromenentType.WALL:
            tilemap.SetTile(relativePos, wall);
            break;

        case EnviromenentType.DESTRUCTABLE:
            tilemap.SetTile(relativePos, destructable);
            break;
        }
        AddToMap(type, cellPos);
    }
Example #5
0
 public void AddNewObjectToMap(EnviromenentType type, int x, int y)
 {
     AddNewObjectToMap(type, new Vector3Int(x, y, 0));
 }
Example #6
0
    public bool CanPlantBomb(Vector3Int cellPos)
    {
        EnviromenentType type = (EnviromenentType)map[cellPos.x][cellPos.y];

        return(type != EnviromenentType.BOMB && type != EnviromenentType.PLAYER_BOMB);
    }