Inheritance: MonoBehaviour
    private void UpdateDetection()
    {
        RaycastHit hit;

        if (Physics.Raycast(transform.position, transform.forward * 20, out hit, 20f, detectionMask))
        {
            hasInSight     = true;
            detectionPoint = hit.point;

            hoveredButton = hit.transform.GetComponent <GenericButton>();
            if (hoveredButton != null)
            {
                hasButtonOutlined = true;
                hoveredButton.OnHover();
            }
        }
        else
        {
            if (hasButtonOutlined)
            {
                disableAllOutlines?.Invoke();
                hasButtonOutlined = false;
            }
            hasInSight    = false;
            hoveredButton = null;
        }
    }
    public void AddButton(string label, System.Action onPress)
    {
        GenericButton button = ObjectPool.Instantiate <GenericButton> ();

        button.Init(label, onPress);
        Add <GenericButton> (button);
    }
Exemple #3
0
 public static bool GetButton(GenericButton button, OuyaPlayer p = OuyaPlayer.P01)
 {
     switch (button)
     {
         case GenericButton.O:
             return OuyaInput.GetButton(OuyaButton.O, p) || Input.GetButton("O");
             break;
         case GenericButton.U:
             return OuyaInput.GetButton(OuyaButton.U, p) || Input.GetButton("U");
             break;
         case GenericButton.Y:
             return OuyaInput.GetButton(OuyaButton.Y, p) || Input.GetButton("Y");
             break;
         case GenericButton.A:
             return OuyaInput.GetButton(OuyaButton.A, p) || Input.GetButton("A");
             break;
         case GenericButton.LB:
             return OuyaInput.GetButton(OuyaButton.LB, p) || Input.GetButton("LB");
             break;
         case GenericButton.RB:
             return OuyaInput.GetButton(OuyaButton.RB, p) || Input.GetButton("RB");
             break;
         case GenericButton.L3:
             return OuyaInput.GetButton(OuyaButton.L3, p) || Input.GetButton("L3");
             break;
         case GenericButton.R3:
             return OuyaInput.GetButton(OuyaButton.R3, p) || Input.GetButton("R3");
             break;
         case GenericButton.LT:
             return OuyaInput.GetButton(OuyaButton.LT, p) || Input.GetButton("LT");
             break;
         case GenericButton.RT:
             return OuyaInput.GetButton(OuyaButton.RT, p) || Input.GetButton("RT");
             break;
         case GenericButton.DU:
             return OuyaInput.GetButton(OuyaButton.DU, p) || Input.GetButton("DU");
             break;
         case GenericButton.DD:
             return OuyaInput.GetButton(OuyaButton.DD, p) || Input.GetButton("DD");
             break;
         case GenericButton.DL:
             return OuyaInput.GetButton(OuyaButton.DL, p) || Input.GetButton("DL");
             break;
         case GenericButton.DR:
             return OuyaInput.GetButton(OuyaButton.DR, p) || Input.GetButton("DR");
             break;
         case GenericButton.START:
             return OuyaInput.GetButton(OuyaButton.START, p) || Input.GetButton("START");
             break;
         case GenericButton.SELECT:
             return OuyaInput.GetButton(OuyaButton.SELECT, p) || Input.GetButton("SELECT");
             break;
         case GenericButton.SYSTEM:
             return OuyaInput.GetButton(OuyaButton.SYSTEM, p) || Input.GetButton("SYSTEM");
             break;
         default:
             return false;
             break;
     }
 }
    // For when the button gets pressed
    public void ButtonPress(string token, GenericButton sender)
    {
        // Move bodies
        if (token == "Left")
        {
            trackControl.LeftPress();
        }
        if (token == "Right")
        {
            trackControl.RightPress();
        }
        if (token == "Select")
        {
            this.Select();
        }

        // pick body types
        if (token == "Androg")
        {
            this.SwitchBodyType(0);
        }
        if (token == "Male")
        {
            this.SwitchBodyType(1);
        }
        if (token == "Female")
        {
            this.SwitchBodyType(2);
        }
    }
Exemple #5
0
    // Called every frame
    void Update()
    {
        // Clear if we have multiple
        if (emoteButtons.Count > 1)
        {
            emoteButtons.Clear();
        }

        // IF the trigger is pressed
        if (SteamVR_Actions._default.TriggerPress.GetStateDown(hand))
        {
            // This is litrally disgusting, do not look bellow 😞

            // If we are just interacting with exactly 1 button
            if (collidedButtons.Count == 1)
            {
                collidedButtons[0].PressButton();                 // Go to the button script and do what it says
                try
                {
                    GenericButton gb = (GenericButton)collidedButtons[0];
                    if (gb.GetSpecailSound() == "Outfit")
                    {
                        audioSorces[1].volume = ((PlayerPrefs.GetInt("MusicVol") + 10) / 10.0f) / 2f;
                        audioSorces[1].Play();
                        //Debug.Log(audioSorces[1].clip.name + " Played at vol: " + audioSorces[1].volume);
                        return;
                    }
                }
                catch
                {
                    try
                    {
                        CosmeticSelectionButton gb = (CosmeticSelectionButton)collidedButtons[0];
                        audioSorces[2].volume = ((PlayerPrefs.GetInt("MusicVol") + 10) / 10.0f) / 2f;
                        audioSorces[2].Play();
                        //Debug.Log(audioSorces[2].clip.name + " Played at vol: " + audioSorces[2].volume);
                        return;
                    }
                    catch { }
                }
                //audioSorce.pitch = Random.Range(.95f, 1.05f);
                audioSorces[0].volume = ((PlayerPrefs.GetInt("MusicVol") + 10) / 10.0f) / 4f;
                audioSorces[0].Play();
                //Debug.Log(audioSorces[0].clip.name + " Played at vol: " + audioSorces[0].volume);
            }
        }

        // If the track pad is pressed (For emote selection)
        if (SteamVR_Actions._default.TrackPadPress.GetStateDown(hand))
        {
            // If we are just interacting with exactly 1 button
            if (emoteButtons.Count == 1)
            {
                emoteButtons[0].PressButton(tPad.GetAxis(hand));                 // Go to the button script and do what it says
                audioSorces[0].volume = ((PlayerPrefs.GetInt("MusicVol") + 10) / 10.0f) / 4f;
                audioSorces[0].Play();
            }
        }
    }
Exemple #6
0
    void OnLevelButtonClick(GenericButton button)
    {
        int index = 0;

        _levelDico.TryGetValue(button, out index);
        LevelManager.Instance.SetLevel(index);
        SceneManager.LoadScene("MainScene", LoadSceneMode.Single);
    }
Exemple #7
0
        public FancyCharacterEditor()
        {
            InitializeComponent();

            drawWindow1.Paint += drawWindow1_Paint;
            m_button           = new GenericButton(() => drawWindow1.DisplayRectangle, (r, g) => DrawButton(r, g, false, m_value), LaunchEditor);
            m_button.RegisterCallbacks(this, drawWindow1);
            m_editor = new FancyEnumForm();
        }
    void TryPushNearbyButton()
    {
        float         maxButtonPressRange = 25f;
        GenericButton bta = ButtonCloseby(maxButtonPressRange);

        if (bta)
        {
            bta.PressMe();
        }
    }
Exemple #9
0
 private void ClearAllButtons(GenericButton excludeButton)
 {
     // Deselect all but the excluded button
     for (int i = 0; i < buttons.Length; i++)
     {
         if (buttons[i] != excludeButton)
         {
             buttons[i].Deselect();
         }
     }
 }
Exemple #10
0
 /// <summary>
 /// Deselect all the warm up buttons
 /// </summary>
 private void DeslectDomHandButtons(GenericButton excludeButton)
 {
     // Deselect all but the excluded button
     for (int i = 0; i < domHandButtons.Length; i++)
     {
         if (domHandButtons[i] != excludeButton)
         {
             domHandButtons[i].Deselect();
         }
     }
 }
Exemple #11
0
 /// <summary>
 /// Deselect the given button set
 /// </summary>
 private void DeselectButtonSet(GenericButton[] bSet, GenericButton excludeButton)
 {
     // Deselect all but the excluded button
     for (int i = 0; i < bSet.Length; i++)
     {
         if (bSet[i] != excludeButton)
         {
             bSet[i].Deselect();
         }
     }
 }
Exemple #12
0
 /// <summary>
 /// Set the game mode via player prefs
 /// </summary>
 public void ButtonPress(string token, GenericButton sender)
 {
     this.ClearAllButtons(sender);
     if (token == "Squat")
     {
         PlayerPrefs.SetInt(Constants.cardioMode, 0);
     }
     else
     {
         PlayerPrefs.SetInt(Constants.cardioMode, 1);
     }
 }
Exemple #13
0
    public void ButtonPress(string token, GenericButton sender)
    {
        // If clicking the next button
        if (token == "Next")
        {
            lbIndex++;
            if (lbIndex == lbHandels.Length)
            {
                lbIndex = 0;
            }

            leaderBoard.ChangeScoreBoard(lbHandels[lbIndex], lbNames[lbIndex]);
        }
    }
Exemple #14
0
    // Start is called before the first frame update
    void Start()
    {
        _levelDico = new Dictionary <GenericButton, int>();

        List <LevelBinding> bindings = LevelManager.Instance.GetLevelBindings();
        int index = 0;

        foreach (LevelBinding binding in bindings)
        {
            GenericButton levelButton = Instantiate(_genericButton, Vector3.zero, Quaternion.identity, _panel.transform);
            levelButton.SetText(binding.levelData.GetLevelName());
            levelButton.SetOnClickCallback(OnLevelButtonClick);
            _levelDico.Add(levelButton, index);
            index++;
        }
    }
    public void ButtonPress(string token, GenericButton sender)
    {
        if (token == "Left" || token == "Right")
        {
            this.LeftRightPress(token);
        }

        if (token == "BackSpace")
        {
            this.BackSpace();
        }

        if (token == "Next")
        {
            this.Next();
        }
    }
Exemple #16
0
    public void ButtonPress(string buttonToken, GenericButton sender)
    {
        // Set the dom hand
        if (buttonToken == "DomLeft" || buttonToken == "DomRight")
        {
            this.DeslectDomHandButtons(sender);
            this.DomHandPress(buttonToken);
        }

        if (buttonToken == "WeightDown" || buttonToken == "WeightUp")
        {
            this.WeightUpDownPress(buttonToken);
        }

        if (buttonToken == "CalorieCounter")
        {
            this.CalorieCounterPress();
        }
    }
Exemple #17
0
    public GenericButton ButtonCloseby(float maxPickupRange)
    {
        // was there ammo right in front of me and I was pointing at it?
        RaycastHit hit = new RaycastHit();
        Ray        ray = new Ray(Camera.main.transform.position, Camera.main.transform.forward);

        //		Debug.Log("ray:"+ray);
        if (Physics.SphereCast(ray, 1f, out hit, maxPickupRange))
        {
            //			Debug.Log("hit:"+hit.collider.name);
            GenericButton bta = hit.collider.transform.root.gameObject.GetComponentInChildren <GenericButton>();
            if (bta)
            {
                // don't allow us to pick up items too far over our own head.
                return(bta);
            }
        }
        return(null);
    }
Exemple #18
0
 public void ButtonPress(string token, GenericButton sender)
 {
     if (token.Contains("Gym"))
     {
         this.DeselectButtonSet(gymButtons, sender);
     }
     else
     {
         GenericButton gb = this.FindButtonWithToken(token, songButtons);
         if (gb.IsSelected() == false)
         {
             if (this.AtleastOneSelected(songButtons) == false)
             {
                 gb.ForceSelect();
                 gb.Select();
             }
         }
     }
 }
 void Done()
 {
     if (Current == EBG.P1)
     {
         label.text = EBG.P2.PlayerName;
         //EBG.P2.SetProtoType(EBG.P2.robot);
         Current = EBG.P2;
         tempWeapon = null;
         label.color = EBG.P2.playerColor;
         if (selected != null)
         {
             selected.GetComponent<ButtonHighlight>().UnSelect();
             selected = null;
         }
     }
     else
     {
         //EBG.P1.SetProtoType(EBG.P1.robot);
         Application.LoadLevel("Battle_forest");
     }
 }
 void OnButtonPress(GenericButton button)
 {
     if (button == selected)
     {
         selected.GetComponent<ButtonHighlight>().UnSelect();
         selected = null;
     }
     else if (buttons.Contains(button))
     {
         if (selected != null)
         {
             selected.GetComponent<ButtonHighlight>().UnSelect();
             selected = null;
         }
         selected = button;
         selected.GetComponent<ButtonHighlight>().Select();
         SetWeapon(button);
     }
     else if (button == doneButton) Done();
     else if (button == introButton) Application.LoadLevel(1);
     else if (button == creditsButtons) Application.LoadLevel("Credits");
 }
    void SetWeapon(GenericButton button)
    {
        if (tempWeapon != null) Destroy(tempWeapon);

        Transform parent = Current.prototype.primaryPlace;

        int j = 0;
        while (parent.childCount > 0)
        {
            j++;
            Destroy(parent.GetChild(0).gameObject);
            if (j > 4) break;
        }

        int index = buttons.IndexOf(button);
        tempWeapon = Instantiate(buttonWeapons[index], parent.position, parent.rotation) as GameObject;
        tempWeapon.transform.parent = parent;
    }
 void HandleOnTouchEnded(GenericButton arg1)
 {
     Done ();
 }
 void OnButtonPress(GenericButton button)
 {
     Application.LoadLevel(2);
 }
Exemple #24
0
    public bool AddPlayerInput(int input, GameObject obj)
    {
        if (accessGranted)
        {
            return(true);
        }

        buttons.Add(obj);
        playerSequence.Add(input);

        bool isValidCode = true;

        for (int i = 0; i < playerSequence.Count; ++i)
        {
            if (playerSequence[i] != sequence[i])
            {
                // WRONG INPUT
                playerSequence.Clear();
                isValidCode = false;

                // consoleScript.QueueMessage("INVALID CODE", 0.0f, false, true);
                break;
            }
            if (i == 2)
            {
                //Console.Write("ACCESS GRANTED!");
                accessGranted = true;
                door1Script.UnlockDoor();
                door1Script.isOneWayDoor = false; // Do not lock anymore
                door2Script.UnlockDoor();
                lightAtDoor.setEnabled(true);
                foreach (CLight light in lights)
                {
                    light.setEnabled(true);
                }
                geneticsAccessLeftLight.SetDiffuse(SharpMocha.GREEN);
                consoleScript.QueueMessage("Access sequence accepted.", 0.0f, false, true);
                buttons.Clear();

                sound.PlayIndependentEvent("BUTTON_GREEN.vente", false, 0); // Access Granted sound

                // Activate checkpoint at the door
                checkpointScript.isActive = true;
                cFace.setEnabled(true);
            }
        }
        // If incorrect, reset all buttons
        if (!isValidCode)
        {
            foreach (GameObject go in buttons)
            {
                GenericButton buttonScript = GetScript <GenericButton>(go);
                if (buttonScript != null)
                {
                    buttonScript.ResetButton();
                }
            }
            buttons.Clear();
        }

        return(isValidCode);
    }