Example #1
0
        void Update()
        {
            ray = CameraManager.Instance.MainCamera.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(ray, out hit))
            {
                CharacterControl control = hit.collider.gameObject.GetComponent <CharacterControl>();
                if (control != null)
                {
                    selectedCharacterType = control.playableCharacterType;
                }
                else
                {
                    selectedCharacterType = PlayableCharacterType.NONE;
                }
            }

            if (Input.GetMouseButtonDown(0))
            {
                if (selectedCharacterType != PlayableCharacterType.NONE)
                {
                    characterSelect.SelectedCharacterType   = selectedCharacterType;
                    characterSelectLight.transform.position = characterHoverLight.transform.position;
                    characterSelectLight.light.enabled      = true;
                }
                else
                {
                    characterSelect.SelectedCharacterType = PlayableCharacterType.NONE;
                    characterSelectLight.light.enabled    = false;
                }
            }
        }
Example #2
0
        void Update()
        {
            ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(ray, out hit))
            {
                CharacterControl control = hit.collider.gameObject.GetComponent <CharacterControl>();
                if (control != null)
                {
                    selectedCharacterType = control.playableCharacterType;
                }
                else
                {
                    selectedCharacterType = PlayableCharacterType.NONE;
                }
            }

            if (Input.GetMouseButtonDown(0))
            {
                if (hit.collider == null)
                {
                    return;
                }
                if (selectedCharacterType != PlayableCharacterType.NONE)
                {
                    characterSelect.SelectedCharacterType = selectedCharacterType;
                    CharacterControl control = CharacterManager.Instance.GetCharacter(selectedCharacterType);
                    characterSelectLight.transform.position = characterHoverLight.transform.position;
                    characterSelectLight.transform.parent   = control.SkinnedMeshAnimator.transform;
                    characterSelectLight.light.enabled      = true;
                    selectCircle.SetActive(true);
                    selectCircle.transform.parent        = control.SkinnedMeshAnimator.transform;
                    selectCircle.transform.localPosition = new Vector3(0f, 0f, 0f);
                }
                else
                {
                    characterSelect.SelectedCharacterType = PlayableCharacterType.NONE;
                    characterSelectLight.light.enabled    = false;
                    selectCircle.SetActive(false);
                }

                foreach (CharacterControl c in CharacterManager.Instance.Characters)
                {
                    if (c.playableCharacterType == selectedCharacterType)
                    {
                        c.SkinnedMeshAnimator.SetBool(TransitionParameter.Select.ToString(), true);
                    }
                    else
                    {
                        c.SkinnedMeshAnimator.SetBool(TransitionParameter.Select.ToString(), false);
                    }
                }
                characterSelectCameraAnimator.SetBool(selectedCharacterType.ToString(), true);
            }
        }
    public CharacterControl GetCharacter(PlayableCharacterType playableCharacterType)
    {
        foreach (CharacterControl control in characters)
        {
            if (control.playableCharacterType == playableCharacterType)
            {
                return(control);
            }
        }

        return(null);
    }