Beispiel #1
0
    protected override void Impact(Vector3 point, Vector3 normal, GameObject collisionObject, int collisionObjectLayer)
    {
        if (collisionObjectLayer == playerLayer || collisionObjectLayer == entityLayer)
        {
            EntityModifierHandler modifierHandler = collisionObject.GetComponent <EntityModifierHandler>();

            if (modifierHandler != null)
            {
                Modifier slowModifierInstance = UnityEngine.Object.Instantiate(slowModifier) as Modifier;
                modifierHandler.RegisterModifier(slowModifierInstance);
            }
        }

        base.Impact(point, normal, collisionObject, collisionObjectLayer);
    }
Beispiel #2
0
    void ApplyBlinkStun(Vector3 blinkOrigin, Vector3 blinkDestination)
    {
        Vector3 toDestination = blinkDestination - blinkOrigin;

        RaycastHit[] hits = Physics.RaycastAll(blinkOrigin, toDestination, toDestination.magnitude, entityLayermask);

        for (int i = 0; i < hits.Length; i++)
        {
            GameObject            entity = hits[i].collider.gameObject;
            EntityModifierHandler entityModifierHandler = entity.GetComponent <EntityModifierHandler>();

            if (entityModifierHandler != null)
            {
                entityModifierHandler.RegisterModifier(blinkStunModifier);
            }
        }
    }