Начал изучать юнити пару дней назад по гайду.
Не работает скрипт в билде в юнити, при том что в самом юнити все работает.
Делаю шахматы, и вот в билде перестали работать ходы
В чем может быть проблема?
гуглил, и у некоторых были ошибки в коде. Но тут вроде все норм
public class Rules : MonoBehaviour
{
DragAndDrop dad;
public Rules()
{
dad = new DragAndDrop();
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
dad.Action();
}
}
class DragAndDrop
{
enum State
{
none,
drag
}
State state;
GameObject item;
public DragAndDrop()
{
state = State.none;
item = null;
}
public bool Action()
{
switch (state)
{
case State.none:
if (IsMouseButtonPressed())
PickUp();
break;
case State.drag:
if (IsMouseButtonPressed())
Drag();
else
Drop();
return true;
}
return false;
}
bool IsMouseButtonPressed()
{
return Input.GetMouseButton(0);
}
void PickUp()
{
Vector2 clickPosition = GetClickPosition();
Transform clickedItem = GetItemAt(clickPosition);
if (clickedItem == null) return;
item = clickedItem.gameObject;
state = State.drag;
Debug.Log("picked up: " + item.name);
}
Vector2 GetClickPosition()
{
return Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
Transform GetItemAt(Vector2 position)
{
RaycastHit2D[] figures = Physics2D.RaycastAll(position, position, 0.5f);
if (figures.Length == 0)
return null;
return figures[0].transform;
}
void Drag()
{
item.transform.position = GetClickPosition();
}
void Drop()
{
state = State.none;
item = null;
}
}