예제 #1
0
    public void OnSynapseModeChanged(SynapseMode newSynapseMode)
    {
        StopAllCoroutines();

        this.ElectricParticleEffect.Stop();

        MeshRenderer renderer = GetComponent <MeshRenderer>();

        switch (newSynapseMode)
        {
        case SynapseMode.OneTimePositive:
            renderer.material = BlueSynapse;//Resources.Load<Material>("BlueSynapse");
            break;

        case SynapseMode.OneTimeNegative:
            renderer.material = RedSynapse;//Resources.Load<Material>("RedSynapse");
            break;

        case SynapseMode.RepetitivePositive:
            StartCoroutine(this.BlinkSynapse());
            break;

        case SynapseMode.Neutral:
            renderer.material = NeutralSynapse;//Resources.Load<Material>("SynapseBase");
            break;

        case SynapseMode.RepetitivePositiveTutorial:
            StartCoroutine(this.BlinkSynapseTutorial());
            break;
        }

        this.TurnOnElectricParticles(newSynapseMode);
        this.ToggleAuraParticleEffect(newSynapseMode);
    }
예제 #2
0
    private void ToggleAuraParticleEffect(SynapseMode newSynapseMode)
    {
        Color newColor = Color.white;

        switch (newSynapseMode)
        {
        case SynapseMode.OneTimePositive:
            newColor = new Color32(0x0A, 0x52, 0x73, 0xFF);
            break;

        case SynapseMode.OneTimeNegative:
            newColor = new Color32(0xAD, 0x3A, 0x3A, 0xFF);
            break;

        case SynapseMode.RepetitivePositive:
            newColor = new Color32(0x00, 0x22, 0xFF, 0xFF);
            break;

        case SynapseMode.Neutral:
            this.AuraParticleEffect.Stop();
            return;

        case SynapseMode.RepetitivePositiveTutorial:
            newColor = new Color32(0x00, 0x22, 0xFF, 0xFF);
            break;
        }

        //ParticleSystem.startcol particleColor = this.AuraParticleEffect.colorOverLifetime;
        //particleColor.color = newGradient;
        ParticleSystem.MainModule mainParticle = this.AuraParticleEffect.main;
        mainParticle.startColor = newColor;
        this.AuraParticleEffect.Play();
    }
예제 #3
0
    private void TurnOnElectricParticles(SynapseMode newSynapseMode)
    {
        Gradient newGradient = new Gradient();

        switch (newSynapseMode)
        {
        case SynapseMode.OneTimePositive:
            newGradient.SetKeys(new GradientColorKey[] { new GradientColorKey(new Color32(0xFF, 0xFF, 0xFF, 0xFF), 0.0f),
                                                         new GradientColorKey(new Color32(0x00, 0xB8, 0xE2, 0xFF), 1.0f) },
                                new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(1.0f, 1.0f) });
            break;

        case SynapseMode.OneTimeNegative:
            newGradient.SetKeys(new GradientColorKey[] { new GradientColorKey(new Color32(0xFF, 0xFF, 0xFF, 0xFF), 0.0f),
                                                         new GradientColorKey(new Color32(0xFF, 0x36, 0x36, 0xFF), 1.0f) },
                                new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(1.0f, 1.0f) });
            break;

        case SynapseMode.RepetitivePositive:
            newGradient.SetKeys(new GradientColorKey[] { new GradientColorKey(new Color32(0xFF, 0xFF, 0xFF, 0xFF), 0.0f),
                                                         new GradientColorKey(new Color32(0x00, 0xB8, 0xE2, 0xFF), 1.0f) },
                                new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(1.0f, 1.0f) });
            break;

        case SynapseMode.Neutral:
            this.ElectricParticleEffect.Stop();
            return;

        case SynapseMode.RepetitivePositiveTutorial:
            newGradient.SetKeys(new GradientColorKey[] { new GradientColorKey(new Color32(0xFF, 0xFF, 0xFF, 0xFF), 0.0f),
                                                         new GradientColorKey(new Color32(0x00, 0xB8, 0xE2, 0xFF), 1.0f) },
                                new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(1.0f, 1.0f) });
            break;
        }

        ParticleSystem.ColorOverLifetimeModule particleColor = this.ElectricParticleEffect.colorOverLifetime;
        particleColor.color = newGradient;
        this.ElectricParticleEffect.Play();
    }
예제 #4
0
    public void OnSynapseTouched(SynapseMode touchedSynapseMode)
    {
        switch (touchedSynapseMode)
        {
        case SynapseMode.OneTimePositive:
            PositiveParticleEffect.Play();
            break;

        case SynapseMode.OneTimeNegative:
            NegativeParticleEffect.Play();
            break;

        case SynapseMode.RepetitivePositive:
            PositiveParticleEffect.Play();
            break;

        case SynapseMode.Neutral:
            break;
        }

        this.audioPlayer.pitch = GameManager.GetRandomPitch();
        this.audioPlayer.Play();
    }
예제 #5
0
파일: Synapse.cs 프로젝트: jslawski/ldjam44
 public void SetSynapseMode(SynapseMode modeToSet)
 {
     Mode = modeToSet;
     Illuminator.OnSynapseModeChanged(modeToSet);
 }