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); }
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; } }
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); }
public void AddNewObjectToMap(EnviromenentType type, int x, int y) { AddNewObjectToMap(type, new Vector3Int(x, y, 0)); }
public bool CanPlantBomb(Vector3Int cellPos) { EnviromenentType type = (EnviromenentType)map[cellPos.x][cellPos.y]; return(type != EnviromenentType.BOMB && type != EnviromenentType.PLAYER_BOMB); }