return transform.rotation;
struct CubePos
отделилось от определения.using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
public class GameController: MonoBehaviour {
public float cubeChangePlaceSpeed = 0.5f;
public Transform cubeToPlace;
private List<Vector3> allCubesPosition = new List {
new Vector3(0, 0, 0),
new Vector3(1, 0, 0),
new Vector3(-1, 0, 0),
new Vector3(0, 1, 0),
new Vector3(0, 0, 0),
new Vector3(-1, 0, -1),
new Vector3(1, 0, 1),
new Vector3(0, 0, -1),
new Vector3(1, 0, -1),
}
private void Start() {
StartCoroutine(ShowCubePlace());
}
IEnumerator ShowCubePlace() {
while (true) {
SpawnPosition();
yield return new WaitForSeconds(cubeChangePlaceSpwwd)
}
}
private void SpawnPosition() {
List position = new List();
if (IsPositionEmpty(new Vector3(nowCube.x + 1, nowCube.y, nowCube.z))) position.Add(new Vector3(nowCube.x + 1, nowCube.y, nowCube.z));
if (IsPositionEmpty(new Vector3(nowCube.x - 1, nowCube.y, nowCube.z))) position.Add(new Vector3(nowCube.x - 1, nowCube.y, nowCube.z));
if (IsPositionEmpty(new Vector3(nowCube.x, nowCube.y + 1, nowCube.z))) position.Add(new Vector3(nowCube.x, nowCube.y + 1, nowCube.z));
if (IsPositionEmpty(new Vector3(nowCube.x, nowCube.y - 1, nowCube.z))) position.Add(new Vector3(nowCube.x, nowCube.y - 1, nowCube.z));
if (IsPositionEmpty(new Vector3(nowCube.x, nowCube.y, nowCube.z + 1))) position.Add(new Vector3(nowCube.x, nowCube.y, nowCube.z + 1));
if (IsPositionEmpty(new Vector3(nowCube.x, nowCube.y, nowCube.z - 1))) position.Add(new Vector3(nowCube.x, nowCube.y, nowCube.z - 1));
cubeToPlace.position = position[UnityEngineRandom.Range(0, positions.Count)]
}
private bool IsPositionEmpty(Vector3 targetPos) {
if (targetPos.y == 0) return false;
foreach(Vector3 pos in allCubesPositions) {
if (pos.x == targetPos.x && pos.y == targetPos.y && pos.z == targetPos.z) return false;
}
return true;
}
}
// CubePos удалил, тк он не используется, и смысла в нём нет
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HealthKit : MonoBehaviour
{
[SerializeField]
private int restoresHealth;
void OnCollisionEnter2D(Collision2D collision)
{
var player = collision.gameObject.getComponent<Player>();
if(player != null){
player.ReceiveHeal(restoresHealth);
Destroy(gameObject);
}
}
}
// Update is called once per frame
void Update()
{
if (curWaypointsIndex <= waypoints.Length) {
transform.position = Vector3.Lerp(transform.position, waypoints[curWaypointsIndex].position, Time.deltaTime * Speed);
if (Vector3.Distance(transform.position, waypoints[curWaypointsIndex].position) < 0.5f)
{
curWaypointsIndex++;
}
}
}
void OnCollisionEnter(Collision other)
{
var ground = other.gameObject.GetComponentInParent<Ground>();
if (ground)
this.isGrounded = true;
anim.SetBool("InAir", false);
runTrue = true;
}
void OnCollisionExit(Collision other)
{
var ground = other.gameObject.GetComponentInParent<Ground>();
if (ground)
this.isGrounded = false;
anim.SetBool("InAir", true);
runTrue = false;
}
Quaternion rot = transform.rotation;
rot.z = Mathf.Round(rot.z / 90) * 90;
transform.position = rot; // Взяли квартернион из rotation, и пытаемся изменить position...
Quaternion rot = transform.rotation;
rot.z = Mathf.Round(rot.z / 90) * 90;
transform.rotation = rot;
Типо можно обойтись без них
То есть каркас игры написать на c#, а все остальное - на c++.
Использовать только c# не вариант, с ним почти не знакома.
Помню я когда то ставил себе unity на линукс, но он лагал или что то подобное( возможно это как то исправить? Было года 2-3 назад )
все будет работать нормально при билде? Нет проблем с драйверами? У меня старая gt 425M, но для меня хватает.
Нормально ли unity работает с visual studio code?
womic вроде как должен работать с linux. Aseprite, ilistrator, возможно.
Какой линукс лучше? У меня 4 гб ddr3 и i-5 580M. Норм будет с ubuntu 20.04? Упор на производительность.
У меня рандомно генерируются комнаты