private void InstantiatePlayer(EntityManager manager, Entity playerEntity, Entity missileEntity) { // Instantiate Player. Entity playerInstance = manager.Instantiate(playerEntity); // Set Camera tracker characterTracker.GetComponent <CameraMovement>().SetReceivedEntity(playerInstance); // Set Hyperspace Jump manager.SetComponentData(playerInstance, new WarpingData { isPlayer = true, canvasHalfSize = CanvasSpace.CanvasHalfSize() }); // Set missile manager.SetComponentData(playerInstance, new EntityData { entity = missileEntity }); // Set Player Data manager.SetComponentData(playerInstance, new PlayerData { rotationSpeed = rotationSpeed, acceleration = acceleration, shootingCooldownTime = shootingCooldownTime, missileLifeSpan = missileLifeSpan, missileSpeed = missileSpeed }); // Give a name for debugging #if UNITY_EDITOR manager.SetName(playerInstance, "Player"); #endif }
public void LoadScene(string Scene) { letsGo = Scene; camInPlace = false; admob.InterstialShow(); switch (Scene) { case "Rating": cameraMove.enabled = false; Rating.SetActive(true); Space.SetActive(false); CanvasRating.SetActive(true); CanvasSpace.SetActive(false); transformCam = rCam.transform.position; addUser.Load(); displayPlayers.LoadPlayers(); break; case "Space": cameraMove.enabled = false; //Генерирует строку для сохранения планеты if (Planet.activeSelf) { SL.CollectionData("Planet0", PlanetInfo.GenerateStrPlanets()); } objTable.SetActive(false); Rating.SetActive(false); Space.SetActive(true); Planet.SetActive(false); CanvasPlanet.SetActive(false); CanvasRating.SetActive(false); CanvasSpace.SetActive(true); transformCam = sCam.transform.position; SL.LoadInfo(); break; case "Planet0": cameraMove.enabled = true; Planet.SetActive(true); Space.SetActive(false); CanvasPlanet.SetActive(true); CanvasSpace.SetActive(false); transformCam = pCam.transform.position; PlanetInfo.LoadInfo(); break; } }
private void PopulatePowerUps(EntityManager manager, Entity powerUpEntity, bool power, bool shield) { for (int i = 0; i < number; i++) { // Instantiate Entity. Entity PowerUpInstance = manager.Instantiate(powerUpEntity); // Position float3 randomPosition = float3.zero; int canvasHalfSize = CanvasSpace.CanvasHalfSize(); do // Prevent asteroid to awake overlaping player. { randomPosition = new float3(UnityEngine.Random.Range(-canvasHalfSize, canvasHalfSize), UnityEngine.Random.Range(-canvasHalfSize, canvasHalfSize), UnityEngine.Random.Range(-canvasHalfSize, canvasHalfSize) ); } while (math.distancesq(randomPosition, float3.zero) < 10000); manager.SetComponentData(PowerUpInstance, new Translation { Value = randomPosition }); // Rotation manager.SetComponentData(PowerUpInstance, new Rotation { Value = quaternion.identity }); // Scale manager.AddComponentData(PowerUpInstance, new NonUniformScale { Value = new float3(1, 1, 1) * size }); // Hyperspace Jump Data manager.SetComponentData(PowerUpInstance, new WarpingData { isPlayer = false, canvasHalfSize = canvasHalfSize }); manager.SetComponentData(PowerUpInstance, new CollectibleData { power = power, shield = shield }); } }
private void PopulateAsteroids(EntityManager manager, Entity asteroidEntity) { for (int i = 0; i < numberOfAsteroids; i++) { // Instantiate Entity. Entity asteroidInstance = manager.Instantiate(asteroidEntity); // Position float3 randomPosition = float3.zero; int canvasHalfSize = CanvasSpace.CanvasHalfSize(); do // Prevent asteroid to awake overlaping player. { randomPosition = new float3(UnityEngine.Random.Range(-canvasHalfSize, canvasHalfSize), UnityEngine.Random.Range(-canvasHalfSize, canvasHalfSize), UnityEngine.Random.Range(-canvasHalfSize, canvasHalfSize) ); } while (math.distancesq(randomPosition, float3.zero) < 10000); manager.SetComponentData(asteroidInstance, new Translation { Value = randomPosition }); // Rotation quaternion randomRotation = quaternion.Euler(UnityEngine.Random.onUnitSphere * 360); manager.SetComponentData(asteroidInstance, new Rotation { Value = randomRotation }); // Scale manager.AddComponentData(asteroidInstance, new NonUniformScale { Value = new float3(1, 1, 1) * asteroidRadius }); // Make sure min e max values won't break the code. float rotationSpeed = 0; try { rotationSpeed = UnityEngine.Random.Range(asteroidRotationSpeedMin, asteroidRotationSpeedMax); } catch { rotationSpeed = UnityEngine.Random.Range(asteroidRotationSpeedMax, asteroidRotationSpeedMin); } float asteroidSpeed = 0; try { asteroidSpeed = UnityEngine.Random.Range(asteroidSpeedMin, asteroidSpeedMax); } catch { asteroidSpeed = UnityEngine.Random.Range(asteroidSpeedMax, asteroidSpeedMin); } // Asteroid Data manager.SetComponentData(asteroidInstance, new AsteroidData { asteroidAxisRotation = UnityEngine.Random.onUnitSphere, asteroidSpeedRotation = rotationSpeed, asteroidDirection = UnityEngine.Random.onUnitSphere, asteroidSpeed = asteroidSpeed }); // Hyperspace Jump Data manager.SetComponentData(asteroidInstance, new WarpingData { isPlayer = false, canvasHalfSize = canvasHalfSize }); } }