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); } }
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); } }
// 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; }
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); }
// 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(); }
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(); }
// 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); } }
void FadeOutStashedWeapons(Weapon stashedWeapon) { float fadeAfter = 0f; float fadeTime = .2f; SpriteRenderer stashedSprite = stashedWeapon.GetComponent <SpriteRenderer>(); stashedSprite.DOKill(); MFX.Fade(stashedSprite, 0f, fadeAfter, fadeTime); }
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(); }
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(); }
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(); }
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(); }
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); }
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(); }
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(); }
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(); }
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); }
// 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; } }
void OnFadeHud(bool status) { MFX.Fade(textComponent, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE); }
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); }
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); }
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); }
void OnFadeHud(bool status) { MFX.Fade(HUDShield, 0, HUD_FADE_OUT_AFTER, HUD_INITIAL_TIME_TO_FADE); }