Esempio n. 1
0
    int GetNumberOfGrabbablesWithType(GrabbableObjectType type)
    {
        List <CircuitPiece> grabbablesInThisGrid = GetChildrenWithComponent <CircuitPiece>();
        int count = 0;

        foreach (CircuitPiece obj in grabbablesInThisGrid)
        {
            if (obj.type == type)
            {
                count++;
            }
        }

        return(count);
    }
        private void CheckClosestObject()
        {
            Vector3             currentPos            = _transform.position;
            GrabbableObjectType bestDistanceGrabbable = null;
            float calculatedDistance;
            float bestDistance = float.PositiveInfinity;

            for (int i = 0; i < _sceneObjects.Count; i++)
            {
                if (_sceneObjects[i].Type == EGrabbableObjects.None)
                {
                    continue;
                }

                calculatedDistance = Vector3.Distance(_sceneObjects[i].SceneGO.transform.position, currentPos);
                if (calculatedDistance < _settings.CharacterSettings.MaxGrabDistance && calculatedDistance < bestDistance)
                {
                    bestDistance          = calculatedDistance;
                    bestDistanceGrabbable = _sceneObjects[i];
                }
            }

            ClosestGrabbable = bestDistanceGrabbable;
        }