Initial commit

This commit is contained in:
2026-05-11 20:48:41 +03:00
commit e35e9a07d5
229 changed files with 82642 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
using System.Collections.Generic;
using UnityEngine;
public class BlockScript : MonoBehaviour
{
public enum BlockType
{
None,
Grass,
Sand,
PathFinish
}
[SerializeField] private BlockType _type = BlockType.None;
public BlockType Type { get => _type; protected set => _type = value; }
public bool IsPath => _type is BlockType.Sand or BlockType.PathFinish;
public List<BlockScript> GetNeighbors()
{
var neighbors = new List<BlockScript>();
var ray = new Ray(transform.position, Vector3.up);
if (CheckNeighbor(ray, out var neighbor))
neighbors.Add(neighbor);
ray.direction = Vector3.forward;
if (CheckNeighbor(ray, out neighbor))
neighbors.Add(neighbor);
ray.direction = Vector3.right;
if (CheckNeighbor(ray, out neighbor))
neighbors.Add(neighbor);
ray.direction = Vector3.down;
if (CheckNeighbor(ray, out neighbor))
neighbors.Add(neighbor);
ray.direction = Vector3.back;
if (CheckNeighbor(ray, out neighbor))
neighbors.Add(neighbor);
ray.direction = Vector3.left;
if (CheckNeighbor(ray, out neighbor))
neighbors.Add(neighbor);
return neighbors;
}
private static bool CheckNeighbor(Ray ray, out BlockScript neighbor)
{
if (Physics.Raycast(ray, out var hit, 1f))
return hit.transform.TryGetComponent(out neighbor);
neighbor = null;
return false;
}
}