public void ShowUpgradeUI(bool isShow) { if (isShow) { GameConfigs.SetCurrentMemoryShards(PlayerManager.Instance().PlayerStatus.CurrentMemoryShards); upgradeUITweener.gameObject.SetActive(true); upgradeUITweener.startingVector = outXPos_upgradeUI; upgradeUITweener.endVector = inXPos_upgradeUI; SetUpgradeInfos(upgradeElements); Vibration.Vibrate(100); SoundManager.StopAllLoopingSounds(); if (onCameraShake != null) { onCameraShake(5); } } else { upgradeUITweener.startingVector = inXPos_upgradeUI; upgradeUITweener.endVector = outXPos_upgradeUI; upgradeUITweener.TweenCompleted += DeactiveUpgradeUIAfterTweenComplete; currentGameUIStatus = TOPUI_STATUS.NORMAL; } isShowingUpgradeUI = isShow; upgradeUITweener.Begin(); upgradeUITweener.defaultVector = upgradeUITweener.startingVector; }
void OnClickGameOverMenu(MENU_GAMEOVER gameOverMenu) { switch (gameOverMenu) { case MENU_GAMEOVER.MAINMENU: // Save Memory Shards.. GameConfigs.SetCurrentMemoryShards(PlayerStatus.CurrentMemoryShards); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_select], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_select].clip); break; case MENU_GAMEOVER.RETRY: // Save Memory Shards.. GameConfigs.SetCurrentMemoryShards(PlayerStatus.CurrentMemoryShards); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_select], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_select].clip); break; case MENU_GAMEOVER.REVIVE_SHARDS: if (PlayerStatus.RemainReviveCount > 0) { Vibration.Vibrate(100); PlayerStatus.CurrentMemoryShards -= TopMostControl.Instance().GetRequiredShardsForRevive(); PlayerStatus.CurrentHP = PlayerStatus.MaxHP; PlayerStatus.RemainReviveCount -= 1; TopMostControl.Instance().StartGlobalLightEffect(Color.yellow, 2f, 0.2f); TopMostControl.Instance().GameOver(false); if (cameraController != null) { cameraController.CameraShake_Rot(3); } EffectManager.GetInstance().playEffect(playerController.GetPlayerRigidBody().transform.position, EFFECT.YELLOW_PILLAR, Vector2.zero); TopMostControl.Instance().StartBGM(SceneManager.GetActiveScene()); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_revive], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_revive].clip); Firebase.Analytics.FirebaseAnalytics.LogEvent(GameStatics.EVENT_REVIVE_SHARD); } break; case MENU_GAMEOVER.REVIVE_AD: GameManager.Instance().ShowReviveAds(); break; default: break; } }
void OnClickUpgradeButton(SKILL_TYPE skillType) { // Upgrade Possible if ((GetRequiredShardsForUpgrade(skillType) <= PlayerManager.Instance().PlayerStatus.CurrentMemoryShards) && (currentGameUIStatus == TOPUI_STATUS.GAMEOVER)) { int requiredShards = GetRequiredShardsForUpgrade(skillType); PlayerManager.Instance().PlayerStatus.CurrentMemoryShards -= requiredShards; GameConfigs.SetCurrentMemoryShards(PlayerManager.Instance().PlayerStatus.CurrentMemoryShards); GameConfigs.SetSkillLevel(skillType, GameConfigs.SkillLevel(skillType) + 1); foreach (UpgradeElement element in upgradeElements) { element.SetInfo(); } int effectShardAmount = (GameConfigs.SkillLevel(skillType) / 3) + 1; if (effectShardAmount < 1) { effectShardAmount = 1; } if (effectShardAmount > 10) { effectShardAmount = 10; } StageLoader.Instance().Generate_SkillUpgradeEffectShards(skillType, effectShardAmount); Vibration.Vibrate(3); StartGlobalLightEffect(Color.white, 1f, 0.2f); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_powerUp], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_powerUp].clip); if (onCameraShake != null) { onCameraShake(2); } } }
public void OnClickPortalPurchase() { if (currentSelectedPortalTrigger != null) { if (GameStatics.GetPortalOpenCost(currentSelectedPortalTrigger.portalType) <= PlayerManager.Instance().PlayerStatus.CurrentMemoryShards) { // Open the portal PlayerManager.Instance().PlayerStatus.CurrentMemoryShards -= GameStatics.GetPortalOpenCost(currentSelectedPortalTrigger.portalType); GameConfigs.SetPortalStatus(currentSelectedPortalTrigger.portalType, true); GameConfigs.SetCurrentMemoryShards(PlayerManager.Instance().PlayerStatus.CurrentMemoryShards); currentSelectedPortalTrigger.SetPortal(true); StartGlobalLightEffect(Color.magenta, 4f, 0.6f); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_powerUp], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_powerUp].clip); if (onCameraShake != null) { onCameraShake(7); } } } }
void OnTriggerStay2D(Collider2D collider) { if (PlayerManager.Instance().IsDead) { return; } if (collider != null) { switch (collider.tag) { case "Damage_spike": { if (canTriggerHurt && !reviveTime) { //Debug.Log("Damage_spike"); //Debug.Log("---------------------Hit!"); damagedLight.StartBlink(this.unbeatableDuration_hurt, Color.red); StartCoroutine(TriggerHurt(collider, this.unbeatableDuration_hurt)); PlayerManager.Instance().OnDamaged(DAMAGED_TYPE.SPIKE); } } break; case "MoveTrigger": { MoveTrigger trigger = collider.GetComponent <MoveTrigger>(); if (trigger != null) { if (trigger.TriggerOn) { if (trigger.moveTrigger == MOVE_TRIGGER.MOVE_POSITION) { Transform tempTarget = collider.GetComponent <MoveTrigger>().targetPosition; playerRigidbody2D.position = new Vector2(tempTarget.position.x, tempTarget.position.y); //playerRigidbody2D.MovePosition(new Vector2(tempTarget.position.x, tempTarget.position.y)); playerRigidbody2D.velocity = Vector2.zero; SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_portalMove], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_portalMove].clip); } else if (trigger.moveTrigger == MOVE_TRIGGER.MOVE_NEXTSTAGE) { GameConfigs.SetCurrentMemoryShards(PlayerManager.Instance().PlayerStatus.CurrentMemoryShards); TopMostControl.Instance().StartChangeScene(SCENE_INDEX.GAMESTAGE, true, StageLoader.CurrentStage + 1); trigger.TriggerOn = false; if (StageLoader.CurrentStage == 1) { Firebase.Analytics.FirebaseAnalytics.LogEvent(GameStatics.EVENT_CLEAR_STAGE1); } else if (StageLoader.CurrentStage == 2) { Firebase.Analytics.FirebaseAnalytics.LogEvent(GameStatics.EVENT_CLEAR_STAGE2); } } } } } break; case "Projectile1": { if (canTriggerHurt && !reviveTime) { DirectionalProjectile proj = collider.GetComponent <DirectionalProjectile>(); proj.HitSomething(); damagedLight.StartBlink(this.unbeatableDuration_hurt, Color.red); StartCoroutine(TriggerHurt(collider, this.unbeatableDuration_hurt)); PlayerManager.Instance().OnDamaged(DAMAGED_TYPE.PROJECTILE_SHOOTER1); } } break; case "Projectile2": { if (canTriggerHurt && !reviveTime) { DirectionalProjectile proj = collider.GetComponent <DirectionalProjectile>(); proj.HitSomething(); damagedLight.StartBlink(this.unbeatableDuration_hurt, Color.red); StartCoroutine(TriggerHurt(collider, this.unbeatableDuration_hurt)); PlayerManager.Instance().OnDamaged(DAMAGED_TYPE.PROJECTILE_SHOOTER2); } } break; } } }