Transform[] spawnPoints = _containerSpawnPoint.GetComponentsInChildren<Transform>();
private IEnumerator Move(Axis axis, int point)
{
var direction = Vector3.zero;
direction[(int) axis] = point;
_move = true;
if (Physics.RaycastAll(transform.position, direction, 2f).Length > 1)
{
_move = false;
yield break;
}
_finishPosition = transform.position + direction;
_timer = 0;
_curve = new AnimationCurve();
_curve.AddKey(0f, transform.position[(int) axis]);
_curve.AddKey(_speedMove, _finishPosition[(int) axis]);
while (true)
{
_tmpPosition = transform.position;
_tmpPosition[(int) axis] = _curve.Evaluate(_timer);
_rb.MovePosition(_tmpPosition);
if (transform.position == _finishPosition)
{
_move = false;
yield break;
}
_timer += Time.fixedDeltaTime;
yield return new WaitForFixedUpdate();
}
}
void OnCollisionEnter2D(Collision2D col)
{
if (col.transform.tag == "floatPlatform") //передаем персонажу скорость движущихся платформ
transform.parent = col.transform;
}
void OnCollisionExit2D(Collision2D col)
{
if (col.transform.tag == "floatPlatform") //убираем у персонажа скорость платформы
transform.parent = null;
}
Это особенно заметно если на небольшой коллайдер с большой высоты и с большой массой скинуть другой коллайдер - Большой просто проскочит насквозь маленький.
1. Нужно ли использовать БД на телефонах? (например, если мне нужно сохранить какую-то статистику)
2. Как использовать SqLite совместно с Юнити? (Пожалуйста, киньте примеры, где подробно всё описывается)