Compare commits
3 Commits
roomGen
...
88b5bd9de6
| Author | SHA1 | Date | |
|---|---|---|---|
| 88b5bd9de6 | |||
| d8373c4a34 | |||
| 051fcaad58 |
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: a08c64b8785870549887368e2a81e2db
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!114 &11400000
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 0}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 990d24eb53743184e9b379e68eec63e1, type: 3}
|
|
||||||
m_Name: MapLayout1
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
grid: '123-2235454121
|
|
||||||
|
|
||||||
412123
|
|
||||||
|
|
||||||
11---4'
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0c4ecdc10844c394b92ccd08ee36d635
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 78cd8de59ec022844907c273b05c0395
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -187,8 +187,8 @@ Transform:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
|
m_LocalScale: {x: 1.8, y: 1.8, z: 1.8}
|
||||||
m_ConstrainProportionsScale: 1
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1872598832695960773}
|
- {fileID: 1872598832695960773}
|
||||||
- {fileID: 1302341320372733696}
|
- {fileID: 1302341320372733696}
|
||||||
|
|||||||
@@ -1,23 +1,11 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
///<summary>
|
public class CreateEntrances : MonoBehaviour
|
||||||
/// Object handling Room logic
|
|
||||||
///</summary>
|
|
||||||
///
|
|
||||||
public class RoomHandler : MonoBehaviour
|
|
||||||
{
|
{
|
||||||
[SerializeField] private GameObject wallNorth;
|
[SerializeField] private GameObject wallNorth;
|
||||||
[SerializeField] private GameObject wallSouth;
|
[SerializeField] private GameObject wallSouth;
|
||||||
[SerializeField] private GameObject wallEast;
|
[SerializeField] private GameObject wallEast;
|
||||||
[SerializeField] private GameObject wallWest;
|
[SerializeField] private GameObject wallWest;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Creates entrances to corridors leading to other rooms
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="northOpen"></param>
|
|
||||||
/// <param name="southOpen"></param>
|
|
||||||
/// <param name="eastOpen"></param>
|
|
||||||
/// <param name="westOpen"></param>
|
|
||||||
public void SetEntrances(bool northOpen, bool southOpen, bool eastOpen, bool westOpen)
|
public void SetEntrances(bool northOpen, bool southOpen, bool eastOpen, bool westOpen)
|
||||||
{
|
{
|
||||||
wallNorth.SetActive(!northOpen);
|
wallNorth.SetActive(!northOpen);
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
|
|
||||||
[CreateAssetMenu(fileName = "MapLayout", menuName = "Scriptable Objects/MapLayout")]
|
|
||||||
public class MapLayout : ScriptableObject
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 2D grid. Ka<4B>d<EFBFBD> <20><>dek je jeden <20><><EFBFBD>dek<65> mapy, naho<68>e = vy<76><79><EFBFBD> Z.
|
|
||||||
/// <20><>slice = index prefab-u v MapGenManager.mapPrefab,
|
|
||||||
/// '-' = pr<70>zdn<64> m<>sto,
|
|
||||||
/// 'S' = startovn<76> m<>stnost.
|
|
||||||
/// </summary>
|
|
||||||
[TextArea(5, 20)]
|
|
||||||
public string grid;
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 990d24eb53743184e9b379e68eec63e1
|
|
||||||
@@ -149,18 +149,20 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
mapPrefab:
|
mapPrefab:
|
||||||
- {fileID: 819094401162878122, guid: 03f2147e5a186fc408b959faa2f97e86, type: 3}
|
|
||||||
- {fileID: 2783560673348224804, guid: b7111ccd107e56741a9790a50ab8e190, type: 3}
|
- {fileID: 2783560673348224804, guid: b7111ccd107e56741a9790a50ab8e190, type: 3}
|
||||||
- {fileID: 7069902989848030098, guid: e8e0ba1faefe88f47b927a477b87ed22, type: 3}
|
- {fileID: 7069902989848030098, guid: e8e0ba1faefe88f47b927a477b87ed22, type: 3}
|
||||||
- {fileID: 8524395191423973796, guid: 37b1623de3a4b8140bc4fd60f59c6329, type: 3}
|
- {fileID: 8524395191423973796, guid: 37b1623de3a4b8140bc4fd60f59c6329, type: 3}
|
||||||
- {fileID: 4362243528253867212, guid: 04cd18e800b8e854491a95529a91b3a1, type: 3}
|
- {fileID: 4362243528253867212, guid: 04cd18e800b8e854491a95529a91b3a1, type: 3}
|
||||||
- {fileID: 5061069654894918266, guid: 6ac586441811a834fbf148a96b779734, type: 3}
|
- {fileID: 5061069654894918266, guid: 6ac586441811a834fbf148a96b779734, type: 3}
|
||||||
|
StartPoint: {fileID: 819094401162878122, guid: 03f2147e5a186fc408b959faa2f97e86, type: 3}
|
||||||
|
EndPoint: {fileID: 819094401162878122, guid: 03f2147e5a186fc408b959faa2f97e86, type: 3}
|
||||||
Player: {fileID: 6983871523237736218, guid: f0df263e5be65a041848d5a8bab85af1, type: 3}
|
Player: {fileID: 6983871523237736218, guid: f0df263e5be65a041848d5a8bab85af1, type: 3}
|
||||||
CorridorStraight: {fileID: 8047827979703692770, guid: 1a5d554c0c76caf4195cae47e098b79d, type: 3}
|
CorridorStraight: {fileID: 8047827979703692770, guid: 1a5d554c0c76caf4195cae47e098b79d, type: 3}
|
||||||
CorridorStraightUnlit: {fileID: 2016417306107577256, guid: 92d9025262a022a499862d352c2724ee, type: 3}
|
CorridorStraightUnlit: {fileID: 2016417306107577256, guid: 92d9025262a022a499862d352c2724ee, type: 3}
|
||||||
DoorCorridor: {fileID: 5603417387143431118, guid: 9eccbf5a500a0d2429e6008a713a49fd, type: 3}
|
DoorCorridor: {fileID: 5603417387143431118, guid: 9eccbf5a500a0d2429e6008a713a49fd, type: 3}
|
||||||
layout: {fileID: 11400000, guid: 0c4ecdc10844c394b92ccd08ee36d635, type: 2}
|
|
||||||
RoomDistance: 40
|
RoomDistance: 40
|
||||||
|
minRoomsNumber: 3
|
||||||
|
maxRoomsNumber: 7
|
||||||
--- !u!4 &23489964
|
--- !u!4 &23489964
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
|
|
||||||
public class MapGenManager : MonoBehaviour
|
public class MapGenManager : MonoBehaviour
|
||||||
{
|
{
|
||||||
/* ------------------ INSPECTOR FIELDS ------------------ */
|
|
||||||
[Header("Room Prefabs")]
|
[Header("Room Prefabs")]
|
||||||
[SerializeField] private List<GameObject> mapPrefab = new();
|
[SerializeField] private List<GameObject> mapPrefab = new List<GameObject>();
|
||||||
|
[SerializeField] private GameObject StartPoint;
|
||||||
|
[SerializeField] private GameObject EndPoint;
|
||||||
|
|
||||||
[Header("Player")]
|
[Header("Player")]
|
||||||
[SerializeField] private GameObject Player;
|
[SerializeField] private GameObject Player;
|
||||||
@@ -16,240 +16,149 @@ public class MapGenManager : MonoBehaviour
|
|||||||
[SerializeField] private GameObject CorridorStraight;
|
[SerializeField] private GameObject CorridorStraight;
|
||||||
[SerializeField] private GameObject CorridorStraightUnlit;
|
[SerializeField] private GameObject CorridorStraightUnlit;
|
||||||
[SerializeField] private GameObject DoorCorridor;
|
[SerializeField] private GameObject DoorCorridor;
|
||||||
|
/*[SerializeField] private GameObject CorridorL;
|
||||||
[Header("Layout")]
|
[SerializeField] private GameObject CorridorT;
|
||||||
[SerializeField] private MapLayout layout;
|
[SerializeField] private GameObject CorridorCross;
|
||||||
|
[SerializeField] private GameObject CorridorEnd;*/
|
||||||
|
|
||||||
[Header("Generation Settings")]
|
[Header("Generation Settings")]
|
||||||
[SerializeField] private int RoomDistance = 3;
|
[SerializeField] private int RoomDistance = 3;
|
||||||
|
[SerializeField] private int minRoomsNumber = 3;
|
||||||
|
[SerializeField] private int maxRoomsNumber = 7;
|
||||||
|
|
||||||
private readonly Dictionary<Vector2Int, GameObject> gridToRoom = new();
|
private List<Vector3> roomPositions = new List<Vector3>();
|
||||||
private readonly Vector3 roomOriginOffset = Vector3.zero;
|
private List<GameObject> placedRooms = new List<GameObject>();
|
||||||
|
|
||||||
|
void Start()
|
||||||
void Start() => GenerateFromLayout();
|
|
||||||
|
|
||||||
|
|
||||||
private void GenerateFromLayout()
|
|
||||||
{
|
{
|
||||||
if (layout == null || string.IsNullOrWhiteSpace(layout.grid))
|
MapGen();
|
||||||
{
|
|
||||||
Debug.LogError("Layout asset není přiřazený nebo je prázdný!");
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gridToRoom.Clear();
|
private void MapGen()
|
||||||
|
|
||||||
/* ----------- Create a spawn room ----------- */
|
|
||||||
GameObject spawnPrefab = mapPrefab[0];
|
|
||||||
Vector3 cellSize = GetPrefabXZ(spawnPrefab);
|
|
||||||
|
|
||||||
/* ---------- Text layout to grid ---------- */
|
|
||||||
string[] lines = layout.grid
|
|
||||||
.Split('\n')
|
|
||||||
.Select(line => line.TrimEnd('\r'))
|
|
||||||
.Where(line => !string.IsNullOrWhiteSpace(line))
|
|
||||||
.ToArray();
|
|
||||||
|
|
||||||
|
|
||||||
Vector2 firstRoomPos = GetFirstOrLastRoom(lines);
|
|
||||||
int bottomRowIdx = (int)firstRoomPos.y;
|
|
||||||
int spawnGridX = (int)firstRoomPos.x;
|
|
||||||
|
|
||||||
/* ---------- Create spawn room properly ---------- */
|
|
||||||
Vector3 spawnPos = roomOriginOffset + new Vector3(
|
|
||||||
spawnGridX * (cellSize.x + RoomDistance), // X
|
|
||||||
0,
|
|
||||||
0);
|
|
||||||
|
|
||||||
GameObject spawnRoom = Instantiate(spawnPrefab, spawnPos, Quaternion.identity, transform);
|
|
||||||
gridToRoom[new Vector2Int(spawnGridX, 0)] = spawnRoom;
|
|
||||||
|
|
||||||
/* ---------- Instantiate player ---------- */
|
|
||||||
if (Player)
|
|
||||||
{
|
{
|
||||||
Vector3 playerPos = spawnPos + new Vector3(0, 1, 3);
|
// Clear previous rooms and positions
|
||||||
Instantiate(Player, playerPos, Quaternion.identity, transform);
|
roomPositions.Clear();
|
||||||
|
placedRooms.Clear();
|
||||||
|
|
||||||
|
// Add Start Point
|
||||||
|
Vector3 startPos = new Vector3(0, 0, 0);
|
||||||
|
GameObject startPoint = Instantiate(StartPoint, startPos, Quaternion.identity, transform);
|
||||||
|
roomPositions.Add(startPos);
|
||||||
|
placedRooms.Add(startPoint);
|
||||||
|
startPoint.GetComponent<CreateEntrances>().SetEntrances(false, false, true, false);
|
||||||
|
|
||||||
|
// Instantiate the player at the starting position
|
||||||
|
GameObject player = Instantiate(Player, new Vector3(startPos.x, 1, startPos.z - 5), Quaternion.identity, transform);
|
||||||
|
|
||||||
|
// Generate a random number of rooms
|
||||||
|
int roomCount = Random.Range(minRoomsNumber, maxRoomsNumber);
|
||||||
|
|
||||||
|
// Place Generate Rooms
|
||||||
|
for (int i = 0; i < roomCount; i++)
|
||||||
|
{
|
||||||
|
GameObject roomPrefab = mapPrefab[Random.Range(0, mapPrefab.Count)];
|
||||||
|
Vector3 roomPos = GetGridPosition(roomPrefab);
|
||||||
|
GameObject room = Instantiate(roomPrefab, roomPos, Quaternion.identity, transform);
|
||||||
|
placedRooms.Add(room);
|
||||||
|
roomPositions.Add(roomPos);
|
||||||
|
room.GetComponent<CreateEntrances>().SetEntrances(false, false, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------- Build the rest of rooms ---------- */
|
// Add End Point
|
||||||
|
GameObject endPoint = Instantiate(EndPoint, GetGridPosition(EndPoint), Quaternion.identity, transform);
|
||||||
|
roomPositions.Add(endPoint.transform.position);
|
||||||
|
placedRooms.Add(endPoint);
|
||||||
|
endPoint.GetComponent<CreateEntrances>().SetEntrances(false, false, false, false);
|
||||||
|
|
||||||
BuildRooms(lines, bottomRowIdx, cellSize);
|
// Create corridors between rooms
|
||||||
|
for (int i = 0; i < roomPositions.Count - 1; i++)
|
||||||
/* ---------- Open walls based on aproximity to other rooms ---------- */
|
|
||||||
foreach (var keyValuePair in gridToRoom)
|
|
||||||
{
|
{
|
||||||
Vector2Int g = keyValuePair.Key;
|
Vector3 startRoomPos = roomPositions[i];
|
||||||
RoomHandler rh = keyValuePair.Value.GetComponent<RoomHandler>();
|
PrefabSize startRoom = placedRooms[i].GetComponent<PrefabSize>();
|
||||||
|
Vector3 endRoomPos = roomPositions[i + 1];
|
||||||
bool north = gridToRoom.ContainsKey(g + Vector2Int.left);
|
PrefabSize endRoom = placedRooms[i + 1].GetComponent<PrefabSize>();
|
||||||
bool south = gridToRoom.ContainsKey(g + Vector2Int.right);
|
Vector3 firstCorridorPos = new Vector3(
|
||||||
bool east = gridToRoom.ContainsKey(g + Vector2Int.up);
|
startRoomPos.x,
|
||||||
bool west = gridToRoom.ContainsKey(g + Vector2Int.down);
|
startRoomPos.y,
|
||||||
|
startRoomPos.z + startRoom.prefabSize.y / 2
|
||||||
rh.SetEntrances(northOpen: north, southOpen: south, eastOpen: east, westOpen: west);
|
);
|
||||||
|
Vector3 lastCorridorPos = new Vector3(
|
||||||
|
endRoomPos.x,
|
||||||
|
endRoomPos.y,
|
||||||
|
endRoomPos.z - endRoom.prefabSize.y / 2
|
||||||
|
);
|
||||||
|
CreateCorridor(firstCorridorPos, lastCorridorPos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------- 5) CHODBY ---------- */
|
private Vector3 GetGridPosition(GameObject roomPrefab)
|
||||||
BuildCorridors();
|
{
|
||||||
|
Vector3 lastRoomPos = roomPositions[roomPositions.Count - 1];
|
||||||
|
PrefabSize lastRoom = placedRooms[placedRooms.Count - 1].GetComponent<PrefabSize>();
|
||||||
|
PrefabSize roomSize = roomPrefab.GetComponent<PrefabSize>();
|
||||||
|
|
||||||
|
Vector3 roomPos = new Vector3(
|
||||||
|
lastRoomPos.x,
|
||||||
|
lastRoomPos.y - 0.01f,
|
||||||
|
lastRoomPos.z + lastRoom.prefabSize.y / 2f + roomSize.prefabSize.y / 2f + RoomDistance
|
||||||
|
);
|
||||||
|
|
||||||
|
return roomPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
private void CreateCorridor(Vector3 start, Vector3 end)
|
||||||
/// Build corridors between rooms
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
private void BuildCorridors()
|
|
||||||
{
|
{
|
||||||
float straightZ = CorridorStraight.GetComponent<PrefabSize>().prefabSize.y;
|
// Calculate the distance
|
||||||
float straightX = CorridorStraight.GetComponent<PrefabSize>().prefabSize.x;
|
float distance = Vector3.Distance(start, end);
|
||||||
Vector2Int[] stepDirs = { Vector2Int.right, Vector2Int.up };
|
PrefabSize corridorSize = CorridorStraight.GetComponent<PrefabSize>();
|
||||||
|
PrefabSize corridorUnlitSize = CorridorStraightUnlit.GetComponent<PrefabSize>();
|
||||||
|
PrefabSize doorSize = DoorCorridor.GetComponent<PrefabSize>();
|
||||||
|
|
||||||
foreach (var kv in gridToRoom)
|
// Calculate the number of corridors needed
|
||||||
|
int corridorCount = Mathf.FloorToInt(distance / corridorSize.prefabSize.y);
|
||||||
|
Debug.Log($"Creating {corridorCount} corridors from {start} to {end}");
|
||||||
|
|
||||||
|
// Create corridors
|
||||||
|
//Start with door
|
||||||
|
if (corridorCount > 0)
|
||||||
{
|
{
|
||||||
Vector2Int cell = kv.Key;
|
Vector3 doorPos = new Vector3(
|
||||||
GameObject roomA = kv.Value;
|
start.x,
|
||||||
|
start.y,
|
||||||
|
start.z + doorSize.prefabSize.y * 0.5f
|
||||||
|
);
|
||||||
|
Quaternion doorRotation = Quaternion.Euler(0, 0, 0);
|
||||||
|
GameObject doorCorridor = Instantiate(DoorCorridor, doorPos, doorRotation, transform);
|
||||||
|
doorCorridor.GetComponent<DoorController>().OpenDoor();
|
||||||
|
|
||||||
foreach (Vector2Int dir in stepDirs)
|
|
||||||
|
for (int i = 1; i < corridorCount; i++)
|
||||||
{
|
{
|
||||||
Vector2Int nKey = cell + dir;
|
if (i % 2 != 0)
|
||||||
if (!gridToRoom.TryGetValue(nKey, out GameObject roomB)) continue;
|
|
||||||
|
|
||||||
Vector3 axis, axisNeg;
|
|
||||||
float halfA, halfB;
|
|
||||||
Quaternion rot;
|
|
||||||
|
|
||||||
if (dir == Vector2Int.right)
|
|
||||||
{
|
{
|
||||||
axis = Vector3.right; axisNeg = Vector3.left;
|
// Create straight corridor
|
||||||
halfA = GetPrefabXZ(roomA).x * 0.5f;
|
Vector3 pos = new Vector3(
|
||||||
halfB = GetPrefabXZ(roomB).x * 0.5f;
|
start.x,
|
||||||
rot = Quaternion.Euler(0, 90, 0);
|
start.y,
|
||||||
|
start.z + i * corridorSize.prefabSize.y + corridorSize.prefabSize.y * 0.5f
|
||||||
|
);
|
||||||
|
Quaternion rotation = Quaternion.Euler(0, 0, 0);
|
||||||
|
GameObject corridor = Instantiate(CorridorStraight, pos, rotation, transform);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
axis = Vector3.forward; axisNeg = Vector3.back;
|
// Create unlit corridor
|
||||||
halfA = GetPrefabXZ(roomA).z * 0.5f;
|
Vector3 pos = new Vector3(
|
||||||
halfB = GetPrefabXZ(roomB).z * 0.5f;
|
start.x,
|
||||||
rot = Quaternion.identity;
|
start.y,
|
||||||
}
|
start.z + i * corridorUnlitSize.prefabSize.y + corridorUnlitSize.prefabSize.y * 0.5f
|
||||||
|
);
|
||||||
Vector3 start = roomA.transform.position + axis * halfA;
|
Quaternion rotation = Quaternion.Euler(0, 0, 0);
|
||||||
Vector3 end = roomB.transform.position + axisNeg * halfB;
|
GameObject corridorUnlit = Instantiate(CorridorStraightUnlit, pos, rotation, transform);
|
||||||
|
|
||||||
CreateStraightCorridor(start, end, axis, rot, straightZ, straightX);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// If there is not enough space to create corridors, throw an exception
|
||||||
|
else throw new System.Exception("Not enough space to create corridors");
|
||||||
/// <summary>
|
|
||||||
/// Build all rooms based on the layout grid
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="lines"></param>
|
|
||||||
/// <param name="bottomRowIdx"></param>
|
|
||||||
/// <param name="cellSize"></param>
|
|
||||||
private void BuildRooms(string[] lines, int bottomRowIdx, Vector3 cellSize)
|
|
||||||
{
|
|
||||||
int rows = lines.Length;
|
|
||||||
|
|
||||||
for (int rowsIter = 0; rowsIter < rows; rowsIter++)
|
|
||||||
{
|
|
||||||
string line = lines[rowsIter];
|
|
||||||
int gridZ = bottomRowIdx - rowsIter + 1;
|
|
||||||
|
|
||||||
for (int x = 0; x < line.Length; x++)
|
|
||||||
{
|
|
||||||
char ch = line[x];
|
|
||||||
if (ch == '-') continue;
|
|
||||||
if (!char.IsDigit(ch))
|
|
||||||
{
|
|
||||||
Debug.LogWarning($"Neznámý znak '{ch}' v layoutu – ignoruji.");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
int idx = ch - '0';
|
|
||||||
if (idx >= mapPrefab.Count)
|
|
||||||
{
|
|
||||||
Debug.LogWarning($"Index {idx} mimo rozsah mapPrefab!");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
GameObject prefab = mapPrefab[idx];
|
|
||||||
Vector3 worldPos = roomOriginOffset + new Vector3(
|
|
||||||
x * (cellSize.x + RoomDistance),
|
|
||||||
0,
|
|
||||||
gridZ * (cellSize.z + RoomDistance));
|
|
||||||
|
|
||||||
GameObject room = Instantiate(prefab, worldPos, Quaternion.identity, transform);
|
|
||||||
gridToRoom[new Vector2Int(x, gridZ)] = room;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns the (x, y) coordinates of the room with closest aproximity to spawn or the furthest aproximity to spawn
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="lines"></param>
|
|
||||||
/// <param name="last"></param>
|
|
||||||
/// <returns>Vector2(x, y) where x is the line index and y is the column index</returns>
|
|
||||||
private Vector2 GetFirstOrLastRoom(string[] lines, bool last = false)
|
|
||||||
{
|
|
||||||
int colIdx = -1;
|
|
||||||
int spawnGridX = 0;
|
|
||||||
|
|
||||||
int rows = lines.Length;
|
|
||||||
|
|
||||||
for (int rowsIter = rows - 1; rowsIter >= 0; rowsIter--)
|
|
||||||
{
|
|
||||||
string line = lines[rowsIter];
|
|
||||||
for (int c = 0; c < line.Length; c++)
|
|
||||||
{
|
|
||||||
if (char.IsDigit(line[c]))
|
|
||||||
{
|
|
||||||
colIdx = rowsIter;
|
|
||||||
spawnGridX = c;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (colIdx != -1) break;
|
|
||||||
}
|
|
||||||
if (colIdx == -1)
|
|
||||||
{
|
|
||||||
Debug.LogError("Layout neobsahuje žádnou číslici (místnost)!");
|
|
||||||
return Vector2.zero;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Vector2(spawnGridX, colIdx);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CreateStraightCorridor(
|
|
||||||
Vector3 start, Vector3 end, Vector3 axis, Quaternion rot,
|
|
||||||
float stepLenZ, float stepLenX)
|
|
||||||
{
|
|
||||||
float dist = Vector3.Distance(start, end);
|
|
||||||
float step = Mathf.Approximately(Mathf.Abs(axis.z), 1f) ? stepLenZ : stepLenX;
|
|
||||||
int count = Mathf.Max(1, Mathf.FloorToInt(dist / step));
|
|
||||||
|
|
||||||
Vector3 segPos = start + axis * (step * 0.5f);
|
|
||||||
var door = Instantiate(DoorCorridor, segPos, rot, transform);
|
|
||||||
door.GetComponent<DoorController>()?.OpenDoor();
|
|
||||||
|
|
||||||
for (int i = 1; i < count; i++)
|
|
||||||
{
|
|
||||||
GameObject prefab = (i % 2 == 0) ? CorridorStraight : CorridorStraightUnlit;
|
|
||||||
segPos = start + axis * (i * step + step * 0.5f);
|
|
||||||
Instantiate(prefab, segPos, rot, transform);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns the size of a prefab room
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="prefab"> Choose a prefab from available ones</param>
|
|
||||||
/// <returns>Size of the prefab as Vector3</returns>
|
|
||||||
private static Vector3 GetPrefabXZ(GameObject prefab)
|
|
||||||
{
|
|
||||||
var ps = prefab.GetComponent<PrefabSize>();
|
|
||||||
return ps ? new Vector3(ps.prefabSize.x, 0, ps.prefabSize.y) : new Vector3(10, 0, 10);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,6 @@
|
|||||||
"com.unity.multiplayer.center": "1.0.0",
|
"com.unity.multiplayer.center": "1.0.0",
|
||||||
"com.unity.timeline": "1.8.8",
|
"com.unity.timeline": "1.8.8",
|
||||||
"com.unity.ugui": "2.0.0",
|
"com.unity.ugui": "2.0.0",
|
||||||
"com.unity.visualscripting": "1.9.6",
|
|
||||||
"com.unity.modules.accessibility": "1.0.0",
|
"com.unity.modules.accessibility": "1.0.0",
|
||||||
"com.unity.modules.ai": "1.0.0",
|
"com.unity.modules.ai": "1.0.0",
|
||||||
"com.unity.modules.androidjni": "1.0.0",
|
"com.unity.modules.androidjni": "1.0.0",
|
||||||
|
|||||||
@@ -116,16 +116,6 @@
|
|||||||
"com.unity.modules.imgui": "1.0.0"
|
"com.unity.modules.imgui": "1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.visualscripting": {
|
|
||||||
"version": "1.9.6",
|
|
||||||
"depth": 0,
|
|
||||||
"source": "registry",
|
|
||||||
"dependencies": {
|
|
||||||
"com.unity.ugui": "1.0.0",
|
|
||||||
"com.unity.modules.jsonserialize": "1.0.0"
|
|
||||||
},
|
|
||||||
"url": "https://packages.unity.com"
|
|
||||||
},
|
|
||||||
"com.unity.modules.accessibility": {
|
"com.unity.modules.accessibility": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
|
|||||||
@@ -3,28 +3,46 @@
|
|||||||
--- !u!159 &1
|
--- !u!159 &1
|
||||||
EditorSettings:
|
EditorSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 11
|
serializedVersion: 13
|
||||||
m_ExternalVersionControlSupport: Visible Meta Files
|
|
||||||
m_SerializationMode: 2
|
m_SerializationMode: 2
|
||||||
m_LineEndingsForNewScripts: 0
|
m_LineEndingsForNewScripts: 0
|
||||||
m_DefaultBehaviorMode: 0
|
m_DefaultBehaviorMode: 0
|
||||||
m_PrefabRegularEnvironment: {fileID: 0}
|
m_PrefabRegularEnvironment: {fileID: 0}
|
||||||
m_PrefabUIEnvironment: {fileID: 0}
|
m_PrefabUIEnvironment: {fileID: 0}
|
||||||
m_SpritePackerMode: 0
|
m_SpritePackerMode: 0
|
||||||
|
m_SpritePackerCacheSize: 10
|
||||||
m_SpritePackerPaddingPower: 1
|
m_SpritePackerPaddingPower: 1
|
||||||
|
m_Bc7TextureCompressor: 0
|
||||||
m_EtcTextureCompressorBehavior: 1
|
m_EtcTextureCompressorBehavior: 1
|
||||||
m_EtcTextureFastCompressor: 1
|
m_EtcTextureFastCompressor: 1
|
||||||
m_EtcTextureNormalCompressor: 2
|
m_EtcTextureNormalCompressor: 2
|
||||||
m_EtcTextureBestCompressor: 4
|
m_EtcTextureBestCompressor: 4
|
||||||
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
|
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
|
||||||
m_ProjectGenerationRootNamespace:
|
m_ProjectGenerationRootNamespace:
|
||||||
m_CollabEditorSettings:
|
|
||||||
inProgressEnabled: 1
|
|
||||||
m_EnableTextureStreamingInEditMode: 1
|
m_EnableTextureStreamingInEditMode: 1
|
||||||
m_EnableTextureStreamingInPlayMode: 1
|
m_EnableTextureStreamingInPlayMode: 1
|
||||||
|
m_EnableEditorAsyncCPUTextureLoading: 0
|
||||||
m_AsyncShaderCompilation: 1
|
m_AsyncShaderCompilation: 1
|
||||||
m_EnterPlayModeOptionsEnabled: 0
|
m_PrefabModeAllowAutoSave: 0
|
||||||
m_EnterPlayModeOptions: 3
|
m_EnterPlayModeOptionsEnabled: 1
|
||||||
m_ShowLightmapResolutionOverlay: 1
|
m_EnterPlayModeOptions: 0
|
||||||
|
m_GameObjectNamingDigits: 1
|
||||||
|
m_GameObjectNamingScheme: 0
|
||||||
|
m_AssetNamingUsesSpace: 1
|
||||||
|
m_InspectorUseIMGUIDefaultInspector: 0
|
||||||
m_UseLegacyProbeSampleCount: 0
|
m_UseLegacyProbeSampleCount: 0
|
||||||
m_SerializeInlineMappingsOnOneLine: 1
|
m_SerializeInlineMappingsOnOneLine: 1
|
||||||
|
m_DisableCookiesInLightmapper: 0
|
||||||
|
m_AssetPipelineMode: 1
|
||||||
|
m_RefreshImportMode: 0
|
||||||
|
m_CacheServerMode: 0
|
||||||
|
m_CacheServerEndpoint:
|
||||||
|
m_CacheServerNamespacePrefix: default
|
||||||
|
m_CacheServerEnableDownload: 1
|
||||||
|
m_CacheServerEnableUpload: 1
|
||||||
|
m_CacheServerEnableAuth: 0
|
||||||
|
m_CacheServerEnableTls: 0
|
||||||
|
m_CacheServerValidationMode: 2
|
||||||
|
m_CacheServerDownloadBatchSize: 128
|
||||||
|
m_EnableEnlightenBakedGI: 0
|
||||||
|
m_ReferencedClipsExactNaming: 0
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
--- !u!129 &1
|
--- !u!129 &1
|
||||||
PlayerSettings:
|
PlayerSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 28
|
serializedVersion: 26
|
||||||
productGUID: 2a70d1bb4d031b249adebc15318b6bd4
|
productGUID: 2a70d1bb4d031b249adebc15318b6bd4
|
||||||
AndroidProfiler: 0
|
AndroidProfiler: 0
|
||||||
AndroidFilterTouchesWhenObscured: 0
|
AndroidFilterTouchesWhenObscured: 0
|
||||||
@@ -49,7 +49,6 @@ PlayerSettings:
|
|||||||
m_StereoRenderingPath: 0
|
m_StereoRenderingPath: 0
|
||||||
m_ActiveColorSpace: 1
|
m_ActiveColorSpace: 1
|
||||||
unsupportedMSAAFallback: 0
|
unsupportedMSAAFallback: 0
|
||||||
m_SpriteBatchMaxVertexCount: 65535
|
|
||||||
m_SpriteBatchVertexThreshold: 300
|
m_SpriteBatchVertexThreshold: 300
|
||||||
m_MTRendering: 1
|
m_MTRendering: 1
|
||||||
mipStripping: 0
|
mipStripping: 0
|
||||||
@@ -71,18 +70,17 @@ PlayerSettings:
|
|||||||
androidRenderOutsideSafeArea: 1
|
androidRenderOutsideSafeArea: 1
|
||||||
androidUseSwappy: 1
|
androidUseSwappy: 1
|
||||||
androidBlitType: 0
|
androidBlitType: 0
|
||||||
androidResizeableActivity: 0
|
androidResizableWindow: 0
|
||||||
androidDefaultWindowWidth: 1920
|
androidDefaultWindowWidth: 1920
|
||||||
androidDefaultWindowHeight: 1080
|
androidDefaultWindowHeight: 1080
|
||||||
androidMinimumWindowWidth: 400
|
androidMinimumWindowWidth: 400
|
||||||
androidMinimumWindowHeight: 300
|
androidMinimumWindowHeight: 300
|
||||||
androidFullscreenMode: 1
|
androidFullscreenMode: 1
|
||||||
androidAutoRotationBehavior: 1
|
androidAutoRotationBehavior: 1
|
||||||
androidPredictiveBackSupport: 0
|
|
||||||
androidApplicationEntry: 1
|
|
||||||
defaultIsNativeResolution: 1
|
defaultIsNativeResolution: 1
|
||||||
macRetinaSupport: 1
|
macRetinaSupport: 1
|
||||||
runInBackground: 1
|
runInBackground: 1
|
||||||
|
captureSingleScreen: 0
|
||||||
muteOtherAudioSources: 0
|
muteOtherAudioSources: 0
|
||||||
Prepare IOS For Recording: 0
|
Prepare IOS For Recording: 0
|
||||||
Force IOS Speakers When Recording: 0
|
Force IOS Speakers When Recording: 0
|
||||||
@@ -98,7 +96,6 @@ PlayerSettings:
|
|||||||
useMacAppStoreValidation: 0
|
useMacAppStoreValidation: 0
|
||||||
macAppStoreCategory: public.app-category.games
|
macAppStoreCategory: public.app-category.games
|
||||||
gpuSkinning: 1
|
gpuSkinning: 1
|
||||||
meshDeformation: 2
|
|
||||||
xboxPIXTextureCapture: 0
|
xboxPIXTextureCapture: 0
|
||||||
xboxEnableAvatar: 0
|
xboxEnableAvatar: 0
|
||||||
xboxEnableKinect: 0
|
xboxEnableKinect: 0
|
||||||
@@ -130,8 +127,10 @@ PlayerSettings:
|
|||||||
switchAllowGpuScratchShrinking: 0
|
switchAllowGpuScratchShrinking: 0
|
||||||
switchNVNMaxPublicTextureIDCount: 0
|
switchNVNMaxPublicTextureIDCount: 0
|
||||||
switchNVNMaxPublicSamplerIDCount: 0
|
switchNVNMaxPublicSamplerIDCount: 0
|
||||||
switchMaxWorkerMultiple: 8
|
|
||||||
switchNVNGraphicsFirmwareMemory: 32
|
switchNVNGraphicsFirmwareMemory: 32
|
||||||
|
switchMaxWorkerMultiple: 8
|
||||||
|
stadiaPresentMode: 0
|
||||||
|
stadiaTargetFramerate: 0
|
||||||
vulkanNumSwapchainBuffers: 3
|
vulkanNumSwapchainBuffers: 3
|
||||||
vulkanEnableSetSRGBWrite: 0
|
vulkanEnableSetSRGBWrite: 0
|
||||||
vulkanEnablePreTransform: 1
|
vulkanEnablePreTransform: 1
|
||||||
@@ -161,7 +160,6 @@ PlayerSettings:
|
|||||||
resetResolutionOnWindowResize: 0
|
resetResolutionOnWindowResize: 0
|
||||||
androidSupportedAspectRatio: 1
|
androidSupportedAspectRatio: 1
|
||||||
androidMaxAspectRatio: 2.1
|
androidMaxAspectRatio: 2.1
|
||||||
androidMinAspectRatio: 1
|
|
||||||
applicationIdentifier: {}
|
applicationIdentifier: {}
|
||||||
buildNumber:
|
buildNumber:
|
||||||
Standalone: 0
|
Standalone: 0
|
||||||
@@ -170,7 +168,7 @@ PlayerSettings:
|
|||||||
tvOS: 0
|
tvOS: 0
|
||||||
overrideDefaultApplicationIdentifier: 0
|
overrideDefaultApplicationIdentifier: 0
|
||||||
AndroidBundleVersionCode: 1
|
AndroidBundleVersionCode: 1
|
||||||
AndroidMinSdkVersion: 23
|
AndroidMinSdkVersion: 22
|
||||||
AndroidTargetSdkVersion: 0
|
AndroidTargetSdkVersion: 0
|
||||||
AndroidPreferredInstallLocation: 1
|
AndroidPreferredInstallLocation: 1
|
||||||
aotOptions:
|
aotOptions:
|
||||||
@@ -180,18 +178,16 @@ PlayerSettings:
|
|||||||
ForceInternetPermission: 0
|
ForceInternetPermission: 0
|
||||||
ForceSDCardPermission: 0
|
ForceSDCardPermission: 0
|
||||||
CreateWallpaper: 0
|
CreateWallpaper: 0
|
||||||
androidSplitApplicationBinary: 0
|
APKExpansionFiles: 0
|
||||||
keepLoadedShadersAlive: 0
|
keepLoadedShadersAlive: 0
|
||||||
StripUnusedMeshComponents: 1
|
StripUnusedMeshComponents: 1
|
||||||
strictShaderVariantMatching: 0
|
strictShaderVariantMatching: 0
|
||||||
VertexChannelCompressionMask: 4054
|
VertexChannelCompressionMask: 4054
|
||||||
iPhoneSdkVersion: 988
|
iPhoneSdkVersion: 988
|
||||||
iOSSimulatorArchitecture: 0
|
iOSTargetOSVersionString: 12.0
|
||||||
iOSTargetOSVersionString: 13.0
|
|
||||||
tvOSSdkVersion: 0
|
tvOSSdkVersion: 0
|
||||||
tvOSSimulatorArchitecture: 0
|
|
||||||
tvOSRequireExtendedGameController: 0
|
tvOSRequireExtendedGameController: 0
|
||||||
tvOSTargetOSVersionString: 13.0
|
tvOSTargetOSVersionString: 12.0
|
||||||
VisionOSSdkVersion: 0
|
VisionOSSdkVersion: 0
|
||||||
VisionOSTargetOSVersionString: 1.0
|
VisionOSTargetOSVersionString: 1.0
|
||||||
uIPrerenderedIcon: 0
|
uIPrerenderedIcon: 0
|
||||||
@@ -218,6 +214,7 @@ PlayerSettings:
|
|||||||
rgba: 0
|
rgba: 0
|
||||||
iOSLaunchScreenFillPct: 100
|
iOSLaunchScreenFillPct: 100
|
||||||
iOSLaunchScreenSize: 100
|
iOSLaunchScreenSize: 100
|
||||||
|
iOSLaunchScreenCustomXibPath:
|
||||||
iOSLaunchScreeniPadType: 0
|
iOSLaunchScreeniPadType: 0
|
||||||
iOSLaunchScreeniPadImage: {fileID: 0}
|
iOSLaunchScreeniPadImage: {fileID: 0}
|
||||||
iOSLaunchScreeniPadBackgroundColor:
|
iOSLaunchScreeniPadBackgroundColor:
|
||||||
@@ -225,6 +222,7 @@ PlayerSettings:
|
|||||||
rgba: 0
|
rgba: 0
|
||||||
iOSLaunchScreeniPadFillPct: 100
|
iOSLaunchScreeniPadFillPct: 100
|
||||||
iOSLaunchScreeniPadSize: 100
|
iOSLaunchScreeniPadSize: 100
|
||||||
|
iOSLaunchScreeniPadCustomXibPath:
|
||||||
iOSLaunchScreenCustomStoryboardPath:
|
iOSLaunchScreenCustomStoryboardPath:
|
||||||
iOSLaunchScreeniPadCustomStoryboardPath:
|
iOSLaunchScreeniPadCustomStoryboardPath:
|
||||||
iOSDeviceRequirements: []
|
iOSDeviceRequirements: []
|
||||||
@@ -261,12 +259,12 @@ PlayerSettings:
|
|||||||
useCustomGradleSettingsTemplate: 0
|
useCustomGradleSettingsTemplate: 0
|
||||||
useCustomProguardFile: 0
|
useCustomProguardFile: 0
|
||||||
AndroidTargetArchitectures: 1
|
AndroidTargetArchitectures: 1
|
||||||
|
AndroidTargetDevices: 0
|
||||||
AndroidSplashScreenScale: 0
|
AndroidSplashScreenScale: 0
|
||||||
androidSplashScreen: {fileID: 0}
|
androidSplashScreen: {fileID: 0}
|
||||||
AndroidKeystoreName:
|
AndroidKeystoreName:
|
||||||
AndroidKeyaliasName:
|
AndroidKeyaliasName:
|
||||||
AndroidEnableArmv9SecurityFeatures: 0
|
AndroidEnableArmv9SecurityFeatures: 0
|
||||||
AndroidEnableArm64MTE: 0
|
|
||||||
AndroidBuildApkPerCpuArchitecture: 0
|
AndroidBuildApkPerCpuArchitecture: 0
|
||||||
AndroidTVCompatibility: 0
|
AndroidTVCompatibility: 0
|
||||||
AndroidIsGame: 1
|
AndroidIsGame: 1
|
||||||
@@ -279,106 +277,13 @@ PlayerSettings:
|
|||||||
height: 180
|
height: 180
|
||||||
banner: {fileID: 0}
|
banner: {fileID: 0}
|
||||||
androidGamepadSupportLevel: 0
|
androidGamepadSupportLevel: 0
|
||||||
|
chromeosInputEmulation: 1
|
||||||
AndroidMinifyRelease: 0
|
AndroidMinifyRelease: 0
|
||||||
AndroidMinifyDebug: 0
|
AndroidMinifyDebug: 0
|
||||||
AndroidValidateAppBundleSize: 1
|
AndroidValidateAppBundleSize: 1
|
||||||
AndroidAppBundleSizeToValidate: 150
|
AndroidAppBundleSizeToValidate: 150
|
||||||
AndroidReportGooglePlayAppDependencies: 1
|
|
||||||
androidSymbolsSizeThreshold: 800
|
|
||||||
m_BuildTargetIcons: []
|
m_BuildTargetIcons: []
|
||||||
m_BuildTargetPlatformIcons:
|
m_BuildTargetPlatformIcons: []
|
||||||
- m_BuildTarget: Android
|
|
||||||
m_Icons:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 432
|
|
||||||
m_Height: 432
|
|
||||||
m_Kind: 2
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 324
|
|
||||||
m_Height: 324
|
|
||||||
m_Kind: 2
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 216
|
|
||||||
m_Height: 216
|
|
||||||
m_Kind: 2
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 162
|
|
||||||
m_Height: 162
|
|
||||||
m_Kind: 2
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 108
|
|
||||||
m_Height: 108
|
|
||||||
m_Kind: 2
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 81
|
|
||||||
m_Height: 81
|
|
||||||
m_Kind: 2
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 192
|
|
||||||
m_Height: 192
|
|
||||||
m_Kind: 1
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 144
|
|
||||||
m_Height: 144
|
|
||||||
m_Kind: 1
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 96
|
|
||||||
m_Height: 96
|
|
||||||
m_Kind: 1
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 72
|
|
||||||
m_Height: 72
|
|
||||||
m_Kind: 1
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 48
|
|
||||||
m_Height: 48
|
|
||||||
m_Kind: 1
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 36
|
|
||||||
m_Height: 36
|
|
||||||
m_Kind: 1
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 192
|
|
||||||
m_Height: 192
|
|
||||||
m_Kind: 0
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 144
|
|
||||||
m_Height: 144
|
|
||||||
m_Kind: 0
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 96
|
|
||||||
m_Height: 96
|
|
||||||
m_Kind: 0
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 72
|
|
||||||
m_Height: 72
|
|
||||||
m_Kind: 0
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 48
|
|
||||||
m_Height: 48
|
|
||||||
m_Kind: 0
|
|
||||||
m_SubKind:
|
|
||||||
- m_Textures: []
|
|
||||||
m_Width: 36
|
|
||||||
m_Height: 36
|
|
||||||
m_Kind: 0
|
|
||||||
m_SubKind:
|
|
||||||
m_BuildTargetBatching:
|
m_BuildTargetBatching:
|
||||||
- m_BuildTarget: Standalone
|
- m_BuildTarget: Standalone
|
||||||
m_StaticBatching: 1
|
m_StaticBatching: 1
|
||||||
@@ -458,14 +363,18 @@ PlayerSettings:
|
|||||||
iPhone: 1
|
iPhone: 1
|
||||||
tvOS: 1
|
tvOS: 1
|
||||||
m_BuildTargetGroupLightmapEncodingQuality:
|
m_BuildTargetGroupLightmapEncodingQuality:
|
||||||
- serializedVersion: 2
|
- m_BuildTarget: Android
|
||||||
m_BuildTarget: Android
|
|
||||||
m_EncodingQuality: 1
|
m_EncodingQuality: 1
|
||||||
- serializedVersion: 2
|
- m_BuildTarget: iPhone
|
||||||
m_BuildTarget: iOS
|
|
||||||
m_EncodingQuality: 1
|
m_EncodingQuality: 1
|
||||||
- serializedVersion: 2
|
- m_BuildTarget: tvOS
|
||||||
m_BuildTarget: tvOS
|
m_EncodingQuality: 1
|
||||||
|
m_BuildTargetGroupHDRCubemapEncodingQuality:
|
||||||
|
- m_BuildTarget: Android
|
||||||
|
m_EncodingQuality: 1
|
||||||
|
- m_BuildTarget: iPhone
|
||||||
|
m_EncodingQuality: 1
|
||||||
|
- m_BuildTarget: tvOS
|
||||||
m_EncodingQuality: 1
|
m_EncodingQuality: 1
|
||||||
m_BuildTargetGroupLightmapSettings: []
|
m_BuildTargetGroupLightmapSettings: []
|
||||||
m_BuildTargetGroupLoadStoreDebugModeSettings: []
|
m_BuildTargetGroupLoadStoreDebugModeSettings: []
|
||||||
@@ -477,13 +386,11 @@ PlayerSettings:
|
|||||||
- m_BuildTarget: tvOS
|
- m_BuildTarget: tvOS
|
||||||
m_Encoding: 1
|
m_Encoding: 1
|
||||||
m_BuildTargetDefaultTextureCompressionFormat:
|
m_BuildTargetDefaultTextureCompressionFormat:
|
||||||
- serializedVersion: 3
|
- m_BuildTarget: Android
|
||||||
m_BuildTarget: Android
|
m_Format: 3
|
||||||
m_Formats: 03000000
|
|
||||||
playModeTestRunnerEnabled: 0
|
playModeTestRunnerEnabled: 0
|
||||||
runPlayModeTestAsEditModeTest: 0
|
runPlayModeTestAsEditModeTest: 0
|
||||||
actionOnDotNetUnhandledException: 1
|
actionOnDotNetUnhandledException: 1
|
||||||
editorGfxJobOverride: 1
|
|
||||||
enableInternalProfiler: 0
|
enableInternalProfiler: 0
|
||||||
logObjCUncaughtExceptions: 1
|
logObjCUncaughtExceptions: 1
|
||||||
enableCrashReportAPI: 0
|
enableCrashReportAPI: 0
|
||||||
@@ -491,7 +398,7 @@ PlayerSettings:
|
|||||||
locationUsageDescription:
|
locationUsageDescription:
|
||||||
microphoneUsageDescription:
|
microphoneUsageDescription:
|
||||||
bluetoothUsageDescription:
|
bluetoothUsageDescription:
|
||||||
macOSTargetOSVersion: 11.0
|
macOSTargetOSVersion: 10.13.0
|
||||||
switchNMETAOverride:
|
switchNMETAOverride:
|
||||||
switchNetLibKey:
|
switchNetLibKey:
|
||||||
switchSocketMemoryPoolSize: 6144
|
switchSocketMemoryPoolSize: 6144
|
||||||
@@ -629,14 +536,12 @@ PlayerSettings:
|
|||||||
switchSocketBufferEfficiency: 4
|
switchSocketBufferEfficiency: 4
|
||||||
switchSocketInitializeEnabled: 1
|
switchSocketInitializeEnabled: 1
|
||||||
switchNetworkInterfaceManagerInitializeEnabled: 1
|
switchNetworkInterfaceManagerInitializeEnabled: 1
|
||||||
switchDisableHTCSPlayerConnection: 0
|
|
||||||
switchUseNewStyleFilepaths: 1
|
switchUseNewStyleFilepaths: 1
|
||||||
switchUseLegacyFmodPriorities: 0
|
switchUseLegacyFmodPriorities: 0
|
||||||
switchUseMicroSleepForYield: 1
|
switchUseMicroSleepForYield: 1
|
||||||
switchEnableRamDiskSupport: 0
|
switchEnableRamDiskSupport: 0
|
||||||
switchMicroSleepForYieldTime: 25
|
switchMicroSleepForYieldTime: 25
|
||||||
switchRamDiskSpaceSize: 12
|
switchRamDiskSpaceSize: 12
|
||||||
switchUpgradedPlayerSettingsToNMETA: 0
|
|
||||||
ps4NPAgeRating: 12
|
ps4NPAgeRating: 12
|
||||||
ps4NPTitleSecret:
|
ps4NPTitleSecret:
|
||||||
ps4NPTrophyPackPath:
|
ps4NPTrophyPackPath:
|
||||||
@@ -739,19 +644,13 @@ PlayerSettings:
|
|||||||
webGLMemoryLinearGrowthStep: 16
|
webGLMemoryLinearGrowthStep: 16
|
||||||
webGLMemoryGeometricGrowthStep: 0.2
|
webGLMemoryGeometricGrowthStep: 0.2
|
||||||
webGLMemoryGeometricGrowthCap: 96
|
webGLMemoryGeometricGrowthCap: 96
|
||||||
webGLEnableWebGPU: 0
|
|
||||||
webGLPowerPreference: 2
|
webGLPowerPreference: 2
|
||||||
webGLWebAssemblyTable: 0
|
|
||||||
webGLWebAssemblyBigInt: 0
|
|
||||||
webGLCloseOnQuit: 0
|
|
||||||
webWasm2023: 0
|
|
||||||
scriptingDefineSymbols: {}
|
scriptingDefineSymbols: {}
|
||||||
additionalCompilerArguments: {}
|
additionalCompilerArguments: {}
|
||||||
platformArchitecture: {}
|
platformArchitecture: {}
|
||||||
scriptingBackend: {}
|
scriptingBackend: {}
|
||||||
il2cppCompilerConfiguration: {}
|
il2cppCompilerConfiguration: {}
|
||||||
il2cppCodeGeneration: {}
|
il2cppCodeGeneration: {}
|
||||||
il2cppStacktraceInformation: {}
|
|
||||||
managedStrippingLevel:
|
managedStrippingLevel:
|
||||||
EmbeddedLinux: 1
|
EmbeddedLinux: 1
|
||||||
GameCoreScarlett: 1
|
GameCoreScarlett: 1
|
||||||
@@ -776,7 +675,6 @@ PlayerSettings:
|
|||||||
gcIncremental: 1
|
gcIncremental: 1
|
||||||
gcWBarrierValidation: 0
|
gcWBarrierValidation: 0
|
||||||
apiCompatibilityLevelPerPlatform: {}
|
apiCompatibilityLevelPerPlatform: {}
|
||||||
editorAssembliesCompatibilityLevel: 1
|
|
||||||
m_RenderingPath: 1
|
m_RenderingPath: 1
|
||||||
m_MobileRenderingPath: 1
|
m_MobileRenderingPath: 1
|
||||||
metroPackageName: 3D blobici
|
metroPackageName: 3D blobici
|
||||||
@@ -851,11 +749,9 @@ PlayerSettings:
|
|||||||
hmiPlayerDataPath:
|
hmiPlayerDataPath:
|
||||||
hmiForceSRGBBlit: 1
|
hmiForceSRGBBlit: 1
|
||||||
embeddedLinuxEnableGamepadInput: 1
|
embeddedLinuxEnableGamepadInput: 1
|
||||||
hmiCpuConfiguration:
|
|
||||||
hmiLogStartupTiming: 0
|
hmiLogStartupTiming: 0
|
||||||
qnxGraphicConfPath:
|
hmiCpuConfiguration:
|
||||||
apiCompatibilityLevel: 6
|
apiCompatibilityLevel: 6
|
||||||
captureStartupLogs: {}
|
|
||||||
activeInputHandler: 0
|
activeInputHandler: 0
|
||||||
windowsGamepadBackendHint: 0
|
windowsGamepadBackendHint: 0
|
||||||
cloudProjectId:
|
cloudProjectId:
|
||||||
@@ -869,5 +765,3 @@ PlayerSettings:
|
|||||||
platformRequiresReadableAssets: 0
|
platformRequiresReadableAssets: 0
|
||||||
virtualTexturingSupportEnabled: 0
|
virtualTexturingSupportEnabled: 0
|
||||||
insecureHttpOption: 0
|
insecureHttpOption: 0
|
||||||
androidVulkanDenyFilterList: []
|
|
||||||
androidVulkanAllowFilterList: []
|
|
||||||
|
|||||||
@@ -110,58 +110,6 @@ QualitySettings:
|
|||||||
terrainFadeLength: 5
|
terrainFadeLength: 5
|
||||||
terrainMaxTrees: 50
|
terrainMaxTrees: 50
|
||||||
excludedTargetPlatforms: []
|
excludedTargetPlatforms: []
|
||||||
- serializedVersion: 4
|
|
||||||
name: Medium
|
|
||||||
pixelLightCount: 1
|
|
||||||
shadows: 1
|
|
||||||
shadowResolution: 0
|
|
||||||
shadowProjection: 1
|
|
||||||
shadowCascades: 1
|
|
||||||
shadowDistance: 20
|
|
||||||
shadowNearPlaneOffset: 3
|
|
||||||
shadowCascade2Split: 0.33333334
|
|
||||||
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
|
||||||
shadowmaskMode: 0
|
|
||||||
skinWeights: 2
|
|
||||||
globalTextureMipmapLimit: 0
|
|
||||||
textureMipmapLimitSettings: []
|
|
||||||
anisotropicTextures: 1
|
|
||||||
antiAliasing: 0
|
|
||||||
softParticles: 0
|
|
||||||
softVegetation: 0
|
|
||||||
realtimeReflectionProbes: 0
|
|
||||||
billboardsFaceCameraPosition: 0
|
|
||||||
useLegacyDetailDistribution: 1
|
|
||||||
adaptiveVsync: 0
|
|
||||||
vSyncCount: 1
|
|
||||||
realtimeGICPUUsage: 25
|
|
||||||
adaptiveVsyncExtraA: 0
|
|
||||||
adaptiveVsyncExtraB: 0
|
|
||||||
lodBias: 0.7
|
|
||||||
maximumLODLevel: 0
|
|
||||||
enableLODCrossFade: 1
|
|
||||||
streamingMipmapsActive: 0
|
|
||||||
streamingMipmapsAddAllCameras: 1
|
|
||||||
streamingMipmapsMemoryBudget: 512
|
|
||||||
streamingMipmapsRenderersPerFrame: 512
|
|
||||||
streamingMipmapsMaxLevelReduction: 2
|
|
||||||
streamingMipmapsMaxFileIORequests: 1024
|
|
||||||
particleRaycastBudget: 64
|
|
||||||
asyncUploadTimeSlice: 2
|
|
||||||
asyncUploadBufferSize: 16
|
|
||||||
asyncUploadPersistentBuffer: 1
|
|
||||||
resolutionScalingFixedDPIFactor: 1
|
|
||||||
customRenderPipeline: {fileID: 0}
|
|
||||||
terrainQualityOverrides: 0
|
|
||||||
terrainPixelError: 1
|
|
||||||
terrainDetailDensityScale: 1
|
|
||||||
terrainBasemapDistance: 1000
|
|
||||||
terrainDetailDistance: 80
|
|
||||||
terrainTreeDistance: 5000
|
|
||||||
terrainBillboardStart: 50
|
|
||||||
terrainFadeLength: 5
|
|
||||||
terrainMaxTrees: 50
|
|
||||||
excludedTargetPlatforms: []
|
|
||||||
- serializedVersion: 4
|
- serializedVersion: 4
|
||||||
name: High
|
name: High
|
||||||
pixelLightCount: 2
|
pixelLightCount: 2
|
||||||
@@ -214,6 +162,58 @@ QualitySettings:
|
|||||||
terrainFadeLength: 5
|
terrainFadeLength: 5
|
||||||
terrainMaxTrees: 50
|
terrainMaxTrees: 50
|
||||||
excludedTargetPlatforms: []
|
excludedTargetPlatforms: []
|
||||||
|
- serializedVersion: 4
|
||||||
|
name: Medium
|
||||||
|
pixelLightCount: 1
|
||||||
|
shadows: 1
|
||||||
|
shadowResolution: 0
|
||||||
|
shadowProjection: 1
|
||||||
|
shadowCascades: 1
|
||||||
|
shadowDistance: 20
|
||||||
|
shadowNearPlaneOffset: 3
|
||||||
|
shadowCascade2Split: 0.33333334
|
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
shadowmaskMode: 0
|
||||||
|
skinWeights: 2
|
||||||
|
globalTextureMipmapLimit: 0
|
||||||
|
textureMipmapLimitSettings: []
|
||||||
|
anisotropicTextures: 1
|
||||||
|
antiAliasing: 0
|
||||||
|
softParticles: 0
|
||||||
|
softVegetation: 0
|
||||||
|
realtimeReflectionProbes: 0
|
||||||
|
billboardsFaceCameraPosition: 0
|
||||||
|
useLegacyDetailDistribution: 1
|
||||||
|
adaptiveVsync: 0
|
||||||
|
vSyncCount: 1
|
||||||
|
realtimeGICPUUsage: 25
|
||||||
|
adaptiveVsyncExtraA: 0
|
||||||
|
adaptiveVsyncExtraB: 0
|
||||||
|
lodBias: 0.7
|
||||||
|
maximumLODLevel: 0
|
||||||
|
enableLODCrossFade: 1
|
||||||
|
streamingMipmapsActive: 0
|
||||||
|
streamingMipmapsAddAllCameras: 1
|
||||||
|
streamingMipmapsMemoryBudget: 512
|
||||||
|
streamingMipmapsRenderersPerFrame: 512
|
||||||
|
streamingMipmapsMaxLevelReduction: 2
|
||||||
|
streamingMipmapsMaxFileIORequests: 1024
|
||||||
|
particleRaycastBudget: 64
|
||||||
|
asyncUploadTimeSlice: 2
|
||||||
|
asyncUploadBufferSize: 16
|
||||||
|
asyncUploadPersistentBuffer: 1
|
||||||
|
resolutionScalingFixedDPIFactor: 1
|
||||||
|
customRenderPipeline: {fileID: 0}
|
||||||
|
terrainQualityOverrides: 0
|
||||||
|
terrainPixelError: 1
|
||||||
|
terrainDetailDensityScale: 1
|
||||||
|
terrainBasemapDistance: 1000
|
||||||
|
terrainDetailDistance: 80
|
||||||
|
terrainTreeDistance: 5000
|
||||||
|
terrainBillboardStart: 50
|
||||||
|
terrainFadeLength: 5
|
||||||
|
terrainMaxTrees: 50
|
||||||
|
excludedTargetPlatforms: []
|
||||||
- serializedVersion: 4
|
- serializedVersion: 4
|
||||||
name: Very High
|
name: Very High
|
||||||
pixelLightCount: 3
|
pixelLightCount: 3
|
||||||
|
|||||||
21
3D blobici/ProjectSettings/VisualScriptingSettings.asset
Normal file
21
3D blobici/ProjectSettings/VisualScriptingSettings.asset
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &1
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 65bae8b9f1bd244b3a27e92af4b23b2a, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_data:
|
||||||
|
_json: '{"dictionary":{"aotSafeMode":{"$content":true,"$type":"System.Boolean"},"favoriteMembers":{"$content":[],"$type":"System.Collections.Generic.HashSet`1[[Unity.VisualScripting.Member,
|
||||||
|
Unity.VisualScripting.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"LinkerPropertyProviderSettings":{"$content":[true,true,true],"$type":"System.Collections.Generic.List`1[[System.Boolean,
|
||||||
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"assemblyOptions":{"$content":["mscorlib","Assembly-CSharp-firstpass","Assembly-CSharp","UnityEngine","UnityEngine.CoreModule","UnityEngine.InputModule","UnityEngine.ClusterInputModule","UnityEngine.InputLegacyModule","UnityEngine.PhysicsModule","UnityEngine.Physics2DModule","UnityEngine.TerrainPhysicsModule","UnityEngine.VehiclesModule","UnityEngine.AudioModule","UnityEngine.AnimationModule","UnityEngine.VideoModule","UnityEngine.DirectorModule","UnityEngine.Timeline","UnityEngine.ParticleSystemModule","UnityEngine.ParticlesLegacyModule","UnityEngine.WindModule","UnityEngine.ClothModule","UnityEngine.TilemapModule","UnityEngine.SpriteMaskModule","UnityEngine.TerrainModule","UnityEngine.ImageConversionModule","UnityEngine.TextRenderingModule","UnityEngine.ClusterRendererModule","UnityEngine.ScreenCaptureModule","UnityEngine.AIModule","UnityEngine.UI","UnityEngine.UIModule","UnityEngine.IMGUIModule","UnityEngine.UIElementsModule","UnityEngine.StyleSheetsModule","UnityEngine.VR","UnityEngine.VRModule","UnityEngine.ARModule","UnityEngine.HoloLens","UnityEngine.SpatialTracking","UnityEngine.GoogleAudioSpatializer","UnityEngine.Networking","UnityEngine.Analytics","UnityEngine.Advertisements","UnityEngine.Purchasing","UnityEngine.UnityConnectModule","UnityEngine.UnityAnalyticsModule","UnityEngine.GameCenterModule","UnityEngine.AccessibilityModule","UnityEngine.AndroidJNIModule","UnityEngine.AssetBundleModule","UnityEngine.FileSystemHttpModule","UnityEngine.JSONSerializeModule","UnityEngine.UmbraModule","Unity.Timeline","Unity.Timeline.Editor","Cinemachine","com.unity.cinemachine.editor","Unity.InputSystem","Unity.TextMeshPro","Unity.VisualScripting.Core","Unity.VisualScripting.Flow","Unity.VisualScripting.State"],"$type":"System.Collections.Generic.List`1[[Unity.VisualScripting.LooseAssemblyName,
|
||||||
|
Unity.VisualScripting.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"typeOptions":{"$content":["System.Object","System.Boolean","System.Int32","System.Single","System.String","UnityEngine.Vector2","UnityEngine.Vector3","UnityEngine.Vector4","UnityEngine.Quaternion","UnityEngine.Matrix4x4","UnityEngine.Rect","UnityEngine.Bounds","UnityEngine.Color","UnityEngine.AnimationCurve","UnityEngine.LayerMask","UnityEngine.Ray","UnityEngine.Ray2D","UnityEngine.RaycastHit","UnityEngine.RaycastHit2D","UnityEngine.ContactPoint","UnityEngine.ContactPoint2D","UnityEngine.ParticleCollisionEvent","UnityEngine.SceneManagement.Scene","UnityEngine.Application","UnityEngine.Resources","UnityEngine.Mathf","UnityEngine.Debug","UnityEngine.Input","UnityEngine.Touch","UnityEngine.Screen","UnityEngine.Cursor","UnityEngine.Time","UnityEngine.Random","UnityEngine.Physics","UnityEngine.Physics2D","UnityEngine.SceneManagement.SceneManager","UnityEngine.GUI","UnityEngine.GUILayout","UnityEngine.GUIUtility","UnityEngine.Audio.AudioMixerGroup","UnityEngine.AI.NavMesh","UnityEngine.Gizmos","UnityEngine.AnimatorStateInfo","UnityEngine.EventSystems.BaseEventData","UnityEngine.EventSystems.PointerEventData","UnityEngine.EventSystems.AxisEventData","System.Collections.IList","System.Collections.IDictionary","Unity.VisualScripting.AotList","Unity.VisualScripting.AotDictionary","System.Exception"],"$type":"System.Collections.Generic.List`1[[System.Type,
|
||||||
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"projectSetupCompleted":{"$content":false,"$type":"System.Boolean"},"savedVersion":{"major":1,"minor":9,"patch":6,"label":null,"increment":0,"$type":"Unity.VisualScripting.SemanticVersion"}}}'
|
||||||
|
_objectReferences: []
|
||||||
274
3D blobici/UpgradeLog.htm
Normal file
274
3D blobici/UpgradeLog.htm
Normal file
@@ -0,0 +1,274 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0014)about:internet -->
|
||||||
|
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt"><head><meta content="en-us" http-equiv="Content-Language" /><meta content="text/html; charset=utf-16" http-equiv="Content-Type" /><title _locID="ConversionReport0">
|
||||||
|
Protokol migrace
|
||||||
|
</title><style>
|
||||||
|
/* Body style, for the entire document */
|
||||||
|
body
|
||||||
|
{
|
||||||
|
background: #F3F3F4;
|
||||||
|
color: #1E1E1F;
|
||||||
|
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header1 style, used for the main title */
|
||||||
|
h1
|
||||||
|
{
|
||||||
|
padding: 10px 0px 10px 10px;
|
||||||
|
font-size: 21pt;
|
||||||
|
background-color: #E2E2E2;
|
||||||
|
border-bottom: 1px #C1C1C2 solid;
|
||||||
|
color: #201F20;
|
||||||
|
margin: 0;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header2 style, used for "Overview" and other sections */
|
||||||
|
h2
|
||||||
|
{
|
||||||
|
font-size: 18pt;
|
||||||
|
font-weight: normal;
|
||||||
|
padding: 15px 0 5px 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header3 style, used for sub-sections, such as project name */
|
||||||
|
h3
|
||||||
|
{
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 15pt;
|
||||||
|
margin: 0;
|
||||||
|
padding: 15px 0 5px 0;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Color all hyperlinks one color */
|
||||||
|
a
|
||||||
|
{
|
||||||
|
color: #1382CE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Table styles */
|
||||||
|
table
|
||||||
|
{
|
||||||
|
border-spacing: 0 0;
|
||||||
|
border-collapse: collapse;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
table th
|
||||||
|
{
|
||||||
|
background: #E7E7E8;
|
||||||
|
text-align: left;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: normal;
|
||||||
|
padding: 3px 6px 3px 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table td
|
||||||
|
{
|
||||||
|
vertical-align: top;
|
||||||
|
padding: 3px 6px 5px 5px;
|
||||||
|
margin: 0px;
|
||||||
|
border: 1px solid #E7E7E8;
|
||||||
|
background: #F7F7F8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Local link is a style for hyperlinks that link to file:/// content, there are lots so color them as 'normal' text until the user mouse overs */
|
||||||
|
.localLink
|
||||||
|
{
|
||||||
|
color: #1E1E1F;
|
||||||
|
background: #EEEEED;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.localLink:hover
|
||||||
|
{
|
||||||
|
color: #1382CE;
|
||||||
|
background: #FFFF99;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Center text, used in the over views cells that contain message level counts */
|
||||||
|
.textCentered
|
||||||
|
{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The message cells in message tables should take up all avaliable space */
|
||||||
|
.messageCell
|
||||||
|
{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Padding around the content after the h1 */
|
||||||
|
#content
|
||||||
|
{
|
||||||
|
padding: 0px 12px 12px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The overview table expands to width, with a max width of 97% */
|
||||||
|
#overview table
|
||||||
|
{
|
||||||
|
width: auto;
|
||||||
|
max-width: 75%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The messages tables are always 97% width */
|
||||||
|
#messages table
|
||||||
|
{
|
||||||
|
width: 97%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* All Icons */
|
||||||
|
.IconSuccessEncoded, .IconInfoEncoded, .IconWarningEncoded, .IconErrorEncoded
|
||||||
|
{
|
||||||
|
min-width:18px;
|
||||||
|
min-height:18px;
|
||||||
|
background-repeat:no-repeat;
|
||||||
|
background-position:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Success icon encoded */
|
||||||
|
.IconSuccessEncoded
|
||||||
|
{
|
||||||
|
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
|
||||||
|
/* [---XsltValidateInternal-Base64EncodedImage:IconSuccess#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
|
||||||
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABcElEQVR4Xq2TsUsCURzHv15g8ZJcBWlyiYYgCIWcb9DFRRwMW5TA2c0/QEFwFkxxUQdxVlBwCYWOi6IhWgQhBLHJUCkhLr/BW8S7gvrAg+N+v8/v+x68Z8MGy+XSCyABQAXgBgHGALoASkIIDWSLeLBetdHryMjd5IxQPWT4rn1c/P7+xxp72Cs9m5SZ0Bq2vPnbPFafK2zDvmNHypdC0BPkLlQhxJsCAhQoZwdZU5mwxh720qGo8MzTxTTKZDPCx2HoVzp6lz0Q9tKhyx0kGs8Ny+TkWRKk8lCROwEduhyg9l/6lunOPSfmH3NUH6uQ0KHLAe7JYvJjevm+DAMGJHToKtigE+vwvIidxLamb8IBY9e+C5LiXREkfho3TSd06HJA13/oh6T51MTsfQbHrsMynQ5dDihFjiK8JJAU9AKIWTp76dCVN7HWHrajmUEGvyF9nkbAE6gLIS7kTUyuf2gscLoJrElZo/Mvj+nPz/kLTmfnEwP3tB0AAAAASUVORK5CYII=);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Information icon encoded */
|
||||||
|
.IconInfoEncoded
|
||||||
|
{
|
||||||
|
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
|
||||||
|
/* [---XsltValidateInternal-Base64EncodedImage:IconInformation#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
|
||||||
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHElEQVR4Xs2TsUoDQRRF7wwoziokjZUKadInhdhukR9YP8DMX1hYW+QvdsXa/QHBbcXC7W0CamWTQnclFutceIQJwwaWNLlwm5k5d94M76mmaeCrrmsLYOocY12FcxZFUeozCqKqqgYA8uevv1H6VuPxcwlfk5N92KHBxfFeCSAxxswlYAW/Xr989x/mv9gkhtyMDhcAxgzRsp7flj8B/HF1RsMXq+NZMkopaHe7lbKxQUEIGbKsYNoGn969060hZBkQex/W8oRQwsQaW2o3Ago2SVcJUzAgY3N0lTCZZm+zPS8HB51gMmS1DEYyOz9acKO1D8JWTlafKIMxdhvlfdyT94Vv5h7P8Ky7nQzACmhvKq3zk3PjW9asz9D/1oigecsioooAAAAASUVORK5CYII=);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Warning icon encoded */
|
||||||
|
.IconWarningEncoded
|
||||||
|
{
|
||||||
|
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
|
||||||
|
/* [---XsltValidateInternal-Base64EncodedImage:IconWarning#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
|
||||||
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAx0lEQVR4XpWSMQ7CMAxFf4xAyBMLCxMrO8dhaBcuwdCJS3RJBw7SA/QGTCxdWJgiQYWKXJWKIXHIlyw5lqr34tQgEOdcBsCOx5yZK3hCCKdYXneQkh4pEfqzLfu+wVDSyyzFoJjfz9NB+pAF+eizx2Vruts0k15mPgvS6GYvpVtQhB61IB/dk6AF6fS4Ben0uIX5odtFe8Q/eW1KvFeH4e8khT6+gm5B+t3juyDt7n0jpe+CANTd+oTUjN/U3yVaABnSUjFz/gFq44JaVSCXeQAAAABJRU5ErkJggg==);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Error icon encoded */
|
||||||
|
.IconErrorEncoded
|
||||||
|
{
|
||||||
|
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
|
||||||
|
/* [---XsltValidateInternal-Base64EncodedImage:IconError#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
|
||||||
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQElEQVR4XqWTvUoEQRCE6wYPZUA80AfwAQz23uCMjA7MDRQEIzPBVEyNTQUFIw00vcQTTMzuAh/AxEQQT8HF/3G/oGGnEUGuoNnd6qoZuqltyKEsyzVJq5I6rnUp6SjGeGhESikzzlc1eL7opfuVbrqbU1Zw9NCgtQMaZpY0eNnaaL2fHusvTK5vKu7sjSS1Y4y3QUA6K3e3Mau5UFDyMP7tYF9o8cAHZv68vipoIJg971PZIZ5HiwdvYGGvFVFHmGmZ2MxwmQYPXubPl9Up0tfoMQGetXd6mRbvhBw+boZ6WF7Mbv1+GsHRk0fQmPAH1GfmZirbCfDJ61tw3Px8/8pZsPAG4jlVhcPgZ7adwNWBB68lkRQWFiTgFlbnLY3DGGM7izIJIyT/jjIvEJw6fdJTc6krDzh6aMwMP9bvDH4ADSsa9uSWVJkAAAAASUVORK5CYII=);
|
||||||
|
}
|
||||||
|
</style><script type="text/javascript" language="javascript">
|
||||||
|
|
||||||
|
// Startup
|
||||||
|
// Hook up the the loaded event for the document/window, to linkify the document content
|
||||||
|
var startupFunction = function() { linkifyElement("messages"); };
|
||||||
|
|
||||||
|
if(window.attachEvent)
|
||||||
|
{
|
||||||
|
window.attachEvent('onload', startupFunction);
|
||||||
|
}
|
||||||
|
else if (window.addEventListener)
|
||||||
|
{
|
||||||
|
window.addEventListener('load', startupFunction, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
document.addEventListener('load', startupFunction, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Toggles the visibility of table rows with the specified name
|
||||||
|
function toggleTableRowsByName(name)
|
||||||
|
{
|
||||||
|
var allRows = document.getElementsByTagName('tr');
|
||||||
|
for (i=0; i < allRows.length; i++)
|
||||||
|
{
|
||||||
|
var currentName = allRows[i].getAttribute('name');
|
||||||
|
if(!!currentName && currentName.indexOf(name) == 0)
|
||||||
|
{
|
||||||
|
var isVisible = allRows[i].style.display == '';
|
||||||
|
isVisible ? allRows[i].style.display = 'none' : allRows[i].style.display = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrollToFirstVisibleRow(name)
|
||||||
|
{
|
||||||
|
var allRows = document.getElementsByTagName('tr');
|
||||||
|
for (i=0; i < allRows.length; i++)
|
||||||
|
{
|
||||||
|
var currentName = allRows[i].getAttribute('name');
|
||||||
|
var isVisible = allRows[i].style.display == '';
|
||||||
|
if(!!currentName && currentName.indexOf(name) == 0 && isVisible)
|
||||||
|
{
|
||||||
|
allRows[i].scrollIntoView(true);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Linkifies the specified text content, replaces candidate links with html links
|
||||||
|
function linkify(text)
|
||||||
|
{
|
||||||
|
if(!text || 0 === text.length)
|
||||||
|
{
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find http, https and ftp links and replace them with hyper links
|
||||||
|
var urlLink = /(http|https|ftp)\:\/\/[a-zA-Z0-9\-\.]+(:[a-zA-Z0-9]*)?\/?([a-zA-Z0-9\-\._\?\,\/\\\+&%\$#\=~;\{\}])*/gi;
|
||||||
|
|
||||||
|
return text.replace(urlLink, '<a href="$&">$&</a>') ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Linkifies the specified element by ID
|
||||||
|
function linkifyElement(id)
|
||||||
|
{
|
||||||
|
var element = document.getElementById(id);
|
||||||
|
if(!!element)
|
||||||
|
{
|
||||||
|
element.innerHTML = linkify(element.innerHTML);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function ToggleMessageVisibility(projectName)
|
||||||
|
{
|
||||||
|
if(!projectName || 0 === projectName.length)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleTableRowsByName("MessageRowClass" + projectName);
|
||||||
|
toggleTableRowsByName('MessageRowHeaderShow' + projectName);
|
||||||
|
toggleTableRowsByName('MessageRowHeaderHide' + projectName);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ScrollToFirstVisibleMessage(projectName)
|
||||||
|
{
|
||||||
|
if(!projectName || 0 === projectName.length)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// First try the 'Show messages' row
|
||||||
|
if(!scrollToFirstVisibleRow('MessageRowHeaderShow' + projectName))
|
||||||
|
{
|
||||||
|
// Failed to find a visible row for 'Show messages', try an actual message row
|
||||||
|
scrollToFirstVisibleRow('MessageRowClass' + projectName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script></head><body><h1 _locID="ConversionReport">
|
||||||
|
Protokol migrace - </h1><div id="content"><h2 _locID="OverviewTitle">Přehled</h2><div id="overview"><table><tr><th></th><th _locID="ProjectTableHeader">Projekt</th><th _locID="PathTableHeader">Cesta</th><th _locID="ErrorsTableHeader">Chyby</th><th _locID="WarningsTableHeader">Upozornění</th><th _locID="MessagesTableHeader">Zprávy</th></tr><tr><td class="IconErrorEncoded" /><td><strong><a href="#Assembly-CSharp">Assembly-CSharp</a></strong></td><td>Assembly-CSharp.csproj</td><td class="textCentered"><a href="#Assembly-CSharpError">1</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#">0</a></td></tr><tr><td class="IconErrorEncoded" /><td><strong><a href="#Assembly-CSharp-Editor">Assembly-CSharp-Editor</a></strong></td><td>Assembly-CSharp-Editor.csproj</td><td class="textCentered"><a href="#Assembly-CSharp-EditorError">1</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#">0</a></td></tr><tr><td class="IconSuccessEncoded" /><td><strong><a href="#Solution"><span _locID="OverviewSolutionSpan">Řešení</span></a></strong></td><td>3D blobici.sln</td><td class="textCentered"><a>0</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#" onclick="ScrollToFirstVisibleMessage('Solution'); return false;">1</a></td></tr></table></div><h2 _locID="SolutionAndProjectsTitle">Řešení a projekty</h2><div id="messages"><a name="Assembly-CSharp" /><h3>Assembly-CSharp</h3><table><tr id="Assembly-CSharpHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Zpráva</th></tr><tr name="ErrorRowClassAssembly-CSharp"><td class="IconErrorEncoded"><a name="Assembly-CSharpError" /></td><td class="messageCell"><strong>Assembly-CSharp.csproj:
|
||||||
|
</strong><span>Aplikace, na níž je založen tento typ projektu, nebyla nalezena. Další informace získáte pomocí tohoto odkazu: http://go.microsoft.com/fwlink/?LinkID=299083&projecttype=E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1</span></td></tr></table><a name="Assembly-CSharp-Editor" /><h3>Assembly-CSharp-Editor</h3><table><tr id="Assembly-CSharp-EditorHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Zpráva</th></tr><tr name="ErrorRowClassAssembly-CSharp-Editor"><td class="IconErrorEncoded"><a name="Assembly-CSharp-EditorError" /></td><td class="messageCell"><strong>Assembly-CSharp-Editor.csproj:
|
||||||
|
</strong><span>Aplikace, na níž je založen tento typ projektu, nebyla nalezena. Další informace získáte pomocí tohoto odkazu: http://go.microsoft.com/fwlink/?LinkID=299083&projecttype=E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1</span></td></tr></table><a name="Solution" /><h3 _locID="ProjectDisplayNameHeader">Řešení</h3><table><tr id="SolutionHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Zpráva</th></tr><tr name="MessageRowHeaderShowSolution"><td class="IconInfoEncoded" /><td class="messageCell"><a _locID="ShowAdditionalMessages" href="#" name="SolutionMessage" onclick="ToggleMessageVisibility('Solution'); return false;">
|
||||||
|
Zobrazit 1 další zprávy
|
||||||
|
</a></td></tr><tr name="MessageRowClassSolution" style="display: none"><td class="IconInfoEncoded"><a name="SolutionMessage" /></td><td class="messageCell"><strong>3D blobici.sln:
|
||||||
|
</strong><span>Soubor řešení nevyžaduje migraci.</span></td></tr><tr style="display: none" name="MessageRowHeaderHideSolution"><td class="IconInfoEncoded" /><td class="messageCell"><a _locID="HideAdditionalMessages" href="#" name="SolutionMessage" onclick="ToggleMessageVisibility('Solution'); return false;">
|
||||||
|
Skrýt 1 další zprávy
|
||||||
|
</a></td></tr></table></div></div></body></html>
|
||||||
Reference in New Issue
Block a user