Ejemplo n.º 1
0
    protected virtual void Start()
    {
        controller       = GetComponent <StateController> ();
        playerDamageData = GetComponent <PlayerDamageData> ();
        playerCollisionFilter.useLayerMask = true;
        playerCollisionFilter.layerMask    = 1 << 13;      // player layer = 13

        if (behaveAsHitbox)
        {
            return;
        }

        if (transform.childCount != 0)
        {
            sightColl = transform.GetChild(0).GetComponent <Collider2D> ();
        }

        if (spriteRenderer != null)
        {
            facingRight = spriteRenderer.flipX;
        }

        if (facingRight)
        {
            currentDirection.x = 1 * transform.localScale.x;
        }
        else
        {
            currentDirection.x = -1 * transform.localScale.x;
        }

        startDirection = currentDirection;

        sleepSFXPrefab = Resources.Load <ParticleSystem>("SFX/Sleep SFX");
    }
Ejemplo n.º 2
0
    void Start()
    {
        rend             = GetComponent <SpriteRenderer>();
        playerDamageData = GetComponent <PlayerDamageData>();

        PlayerPlayMelody.PlayedMagicResist += SetToHarmless;
        PlayerPlayMelody.StoppedPlaying    += SetToHarmful;
    }
Ejemplo n.º 3
0
    public override bool?CheckTriggerStay(StateController controller, Collider2D coll)
    {
        PlayerData       data       = (PlayerData)controller.data;
        PlayerDamageData damageData = coll.GetComponent <PlayerDamageData>();

        if (damageData != null && damageData.harmful && data.hitInvincibilityTimer.IsDone() && coll.tag == "Trap")
        {
            data.lastDamageData = coll.GetComponent <PlayerDamageData>();
            data.hitAngle       = (data.transform.position - coll.transform.position).normalized;
            if (data.hitAngle.magnitude == 0)
            {
                data.hitAngle = new Vector2(1, 1).normalized;
            }
            return(true);
        }
        return(false);
    }