public void ShowPortalPurchaseUI(bool isShow, MoveTrigger moveTrigger = null) { if (isShow && (moveTrigger != null)) { // Show PortalPurchase portalPurchaseTweenTrans.gameObject.SetActive(true); //portalPurchaseTweenTrans.startingVector = portalPurchaseTweenTrans.transform.localPosition; //portalPurchaseTweenTrans.endVector = inXPos_portalPurchaseUI; portalPurchaseTweenTrans.gameObject.transform.localPosition = inXPos_portalPurchaseUI; shardsAmountsToOpenPortal.text = GameStatics.GetPortalOpenCost(moveTrigger.portalType).ToString(); CheckPortalPurchaseCostBlock(moveTrigger.portalType); currentSelectedPortalTrigger = moveTrigger; } else { portalPurchaseTweenTrans.startingVector = portalPurchaseTweenTrans.transform.localPosition; portalPurchaseTweenTrans.endVector = outXPos_portalPurchaseUI; NoPortalPurchasePanel.SetActive(true); currentSelectedPortalTrigger = null; portalPurchaseTweenTrans.duration = 0.4f; portalPurchaseTweenTrans.Begin(); portalPurchaseTweenTrans.defaultVector = portalPurchaseTweenTrans.startingVector; } IsShowingPortalPurchaseUI = isShow; }
private void Awake() { instance = this; groundY = ground.transform.position.y; parachuteTriggerY = parachuteTrigger.GetComponent <Collider>().bounds.center.y + parachuteTrigger.GetComponent <Collider>().bounds.extents.y; playerHeightY = playerHeight.transform.position.y; }
public void SetInfo() { level.text = string.Format("LV.{0}", GameConfigs.SkillLevel(skillType)); cost.text = GameStatics.GetRequiredShardsForUpgrade(skillType).ToString(); switch (skillType) { case GameStatics.SKILL_TYPE.MAXHP: int currentHPAmount = PlayerManager.Instance().PlayerStatus.MaxHP; expect.text = string.Format("{0} > {1}", currentHPAmount, currentHPAmount + (GameStatics.default_IncHP)); break; case GameStatics.SKILL_TYPE.AIRTIME_DURATION: double currentDJCoolAmount = PlayerManager.Instance().PlayerStatus.AirTimeDuration; expect.text = string.Format("{0:0.0} > {1:0.0}", currentDJCoolAmount, currentDJCoolAmount + (GameStatics.default_IncAirTimeDuration)); break; case GameStatics.SKILL_TYPE.SHARD_PULL_DIST: double currentSPDist = GameStatics.GetShardPullDistance(); expect.text = string.Format("{0:0.0} > {1:0.0}", currentSPDist, currentSPDist + (GameStatics.default_IncShardsPullDistance)); break; default: break; } SetUpgradeStatus(); }
void CheckChase() { if (Vector3.Distance(this.transform.position, this.chasingTargetTrans.position) < GameStatics.GetShardPullDistance()) { StartChasing(); } }
private void Awake() { DontDestroyOnLoad(transform.gameObject); Instance = this; groundLayerMask = 1 << LayerMask.NameToLayer("Ground"); explosionPrefab = Resources.Load("Prefabs/BombingExplosion"); boomBallObj = Resources.Load("Prefabs/BombBall"); playerObj = Resources.Load("Prefabs/Player"); }
// MonoBehaviour methods: private void Start() { m_Tiles = FindObjectsOfType <DragIt>(); GameStatics.ChangePlayStatus(); CheckLevelManagerValues(); StartGame(); }
void CheckPortalPurchaseCostBlock(PORTAL_TYPE portalType) { if (GameStatics.GetPortalOpenCost(portalType) < PlayerManager.Instance().PlayerStatus.CurrentMemoryShards) { // Pucharsable NoPortalPurchasePanel.SetActive(false); } else { NoPortalPurchasePanel.SetActive(true); } }
private void LateUpdate() { var subSprites = Resources.LoadAll <Sprite>("Sprites/Hero/" + GameStatics.GetPlayerSpriteName(PlayerManager.Instance().CurrentPlayerSprite)); string oldSpriteName = playerRenderer.sprite.name; var newSprite = Array.Find(subSprites, item => item.name == oldSpriteName); if (newSprite) { playerRenderer.sprite = newSprite; } UpdateAnimator(); }
public void SetUpgradeStatus() { if (GameConfigs.SkillLevel(this.skillType) >= GameConfigs.MAXSkillLevel(this.skillType)) { level.text = "LV.MAX"; Color tColor = cost.color; tColor.a = 0.4f; cost.color = tColor; upgradeStatus = GameStatics.UPGRADE_STATUS.MAX_LEVEL; switch (this.skillType) { case GameStatics.SKILL_TYPE.MAXHP: expect.text = PlayerManager.Instance().PlayerStatus.MaxHP.ToString(); break; case GameStatics.SKILL_TYPE.AIRTIME_DURATION: expect.text = PlayerManager.Instance().PlayerStatus.AirTimeDuration.ToString(); break; case GameStatics.SKILL_TYPE.SHARD_PULL_DIST: expect.text = GameStatics.GetShardPullDistance().ToString(); break; default: break; } } else if (GameStatics.GetRequiredShardsForUpgrade(skillType) > PlayerManager.Instance().PlayerStatus.CurrentMemoryShards) { // 조각 부족 Color tColor = cost.color; tColor.a = 0.4f; cost.color = tColor; upgradeStatus = GameStatics.UPGRADE_STATUS.NOT_ENOUGH_SHARD; } else { // 업그레이드 가능 Color tColor = cost.color; tColor.a = 1f; cost.color = tColor; upgradeStatus = GameStatics.UPGRADE_STATUS.POSSIBLE; } }
public void OnCollideWithObject(GameObject detectedObj, Collider targetObj) { if (detectedObj.layer == LayerMask.NameToLayer("Bullet")) { BulletBase bullet = detectedObj.gameObject.GetComponentInParent <BulletBase>(); if (targetObj.gameObject.layer == LayerMask.NameToLayer("Obstacle")) { // Bullet vs Wall if (bullet != null) { // remove bullet bullet.OnDestroyBullet(); } } else if (targetObj.gameObject.layer == LayerMask.NameToLayer("Player")) { // Bullet vs Player if (bullet != null) { // player damaged float damage = GameStatics.GetBulletDamage(bullet.bulletType); playerHealth.Value -= damage; // remove bullet bullet.OnDestroyBullet(); } } else if (targetObj.gameObject.layer == LayerMask.NameToLayer("Box")) { Health boxHealth = targetObj.gameObject.GetComponentInParent <Health>(); Wall boxWall = targetObj.gameObject.GetComponentInParent <Wall>(); float damage = GameStatics.GetBulletDamage(bullet.bulletType); boxHealth.Damage(damage); boxWall.Count(bullet.bulletType); // Bullet vs Box if (bullet != null) { // remove bullet bullet.OnDestroyBullet(); } } } }
public void OnDamaged(DAMAGED_TYPE damageType) { SetAirTimeFinish(); playerStatus.CurrentHP -= GameStatics.GetDamagePoints(damageType); playerController.ShowDamageText(GameStatics.GetDamagePoints(damageType)); switch (damageType) { case DAMAGED_TYPE.SPIKE: TopMostControl.Instance().StartGlobalLightEffect(Color.red, 1f, 0.2f); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_hitWall], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_hitWall].clip); break; case DAMAGED_TYPE.FALLING_GROUND: TopMostControl.Instance().StartGlobalLightEffect(Color.red, 2f, 0.4f); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_fallGround], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_fallGround].clip); break; case DAMAGED_TYPE.PROJECTILE_SHOOTER1: TopMostControl.Instance().StartGlobalLightEffect(Color.red, 1f, 0.2f); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_hitWall], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_hitWall].clip); break; case DAMAGED_TYPE.PROJECTILE_SHOOTER2: TopMostControl.Instance().StartGlobalLightEffect(Color.red, 1f, 0.2f); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_hitWall], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_hitWall].clip); break; case DAMAGED_TYPE.EARTH_QUAKE: TopMostControl.Instance().StartGlobalLightEffect(Color.red, 2f, 0.4f); SoundManager.PlayOneShotSound(SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_fallGround], SoundContainer.Instance().SoundEffectsDic[GameStatics.sound_fallGround].clip); break; default: break; } if (onDamaged != null) { onDamaged(damageType); } }
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); } } } }
private void OnTriggerStay2D(Collider2D collider) { if (GroundState == GroundState.air) { GroundState = GroundState.grounded; } //Trigger Sticky Function only if grounded/Sliding and touching a ground object if (GameStatics.IsInLayerMask(collider.gameObject.layer, GameStatics.layers["Ground"]) && groundState == GroundState.grounded && behaveState == BehaveState.slide) { //Calculate radius for distance to be sticky float awarenessRadius = awarenessCollider.radius * transform.localScale.x; //Get collisionDist between both colliders Vector3 closestHitPoint = GameStatics.ClosestPointBetweenColliders(physicalCollider, collider); Vector3 collHitDirection = (closestHitPoint - transform.position).normalized; //Cast ground ray and check if hit ground Ray2D groundRay = new Ray2D(closestHitPoint, collHitDirection); RaycastHit2D groundRayHit = Physics2D.Raycast(groundRay.origin, groundRay.direction, awarenessRadius, GameStatics.layers["Ground"]); //If ground ray hit ground, stick Slugger to ground point and rotate if (groundRayHit.collider != null) { stickToGround(groundRayHit.point, groundRayHit.normal); } GroundState = GroundState.sticky; if (debugMode) { Debug.DrawRay(closestHitPoint, collHitDirection * awarenessRadius * 2, Color.yellow, 3); } } else if (behaveState == BehaveState.roll) { GroundState = GroundState.grounded; } }
public void CheckWin() { foreach (DragIt tile in m_Tiles) { if (tile.m_WinID != tile.m_CurrentID) { return; } } m_CanPlay = false; if (m_SelectedFirst != null) { AnimateSelectedTile(new Vector3(1, 1, 1)); } int levelID = GameStatics.m_LevelID + 1; GameStatics.UnlockNextLevel(); System.Action loadWinPanel = () => { m_WinPanel.SetActive(true); }; Invoke(loadWinPanel.Method.Name, m_ShowWinPanelTime); }
private void Awake() { GameStatics.Initialize(); }
// Update is called once per frame void Update() { targetPos = player.transform.position; if (targetPos.y < GameStatics.GetCameraMinimumYAxis(StageLoader.CurrentStage)) { targetPos.y = GetCameraMinimumYAxis(StageLoader.CurrentStage); } if (camFixedXAxis) { if (targetPos.x < levelMinXAxis) { targetPos.x = levelMinXAxis; } if (targetPos.x > levelMaxXAxis) { targetPos.x = levelMaxXAxis; } } // Stage3 Last Camera Move if (StageLoader.CurrentStage == 3) { if (player.transform.position.y > 1715 && (player.transform.position.x > -3 && player.transform.position.x < 120)) { // Last Jump targetPos.x = 82; targetPos.y = 1718; } else if (player.transform.position.y > 1700 && player.transform.position.x >= 120) { // Ending Trigger targetPos.x = 145; targetPos.y = 1720; if (!PlayerManager.Instance().IsTriggerEnding&& player.IsGround()) { PlayerManager.Instance().IsTriggerEnding = true; } } } // Stage 1 Tutorial if (GameConfigs.GetWatchedTutorial() == false) { if (StageLoader.CurrentStage == 1) { if (player.isFainting == false && player.IsGround() && TopMostControl.Instance().startShowTutorialPopup1 == false) { TopMostControl.Instance().startShowTutorialPopup1 = true; TopMostControl.Instance().PopupSingle.ShowPopup( "<color=cyan>JUMP</color>", "<color=yellow>Draw Finger</color> to decide the direction\n\n" + "<color=yellow>Release</color> to Jump"); } if (player.transform.position.x > 30 && TopMostControl.Instance().startShowTutorialPopup2 == false) { TopMostControl.Instance().startShowTutorialPopup2 = true; TopMostControl.Instance().PopupSingle.ShowPopup( "<color=cyan>AIR TIME</color>", "<color=yellow>Hold Touch</color> to slow time in the Air", () => { TopMostControl.Instance().PopupSingle.ShowPopup( "<color=cyan>DOUBLE JUMP</color>", "<color=yellow>JUMP</color> in the Air time", () => { GameConfigs.SetWatchedTutorial(true); }); }); } } } // Check Upgrade Status if (TopMostControl.Instance().GetGameUIStatus() == TOPUI_STATUS.GAMEOVER) { targetPos.y = player.transform.position.y + UpgradeUIYOffset; } if (IsShakingCamera == false) { cameraTransform.position = Vector2.Lerp(cameraTransform.position, targetPos, 0.2f); cameraTransform.position = new Vector3(cameraTransform.position.x, cameraTransform.position.y, -10f); } }