Пример #1
0
        private void Release(object sender, object args)
        {
            _currentWorkbench = null;
            _character.Mover.Enable();

            _character.Animator.SetTrigger("StopRepair");
        }
Пример #2
0
        private void Repair(object sender, object args)
        {
            RaycastHit hit;

            // Does the ray intersect any objects excluding the player layer
            if (Physics.Raycast(transform.position, transform.forward, out hit, _raycastDistance, LayerMask.GetMask("Workbench")))
            {
                var workbench = hit.collider.GetComponent <C_Workbench>();
                if (workbench)
                {
                    _character.Animator.SetTrigger("StartRepair");

                    _character.Mover.Disable();
                    workbench.OnRepair(this.gameObject);
                    _currentWorkbench = workbench;
                    if (workbench.GetWorkbenchType() == ObjectType.LEFT_ARM || workbench.GetWorkbenchType() == ObjectType.RIGHT_ARM)
                    {
                        SoundManager.PlaySound(SoundList.Sound.workbenchturn, this.gameObject, false);
                    }
                    else
                    {
                        SoundManager.PlaySound(SoundList.Sound.workbenchtap, this.gameObject, false);
                    }
                }
            }
        }
Пример #3
0
 private void OnTriggerExit(Collider other)
 {
     CurrentWorkbench = null;
 }
Пример #4
0
 private void OnTriggerEnter(Collider other)
 {
     CurrentWorkbench = other.GetComponent <C_Workbench>();
 }