Exemple #1
0
 public void ReceivedVerb(Component source, LifeformManager.EControlVerbs Verb, int data)
 {
     if (source.gameObject.transform.IsChildOf(this.transform))
     {
         //there's probably an easier way but eh
         if (source == topHighPassKnob)
         {
             SetHighPass(true, topHighPassKnob.value);
         }
         else if (source == bottomHighPassKnob)
         {
             SetHighPass(false, bottomHighPassKnob.value);
         }
         else if (source == topLowPassKnob)
         {
             SetLowPass(true, topLowPassKnob.value);
         }
         else if (source == bottomLowPassKnob)
         {
             SetLowPass(false, bottomLowPassKnob.value);
         }
         else if (source == volumeSlider)
         {
             SetVolume(volumeSlider.Value);
         }
         else if (source == pitchSlider)
         {
             SetPitch(pitchSlider.Value);
         }
         else if (source == distortionSlider)
         {
             SetDistortion(distortionSlider.Value);
         }
     }
 }
Exemple #2
0
 public bool HandleVerb(Component Source, LifeformManager.EControlVerbs Verb, int Data)
 {
     if (currentState != null)
     {
         return(currentState.HandleVerb(Source, Verb, Data));
     }
     return(false);
 }
Exemple #3
0
 public bool HandleVerb(Component Source, LifeformManager.EControlVerbs Verb, int Data)
 {
     if (Verb == LifeformManager.EControlVerbs.READY_TANK && !owner.workingLock)
     {
         owner.stateMachine.ChangeState(new State_Tank_Ready(owner));
         return(true);
     }
     return(false);
 }
Exemple #4
0
    public void ReceivedVerb(Component source, LifeformManager.EControlVerbs Verb, int data)
    {
        if (!puzzleActive || IsCompleted)
        {
            return;
        }

        if (source.gameObject.transform.IsChildOf(this.transform))
        {
            Mole mole = null; //the mole that was pressed
            foreach (Mole m in moleList)
            {
                if (m.mole == source.transform)
                {
                    mole = m;
                    break;
                }
            }

            if (mole == null || mole.struck == true)
            {
                return;
            }

            molesHit++;
            mole.struck = true;
            SFXPlayer.Instance.PlayHeavyButtonNoise(mole.mole.position);
            foreach (Mole m in moleList)
            {
                if (m.mole.GetComponent <MeshRenderer>().material.color != victoryColor)
                {
                    m.mole.GetComponent <MeshRenderer>().material.color = Color.Lerp(weakColor, strongColor, molesHit / (float)molesToWin);
                }
            }
            mole.mole.GetComponent <MeshRenderer>().material.color = victoryColor;
            GameObject go = (GameObject)Instantiate(explosionEffect, mole.mole.position, transform.rotation); //spawn explosion
            go.transform.localScale = mole.mole.lossyScale;

            if (molesHit >= molesToWin)
            {
                IsCompleted = true;
                SFXPlayer.Instance.PositiveSound(transform.position);
                Signals.Get <PuzzleComplete>().Dispatch(this);
                foreach (Mole m in moleList)
                {
                    if (m.moleMode != Mole.Mole_CurrentMode.RAISING && m.moleMode != Mole.Mole_CurrentMode.RAISED)
                    {
                        m.animationTime = 0f;
                        m.moleMode      = Mole.Mole_CurrentMode.RAISING;
                    }
                    m.mole.GetComponent <MeshRenderer>().material.color = victoryColor;
                }
            }
        }
    }
Exemple #5
0
 public bool HandleVerb(Component Source, LifeformManager.EControlVerbs Verb, int Data)
 {
     if (Verb == LifeformManager.EControlVerbs.PUZZLE_COMPLETE)
     {
         HandlePuzzleCompleted(Source);
     }
     else if (Verb == LifeformManager.EControlVerbs.PUZZLE_ERROR)
     {
         HandlePuzzleError(Source);
     }
     return(false);
 }
Exemple #6
0
    public void ReceivedVerb(Component source, LifeformManager.EControlVerbs Verb, int data)
    {
        if (source != null && source.gameObject.transform.IsChildOf(this.transform))
        {
            if (!IsCompleted)
            {
                if (MarkedButtons.Contains(source.gameObject))
                {
                    SFXPlayer.Instance.PlayButtonNoise(source.transform.position);
                    if (AlreadyPickedButtons.Contains(source.gameObject) == false)
                    {
                        AlreadyPickedButtons.Add(source.gameObject);
                        PressesReceived++;
                        Instantiate(SuccessParticle, source.transform);
                        source.transform.DOShakePosition(0.2f, 0.01f, 30);
                        SFXPlayer.Instance.PositiveSound(source.transform.position);
                        MeshRenderer FoundRenderer = source.gameObject.GetComponentInChildren <MeshRenderer>();
                        if (FoundRenderer)
                        {
                            FoundRenderer.material = ButtonOffMaterial;
                        }

                        if (PressesReceived >= PressesRequired)
                        {
                            PuzzleComplete();
                        }
                    }
                }
                else
                {
                    PuzzleError();
                    SFXPlayer.Instance.NegativeSound(source.transform.position);
                    if (ErrorParticle != null)
                    {
                        Instantiate(ErrorParticle, source.transform);
                    }
                    source.transform.DOShakePosition(0.5f, 0.1f, 30);
                }
            }
            else if (MarkedButtons.Contains(source.gameObject))
            {
                SFXPlayer.Instance.PlayButtonNoise(source.transform.position);
            }
            // It's my child.
        }

        // ignore if not my child.
    }
 public bool HandleVerb(Component Source, LifeformManager.EControlVerbs Verb, int Data)
 {
     if (Verb == LifeformManager.EControlVerbs.DISMISS_TANK && !owner.workingLock)
     {
         owner.stateMachine.ChangeState(new State_Tank_Dismissed(owner));
     }
     else if (Verb == LifeformManager.EControlVerbs.SELF_DESTRUCT_TANK)
     {
         if (LifeformManager.Instance.IsLifeFormDestroyed == false)
         {
             SFXPlayer.Instance.ExplosionSound(LifeformManager.Instance.transform.position);
             LifeformManager.Instance.stateMachine.ChangeState(new State_LifeForm_Destroyed(LifeformManager.Instance));
             return(true);
         }
     }
     return(false);
 }
    public void ReceivedVerb(Component source, LifeformManager.EControlVerbs Verb, int data)
    {
        if (source.gameObject.transform.IsChildOf(this.transform))
        {
            this.transform.DOShakePosition(0.2f, 0.01f, 30);
            SFXPlayer.Instance.PlayButtonNoise(source.transform.position);
            if (!IsCompleted)
            {
                PressesReceived++;

                Instantiate(SuccessParticle, source.transform);
                if (PressesReceived >= PressesRequired)
                {
                    PuzzleComplete();
                }
            }
            // It's my child.
        }

        // ignore if not my child.
    }
    public void ListenForKnobs(Component source, LifeformManager.EControlVerbs verb, int id)
    {
        if (source.gameObject.transform.IsChildOf(this.transform))
        {
            if (!IsCompleted)
            {
                CalculateValue();
                var diff = currentValue - correctValue;
                LightLamp(diff);

                Debug.Log("current value: " + currentValue);

                if (diff == 0f)
                {
                    SFXPlayer.Instance.PositiveSound(this.transform.position);
                    SFXPlayer.Instance.PlayHeavyButtonNoise(this.transform.position);
                    PuzzleComplete();
                }
            }
        }
    }
Exemple #10
0
 public bool HandleVerb(Component Source, LifeformManager.EControlVerbs Verb, int Data)
 {
     return(false);
 }
Exemple #11
0
 public bool HandleVerb(Component Source, LifeformManager.EControlVerbs Verb, int Data)
 {
     Debug.Log("updating State_LifeForm_Egg state with verb " + Verb.ToString());
     return(false);
 }
Exemple #12
0
 public void ReceivedVerb(Component source, LifeformManager.EControlVerbs Verb, int data)
 {
     if (source.gameObject.transform.IsChildOf(this.transform))
     {
     }
 }
    public void ReceivedVerb(Component source, LifeformManager.EControlVerbs Verb, int data)
    {
        //Debug.Log("LifeFormTank received verb " + Verb.ToString());

        stateMachine.HandleVerb(source, Verb, data);
    }