Exemple #1
0
    void ChangeStashedWeapon(GameObject weapon)
    {
        HUDWeapon               = spriteRenderer;
        HUDWeapon.sprite        = weapon.GetComponent <Weapon>().iconSprite;
        transform.localPosition = hudPosition;

        if (hudSide == RIGHT)
        {
            // upon receiving new weapon for the right slot, instantly relocate it back to its previous location,
            // while setting opacity to 100%, then tween the image to the right, into the final right slot position,
            // all while tweening the transparency down to that of stashed weapons
            MFX.Fade(HUDWeapon, 1f, 0, 0);
            MFX.Fade(HUDWeapon, HUD_STASHED_TRANSPARENCY, 0f, .2f);

            // shift weapon left, to roughly the position it was just in
            transform.localPosition = new Vector3(
                transform.localPosition.x - 1.3281f,
                transform.localPosition.y,
                transform.localPosition.z
                );

            // tween weapon to new position
            transform.DOLocalMove(new Vector3(
                                      transform.localPosition.x + SPACE_BETWEEN_WEAPONS,
                                      transform.localPosition.y,
                                      transform.localPosition.z), INVENTORY_SHIFT_SPEED, false).OnComplete(() => SetFinalPosition()
                                                                                                           );
        }
        else
        {
            MFX.Fade(HUDWeapon, 0, 0, 0);
            MFX.Fade(HUDWeapon, HUD_STASHED_TRANSPARENCY, 0f, .05f);
        }
    }
Exemple #2
0
 void Start()
 {
     // cache & pause tween sequences.
     (projectileFadeIn = MFX.Fade(projSpriteRenderer, 1f, 0f, .3f)).Pause();
     (projectileFadeInInstant = MFX.Fade(projSpriteRenderer, 1f, 0f, 0f)).Pause();
     (projectileFadeOut = MFX.Fade(projSpriteRenderer, 0, 0, .15f)).Pause();
 }
    void KillSelf(int hitFrom, int weaponType)
    {
        if (!dead)
        {
            // activate and kill breakable sprite
            if (weaponType == MELEE)
            {
                breakable.DirectionalSlump(hitFrom);
            }
            else if (weaponType == PROJECTILE)
            {
                breakable.Explode(hitFrom);
            }

            // deactivate and fade solid sprite
            rigidbody2D.isKinematic = true;
            collider2D.enabled      = false;

            MFX.Fade(spriteRenderer, 0f, 0f, 0f);

            dead = true;

            gameObject.SendMessage("CreatureDead");

            Invoke("DeactivateObject", MAX_BEFORE_FADE + 5f);
        }
    }
Exemple #4
0
    // fire directionally
    public void Fire(bool firedByPlayer, Weapon weapon, float direction)
    {
        Init(weapon);

        if (fadeIn)
        {
            MFX.Fade(spriteRenderer, 1f, 0f, .3f);
        }
        else
        {
            MFX.Fade(spriteRenderer, 1f, 0f, 0f);
        }

        // lob projectile like a cannon ball
        if (lob)
        {
            // if fired by the player, use the custom gravity supplied by the weapon (lobGravity,)
            // otherwise, for projectiles fired by an enemy, use the default gravity of .5f
            if (firedByPlayer)
            {
                rigidbody2D.gravityScale = lobGravity;
            }
            else
            {
                rigidbody2D.gravityScale = .5f;
            }
        }
        // otherwise, fire projectile linearally
        else
        {
            rigidbody2D.gravityScale = 0;
        }

        rigidbody2D.velocity = transform.right * weapon.speed * direction;
    }
Exemple #5
0
    void CacheAndSetupWeapons()
    {
        // WEAPON GAMEOBJECT'S 'WEAPON' COMPONENT
        // ~~~~~~~~~~~~~~~~~~~~~~~~
        // cache specific weapons (Sword, Hammer, etc) via parent class 'Weapon'
        // use to call currently equipped weapon animations
        leftWeapon     = weaponBelt[left].GetComponent <Weapon>();
        equippedWeapon = weaponBelt[equipped].GetComponent <Weapon>();
        rightWeapon    = weaponBelt[right].GetComponent <Weapon>();

        // set correct names for weapon gameObjects
        weaponBelt[left].name     = "Left";
        weaponBelt[equipped].name = "Equipped";
        weaponBelt[right].name    = "Right";

        // set weapons to correct layers
        weaponBelt[left].layer     = PLAYER_LAYER;
        weaponBelt[equipped].layer = PLAYER_LAYER;
        weaponBelt[right].layer    = PLAYER_LAYER;

        // set weapons to correct sorting layers;
        weaponBelt[left].GetComponent <SpriteRenderer>().sortingLayerName     = HERO_WEAPON_SORTING_LAYER;
        weaponBelt[equipped].GetComponent <SpriteRenderer>().sortingLayerName = HERO_WEAPON_SORTING_LAYER;
        weaponBelt[right].GetComponent <SpriteRenderer>().sortingLayerName    = HERO_WEAPON_SORTING_LAYER;

        // set weapon colliders to correct layers
        weaponBelt[left].transform.Find("MeleeCollider").gameObject.layer     = WEAPON_COLLIDER;
        weaponBelt[equipped].transform.Find("MeleeCollider").gameObject.layer = WEAPON_COLLIDER;
        weaponBelt[right].transform.Find("MeleeCollider").gameObject.layer    = WEAPON_COLLIDER;

        // set pickup colliders to correct layers
        weaponBelt[left].transform.Find("PickupCollider").gameObject.layer     = PICKUP_LAYER;
        weaponBelt[equipped].transform.Find("PickupCollider").gameObject.layer = PICKUP_LAYER;
        weaponBelt[right].transform.Find("PickupCollider").gameObject.layer    = PICKUP_LAYER;

        // disable SpriteRenderer for weapons that are not equipped
        leftWeapon.spriteRenderer.enabled     = false;
        equippedWeapon.spriteRenderer.enabled = true;
        rightWeapon.spriteRenderer.enabled    = false;

        // disable colliders for all weapons - they are only enabled during attacks
        leftWeapon.GetComponent <BoxCollider2D>().enabled     = false;
        equippedWeapon.GetComponent <BoxCollider2D>().enabled = false;
        rightWeapon.GetComponent <BoxCollider2D>().enabled    = false;

        // fade in newly equipped weapon
        float fadeAfter = 0f;
        float fadeTime  = .2f;

        SpriteRenderer equippedSprite = weaponBelt[equipped].GetComponent <SpriteRenderer>();

        equippedSprite.DOKill();
        MFX.Fade(equippedSprite, 1f, fadeAfter, fadeTime);

        // fade out newly stashed weapons
        FadeOutStashedWeapons(leftWeapon);
        FadeOutStashedWeapons(rightWeapon);

        SendMessageUpwards("NewWeaponEquipped", equippedWeapon.weaponType);
    }
Exemple #6
0
 // upon recycling, clear previous references and fade gameObject to zero
 void OnDisable()
 {
     anim   = null;
     weapon = null;
     animator.runtimeAnimatorController = null;
     spriteRenderer.sprite = null;
     CancelInvoke();
     MFX.Fade(spriteRenderer, 0f, 0f, 0f);
 }
    void Start()
    {
        BaseStart();

        // cache & pause tween sequences.
        (fadeOutInstant = MFX.Fade(textComponent, 0, 0, 0)).Pause();
        (fadeIn = MFX.Fade(textComponent, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
        (fadeOutHUD = MFX.Fade(textComponent, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
        (displayScoreFX = MFX.DisplayScoreFX(gameObject)).Pause();
    }
Exemple #8
0
    void Start()
    {
        // cache & pause tween sequences.
        (setTint = MFX.SetToStashedTint(spriteRenderer)).Pause();
        (fadeToTint = MFX.FadeToStashedTint(spriteRenderer, 0f, .2f)).Pause();
        (fadeInInstant = MFX.Fade(spriteRenderer, 1, 0, 0)).Pause();

        Invoke("SetTweens", .001f);
        BaseStart();
    }
Exemple #9
0
    // fade and deactivate on impact
    void OnTriggerEnter2D(Collider2D coll)
    {
        int layer = coll.gameObject.layer;

        if (layer == ENEMY_COLLIDER)
        {
            MFX.Fade(spriteRenderer, 0, 0, .15f);
            Invoke("DeactivateEntireObject", .16f);
        }
    }
Exemple #10
0
    void FadeOutStashedWeapons(Weapon stashedWeapon)
    {
        float fadeAfter = 0f;
        float fadeTime  = .2f;

        SpriteRenderer stashedSprite = stashedWeapon.GetComponent <SpriteRenderer>();

        stashedSprite.DOKill();
        MFX.Fade(stashedSprite, 0f, fadeAfter, fadeTime);
    }
Exemple #11
0
    void Start()
    {
        // cache & pause tween sequences.
        (setTint = MFX.SetToStashedTint(spriteRenderer)).Pause();
        (fadeToTint = MFX.FadeToStashedTint(spriteRenderer, 0f, .05f)).Pause();
        (fadeInHUD = MFX.Fade(spriteRenderer, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
        (fadeOutHUD = MFX.Fade(spriteRenderer, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
        (fadeOutInstant = MFX.Fade(spriteRenderer, 0, 0, 0)).Pause();

        BaseStart();
    }
Exemple #12
0
    void Start()
    {
        // cache & pause tweens.
        (fadeInOnEquip = MFX.Fade(spriteRenderer, 1f, whenEquippedFadeAfter, whenEquippedFadeOver)).Pause();
        (fadeOutOnDiscard = MFX.Fade(spriteRenderer, .2f, 0f, 0f)).Pause();
        (fadeBackInAfterDiscard = MFX.FadeInWeapon(spriteRenderer, 1f, 2f, 1f)).Pause();
        (fadeWhenStashed = MFX.Fade(spriteRenderer, 0f, whenStashedFadeAfter, whenStashedFadeOver)).Pause();

        EstablishAttackStyle();
        Init();
    }
Exemple #13
0
    void Start()
    {
        rigidbody2D = GetComponent <Rigidbody2D>();
        Assert.IsNotNull(rigidbody2D);

        rigidbody2D.mass = Rand.Range(.5f, 20f);
        rigidbody2D.drag = Rand.Range(0f, .5f);

        // cache & pause tween sequences.
        (fadeInInstant = MFX.Fade(spriteRenderer, 1f, 0f, 0f)).Pause();
        (fadeOut = MFX.Fade(spriteRenderer, 0f, 0f, 3f)).Pause();
    }
    void Start()
    {
        canvasScaler = gameObject.GetComponentInParent <CanvasScaler>();
        Assert.IsNotNull(canvasScaler);

        canvasScaler.scaleFactor = PLATFORM_SPECIFIC_CANVAS_SCALE;
        M.PositionInHUD(rectTrans, textComponent, HP_ALIGNMENT, HP_X_POS, HP_Y_POS);

        // cache & pause tween sequences.
        (fadeOutInstant = MFX.Fade(textComponent, 0, 0, 0)).Pause();
        (fadeIn = MFX.Fade(textComponent, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
        (fadeOutHUD = MFX.Fade(textComponent, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
    }
Exemple #15
0
    void Start()
    {
        mainCamera = Camera.main.GetComponent <Camera>();
        Assert.IsNotNull(mainCamera);

        // cache & pause tween sequences.
        (fadeInHUD = MFX.Fade(spriteRenderer, STASHED_ITEM_TRANSPARENCY, HUD_FADE_IN_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
        (fadeOutHUD = MFX.Fade(spriteRenderer, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
        (fadeToTransparency = MFX.Fade(spriteRenderer, STASHED_ITEM_TRANSPARENCY, 0f, .05f)).Pause();
        (fadeOutInstant = MFX.Fade(spriteRenderer, 0, 0, 0)).Pause();

        Invoke("PositionHUDElements", .001f);
    }
    void Start()
    {
        mainCamera = Camera.main.GetComponent <Camera>();
        Assert.IsNotNull(mainCamera);

        // cache & pause tween sequences.
        (setTint = MFX.SetToStashedTint(spriteRenderer)).Pause();
        (fadeToTint = MFX.FadeToStashedTint(spriteRenderer, 0f, .05f)).Pause();
        (fadeInHUD = MFX.Fade(spriteRenderer, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
        (fadeOutHUD = MFX.Fade(spriteRenderer, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
        (fadeOutInstant = MFX.Fade(spriteRenderer, 0, 0, 0)).Pause();

        Invoke("PositionHUDElements", .001f);
    }
    void Start()
    {
        canvasScaler = gameObject.GetComponentInParent <CanvasScaler>();
        Assert.IsNotNull(canvasScaler);

        canvasScale = Camera.main.GetComponent <PixelArtCamera>().CanvasScale;
        Assert.AreNotApproximatelyEqual(0.0f, canvasScale);

        PositionHUDElements();

        // cache & pause tween sequences.
        (fadeOutInstant = MFX.Fade(textComponent, 0, 0, 0)).Pause();
        (fadeIn = MFX.Fade(textComponent, 1, 0, ITEM_CHANGE_FADE)).Pause();
        (fadeOutHUD = MFX.Fade(textComponent, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
    }
    void Start()
    {
        mainCamera = Camera.main.GetComponent <Camera>();
        Assert.IsNotNull(mainCamera);

        // cache & pause tween sequences.
        (fadeOutHUD = MFX.Fade(spriteRenderer, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
        (fadeOutInstant = MFX.Fade(spriteRenderer, 0, 0, 0)).Pause();
        (fadeIn = MFX.Fade(spriteRenderer, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();

        spriteRenderer.sprite = waterSprite;

        PositionHUDElements();
        FadeInShield();
    }
Exemple #19
0
    void FadeOutStashedWeapons(Weapon stashedWeapon)
    {
        float fadeAfter = 0f;
        float fadeTime  = .2f;

        SpriteRenderer upperSprite  = stashedWeapon.transform.Find("Upper").GetComponent <SpriteRenderer>();
        SpriteRenderer centerSprite = stashedWeapon.transform.Find("Center").GetComponent <SpriteRenderer>();
        SpriteRenderer lowerSprite  = stashedWeapon.transform.Find("Lower").GetComponent <SpriteRenderer>();

        upperSprite.DOKill();
        centerSprite.DOKill();
        lowerSprite.DOKill();

        MFX.Fade(upperSprite, 0f, fadeAfter, fadeTime);
        MFX.Fade(centerSprite, 0f, fadeAfter, fadeTime);
        MFX.Fade(lowerSprite, 0f, fadeAfter, fadeTime);
    }
Exemple #20
0
    protected void BaseStart()
    {
        cam = Camera.main.GetComponent <Camera>();
        Assert.IsNotNull(cam);

        resolutionMultiplier = Camera.main.GetComponent <PixelArtCamera>().FinalUnitSize;
        Assert.AreNotApproximatelyEqual(0.0f, resolutionMultiplier);

        // cache & pause tween sequences.
        (fadeInHUD = MFX.Fade(spriteRenderer, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
        (fadeOutHUD = MFX.Fade(spriteRenderer, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
        (fadeOutInstant = MFX.Fade(spriteRenderer, 0, 0, 0)).Pause();

        PositionHUDElements();
        spriteRenderer.enabled = true;
        FadeIn();
    }
Exemple #21
0
    void CacheAndSetupWeapons()
    {
        // WEAPON GAMEOBJECT'S 'WEAPON' COMPONENT
        // ~~~~~~~~~~~~~~~~~~~~~~~~
        // cache specific weapons (Sword, Hammer, etc) via parent class 'Weapon'
        // use to call currently equipped weapon animations
        leftWeapon     = weaponBelt[left].GetComponent <Weapon>();
        equippedWeapon = weaponBelt[equipped].GetComponent <Weapon>();
        rightWeapon    = weaponBelt[right].GetComponent <Weapon>();

        // set weapons to player's WeaponCollider layer
        weaponBelt[left].layer     = 9;
        weaponBelt[equipped].layer = 9;
        weaponBelt[right].layer    = 9;

        // disable animations for weapons that are not equipped
        leftWeapon.EnableAnimation(false);
        equippedWeapon.EnableAnimation(true);
        rightWeapon.EnableAnimation(false);

        // disable colliders for all weapons - they are only enabled during attacks
        leftWeapon.GetComponent <BoxCollider2D>().enabled     = false;
        equippedWeapon.GetComponent <BoxCollider2D>().enabled = false;
        rightWeapon.GetComponent <BoxCollider2D>().enabled    = false;

        // fade in newly equipped weapon
        float fadeAfter = 0f;
        float fadeTime  = .2f;

        SpriteRenderer upperSprite  = equippedWeapon.transform.Find("Upper").GetComponent <SpriteRenderer>();
        SpriteRenderer centerSprite = equippedWeapon.transform.Find("Center").GetComponent <SpriteRenderer>();
        SpriteRenderer lowerSprite  = equippedWeapon.transform.Find("Lower").GetComponent <SpriteRenderer>();

        upperSprite.DOKill();
        centerSprite.DOKill();
        lowerSprite.DOKill();

        MFX.Fade(upperSprite, 1f, fadeAfter, fadeTime);
        MFX.Fade(centerSprite, 1f, fadeAfter, fadeTime);
        MFX.Fade(lowerSprite, 1f, fadeAfter, fadeTime);

        // fade out newly stashed weapons
        FadeOutStashedWeapons(leftWeapon);
        FadeOutStashedWeapons(rightWeapon);
    }
    void Start()
    {
        canvasScaler = gameObject.GetComponentInParent <CanvasScaler>();
        Assert.IsNotNull(canvasScaler);

        canvasScaler.scaleFactor = PLATFORM_SPECIFIC_CANVAS_SCALE;

        switch (name)
        {
        case "Heart_1":
            M.PositionInHUD(rectTrans, spriteRenderer, HEART_ALIGNMENT, HEART_X_POS, HEART_Y_POS);
            break;

        case "Heart_2":
            M.PositionInHUD(rectTrans, spriteRenderer, HEART_ALIGNMENT, HEART_X_POS + HEART_OFFSET, HEART_Y_POS);
            break;

        case "Heart_3":
            M.PositionInHUD(rectTrans, spriteRenderer, HEART_ALIGNMENT, HEART_X_POS + (HEART_OFFSET * 2), HEART_Y_POS);
            break;

        default:
            Assert.IsTrue(false, "Default case reached @ " + gameObject);
            break;
        }

        // cache & pause tween sequences.
        (fadeOutInstant = MFX.Fade(spriteRenderer, 0, 0, 0)).Pause();
        (fadeIn = MFX.Fade(spriteRenderer, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
        (fadeOutHUD = MFX.Fade(spriteRenderer, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE)).Pause();
        (pulsingHeart = MFX.Pulse(gameObject)).Pause();

        if (pulse)
        {
            pulsingHeart.Restart();
            pulsingHeart.timeScale = 2f;
        }

        fadeOutInstant.Restart();
        fadeIn.Restart();
    }
Exemple #23
0
    protected void BaseStart()
    {
        canvasScaler = gameObject.GetComponentInParent <CanvasScaler>();
        Assert.IsNotNull(canvasScaler);

        canvasScale = Camera.main.GetComponent <PixelArtCamera>().CanvasScale;
        Assert.AreNotApproximatelyEqual(0.0f, canvasScale);

        resolutionMultiplier = Camera.main.GetComponent <PixelArtCamera>().FinalUnitSize;
        Assert.AreNotApproximatelyEqual(0.0f, resolutionMultiplier);

        cam = Camera.main.GetComponent <Camera>();
        Assert.IsNotNull(cam);

        PositionHUDElements();
        text.enabled = true;

        // cache & pause tween sequences.
        (fadeOutInstant = MFX.Fade(text, 0, 0, 0)).Pause();
        (fadeIn = MFX.Fade(text, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
        (fadeOutHUD = MFX.Fade(text, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_FADE_LENGTH)).Pause();
    }
Exemple #24
0
    void KillSelf(int hitFrom, int weaponType)
    {
        // activate and kill breakable sprite
        if (weaponType == MELEE)
        {
            breakable.DirectionalSlump(hitFrom);
        }
        else if (weaponType == PROJECTILE)
        {
            breakable.Explode(hitFrom);
        }

        // deactivate and fade solid sprite
        rigidbody2D.isKinematic   = true;
        collider2D.enabled        = false;
        attackAI.attackPaused     = true;
        movementAI.movementPaused = true;
        attackAI.enabled          = false;
        movementAI.enabled        = false;

        MFX.Fade(spriteRenderer, 0f, 0f, 0f);

        Invoke("DeactivateObject", MAX_BEFORE_FADE + 5f);
    }
Exemple #25
0
    // fire at target
    public void Fire(bool firedByPlayer, Weapon weapon, Transform target)
    {
        Init(weapon);

        if (fadeIn)
        {
            MFX.Fade(spriteRenderer, 1f, 0f, .3f);
        }
        else
        {
            MFX.Fade(spriteRenderer, 1f, 0f, 0f);
        }

        // lob projectile like a cannon ball
        if (lob)
        {
            // if fired by the player, use the custom gravity supplied by the weapon (lobGravity,)
            // otherwise, for projectiles fired by an enemy, use the default gravity of .5f
            if (firedByPlayer)
            {
                rigidbody2D.gravityScale = lobGravity;
            }
            else
            {
                rigidbody2D.gravityScale = .5f;
            }

            rigidbody2D.velocity = M.LobProjectile(weapon, transform, target);
        }
        // otherwise, fire projectile linearally
        else
        {
            rigidbody2D.gravityScale = 0;
            rigidbody2D.velocity     = (target.position - transform.position).normalized * weapon.speed;
        }
    }
Exemple #26
0
 void OnFadeHud(bool status)
 {
     MFX.Fade(textComponent, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE);
 }
Exemple #27
0
 void FadeInNewTitle()
 {
     // fade to zero instantly, then fade up slowly
     MFX.Fade(textComponent, 0, 0, 0);
     MFX.Fade(textComponent, 1, 0, HUD_WEAPON_CHANGE_FADE);
 }
Exemple #28
0
 void FadeInInitialTitle()
 {
     // fade to zero instantly, then fade up slowly
     MFX.Fade(textComponent, 0, 0, 0);
     MFX.Fade(textComponent, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_TIME_TO_FADE);
 }
Exemple #29
0
 void FadeInShield()
 {
     // fade weapon to zero instantly, then fade up slowly
     MFX.Fade(HUDShield, 0, 0, 0);
     MFX.Fade(HUDShield, 1, HUD_FADE_IN_AFTER, HUD_INITIAL_TIME_TO_FADE);
 }
Exemple #30
0
 void OnFadeHud(bool status)
 {
     MFX.Fade(HUDShield, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE);
 }