Exemplo n.º 1
0
    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
    }
Exemplo n.º 2
0
    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;
        }
    }
Exemplo n.º 3
0
    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
            });
        }
    }
Exemplo n.º 4
0
    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
            });
        }
    }