Beispiel #1
0
    private void Update()
    {
        if (!isServer)
        {
            return;
        }
        var currentHitObjects = bangRay.Cast();

        foreach (var hitObject in currentHitObjects)
        {
            var gameElement = hitObject.transform.gameObject.GetParent();
            if (hitObjects.Contains(gameElement))
            {
                continue;
            }
            Callback(gameElement);
        }
    }
    private Boolean CanResetTrigger()
    {
        var size           = boxCollider.transform.localScale.z;
        var halfSize       = size / 2;
        var centerPosition = gameObject.GetIntegerPosition();
        var planeRay       = new PlaneRay(centerPosition, new Vector3(0, 0, halfSize), Vector3.forward)
        {
            Distance      = size,
            HalfLengthBox = halfSize
        };

        foreach (var hitElement in planeRay.Cast())
        {
            var hitObject = hitElement.transform.gameObject.GetParent();
            if (hitObject.CompareTag(Player.tag))
            {
                return(false);
            }
        }
        return(true);
    }