Example #1
0
    public void Apply()
    {
        LaserPartData laserPartData = GetLaserPartFromUI();

        _musicLevelSetup.musicLevel.GetBeat(_beatIndex).laser.SetLaserPart(laserPartData, _laserType);

        _musicLevelEditor.UpdateIndex();
    }
Example #2
0
    private LaserPartData CreateLaserPart(Vector2 startingPoint, Vector2 direction)
    {
        var laserPartData = new LaserPartData
        {
            StartPoint = startingPoint,
            Direction  = direction
        };

        return(laserPartData);
    }
Example #3
0
    public void SetLaserPart(LaserPartData laserPart, LaserTypes laserType)
    {
        switch (laserType)
        {
        case LaserTypes.PreLaser:
            preLaser = laserPart;
            LockProperties(laserPart, laserType);
            break;

        case LaserTypes.HitLaser:
            hitLaser = laserPart;
            LockProperties(laserPart, laserType);
            break;
        }
    }
Example #4
0
    public void LockProperties(LaserPartData laserPart, LaserTypes laserType)
    {
        switch (laserType)
        {
        case LaserTypes.PreLaser:
            hitLaser.angle  = laserPart.angle;
            hitLaser.radius = laserPart.radius;
            break;

        case LaserTypes.HitLaser:
            preLaser.angle  = laserPart.angle;
            preLaser.radius = laserPart.radius;
            break;
        }
    }
Example #5
0
    public LaserPartData GetLaserPart(LaserTypes laserType)
    {
        LaserPartData laserPart = new LaserPartData();

        switch (laserType)
        {
        case LaserTypes.PreLaser:
            laserPart = preLaser;
            break;

        case LaserTypes.HitLaser:
            laserPart = hitLaser;
            break;
        }

        return(laserPart);
    }
Example #6
0
    private LaserPartData GetLaserPartFromUI()
    {
        LaserPartData laserPart = new LaserPartData
        {
            angle      = int.Parse(angleInputField.text),
            radius     = int.Parse(radiusInputField.text),
            startColor = new Color(
                float.Parse(startColorRInputField.text) / 255,
                float.Parse(startColorGInputField.text) / 255,
                float.Parse(startColorBInputField.text) / 255,
                float.Parse(startColorAInputField.text)
                ),
            finalColor = new Color(
                float.Parse(finalColorRInputField.text) / 255,
                float.Parse(finalColorGInputField.text) / 255,
                float.Parse(finalColorBInputField.text) / 255,
                float.Parse(finalColorAInputField.text)
                ),
            forceFactor = int.Parse(forceFactorInputField.text),
            gravity     = int.Parse(gravityInputField.text)
        };

        switch (forceDirectionDropdown.value)
        {
        case 0:
            laserPart.forceDirection = LaserPartData.ForceDirections.forward;
            break;

        case 1:
            laserPart.forceDirection = LaserPartData.ForceDirections.backward;
            break;

        case 2:
            laserPart.forceDirection = LaserPartData.ForceDirections.left;
            break;

        case 3:
            laserPart.forceDirection = LaserPartData.ForceDirections.right;
            break;
        }

        return(laserPart);
    }
Example #7
0
    public void Preset(int beatIndex)
    {
        LaserPartData laserPartData = _musicLevelSetup.musicLevel.GetBeat(beatIndex).laser.GetLaserPart(_laserType);

        angleInputField.text  = laserPartData.angle.ToString();
        radiusInputField.text = laserPartData.radius.ToString();

        startColorRInputField.text = (laserPartData.startColor.r * 255).ToString();
        startColorGInputField.text = (laserPartData.startColor.g * 255).ToString();
        startColorBInputField.text = (laserPartData.startColor.b * 255).ToString();
        startColorAInputField.text = (laserPartData.startColor.a).ToString();

        finalColorRInputField.text = (laserPartData.finalColor.r * 255).ToString();
        finalColorGInputField.text = (laserPartData.finalColor.g * 255).ToString();
        finalColorBInputField.text = (laserPartData.finalColor.b * 255).ToString();
        finalColorAInputField.text = (laserPartData.finalColor.a).ToString();

        switch (laserPartData.forceDirection)
        {
        case LaserPartData.ForceDirections.forward:
            forceDirectionDropdown.value = 0;
            break;

        case LaserPartData.ForceDirections.backward:
            forceDirectionDropdown.value = 1;
            break;

        case LaserPartData.ForceDirections.left:
            forceDirectionDropdown.value = 2;
            break;

        case LaserPartData.ForceDirections.right:
            forceDirectionDropdown.value = 3;
            break;
        }
        forceFactorInputField.text = laserPartData.forceFactor.ToString();
        gravityInputField.text     = laserPartData.gravity.ToString();
    }
Example #8
0
    public void CreateLaser(GameObject laser, LaserPartData laserPartData, int beatIndex, bool activateLaser)
    {
        Transform        currentPreLaser  = SpawnAroundObject.Spawn(laser, laserPartData.angle, laserPartData.radius);
        LaserInitializer laserInitializer = currentPreLaser.GetComponent <LaserInitializer>();

        laserInitializer.index = beatIndex;

        if (laser == preLaser)
        {
            laserInitializer.InitializeLaserPartData(_musicLevelSetup.musicLevel.GetBeat(beatIndex).laser.GetLaserPart(LaserTypes.PreLaser));
        }

        if (laser == hitLaser)
        {
            laserInitializer.InitializeLaserPartData(_musicLevelSetup.musicLevel.GetBeat(beatIndex).laser.GetLaserPart(LaserTypes.HitLaser));
        }

        if (activateLaser)
        {
            laserInitializer.ActivateLaser();
        }

        if (!activateLaser)
        {
            if (laser == preLaser)
            {
                LaserSpawnEvent?.Invoke(LaserTypes.PreLaser);
            }
            //laserInitializer.CreateUI(beatIndex, LaserTypes.PreLaser);
            if (laser == hitLaser)
            {
                LaserSpawnEvent?.Invoke(LaserTypes.HitLaser);
            }
            //laserInitializer.CreateUI(beatIndex, LaserTypes.HitLaser);
        }
    }