public void init(Xint type, GameType.Mode playMode, float closeTime = 2.0f, float callbackDelay = -1.0f) { #if !UNITY_EDITOR autoHide = true; #endif _callbackDelay = callbackDelay; pcClear.gameObject.SetActive(false); pcFail.gameObject.SetActive(false); gameObject.SetActive(true); GameManager.setTimeScale = 1.0f; spResult.color = new Color(1, 1, 1, 0.0f); _playMode = playMode; bool isParticle = false; switch (type) { case Result.Type.GameOver: spResult.enabled = true; spResult.spriteName = "img_result_gameover"; pcFail.gameObject.SetActive(true); pcFail.Play(); spBgWin.gameObject.SetActive(false); spBgLose.gameObject.SetActive(true); isParticle = false; break; case Result.Type.TimeOver: spResult.enabled = true; spResult.spriteName = "img_result_timeover"; spBgWin.gameObject.SetActive(false); spBgLose.gameObject.SetActive(true); pcFail.gameObject.SetActive(true); pcFail.Play(); isParticle = false; break; case Result.Type.Finish: spResult.enabled = true; spResult.spriteName = "img_result_finish"; pcClear.gameObject.SetActive(true); pcClear.Play(); spBgWin.gameObject.SetActive(true); spBgLose.gameObject.SetActive(false); isParticle = false; SoundData.play("m_finish"); break; case Result.Type.Clear: spResult.enabled = true; spResult.spriteName = "img_result_epic_clear"; spBgWin.gameObject.SetActive(true); spBgLose.gameObject.SetActive(false); pcClear.gameObject.SetActive(true); pcClear.Play(); SoundData.play("uiet_clear"); break; case Result.Type.Lose: spResult.enabled = true; spResult.spriteName = "img_result_lose"; isParticle = false; pcFail.gameObject.SetActive(true); pcFail.Play(); spBgWin.gameObject.SetActive(false); spBgLose.gameObject.SetActive(true); SoundData.play("f_lose"); break; case Result.Type.Win: spResult.enabled = true; spResult.spriteName = "img_result_win"; isParticle = false; pcClear.gameObject.SetActive(true); pcClear.Play(); spBgWin.gameObject.SetActive(true); spBgLose.gameObject.SetActive(false); SoundData.play("f_win"); break; case Result.Type.Perfect: spResult.enabled = true; spResult.spriteName = "img_result_perpect"; isParticle = false; pcClear.gameObject.SetActive(true); pcClear.Play(); spBgWin.gameObject.SetActive(true); spBgLose.gameObject.SetActive(false); break; case Result.Type.Fail: spResult.enabled = true; spResult.spriteName = "img_result_epic_fail"; isParticle = false; spBgWin.gameObject.SetActive(false); spBgLose.gameObject.SetActive(true); pcFail.gameObject.SetActive(true); pcFail.Play(); break; } if (isParticle == false) { spResult.MakePixelPerfect(); spResult.width = Mathf.RoundToInt(spResult.width * 1.43f); spResult.height = Mathf.RoundToInt(spResult.height * 1.43f); _v.x = 0.3f; _v.y = 0.3f; _v.z = 1.0f; spResult.transform.localScale = _v; _v.x = 1.0f; _v.y = 1.0f; _v.z = 1.0f; spResult.color = new Color(1, 1, 1, 0.2f); TweenAlpha tp = TweenAlpha.Begin(spResult.gameObject, 0.6f, 1.0f); tp.eventReceiver = gameObject; TweenScale.Begin(spResult.gameObject, 0.6f, _v).method = UITweener.Method.BounceIn; if (autoHide) { Invoke("sequence2", 1.2f); } Invoke("onComplete", closeTime); } else { Invoke("onComplete", 2.5f); } if (_callbackDelay >= 0) { Invoke("onCallback", _callbackDelay); } if (targetFSM != null) { Invoke("playFSM", fsmDelay); } }
public void setNowRound(RoundData rd, GameType.Mode gameType = GameType.Mode.Epic, int inputAct = 1, int inputStage = 1, int inputRound = 1) { // Debug.LogError("**** StageManager setNowRound"); sigongData = null; playAct = inputAct; playStage = inputStage; playRound = inputRound; DebugManager.instance.useTagMatchMode = (gameType == GameType.Mode.Friendly || gameType == GameType.Mode.Championship); #if UNITY_EDITOR if (DebugManager.instance.useDebug) { DebugManager.instance.useTagMatchMode = (rd.mode == RoundData.MODE.PVP); } #endif isMaxRound = (inputAct == GameDataManager.instance.maxAct && inputStage == GameDataManager.instance.maxStage && inputRound == GameDataManager.instance.maxRound); isRepeatGame = (GameDataManager.instance.roundClearStatusCheck(playAct, playStage, playRound)); isSurrenderGame = false; // 라운드 게임 정보를 입력. isIntro = (rd.id == "INTRO"); nowRound = rd; mapStartPosX = rd.mapStartEndPosX[0]; mapEndPosX = rd.mapStartEndPosX[1]; mapPlayerEndPosX = mapEndPosX - 100; if (rd.mode == RoundData.MODE.HELL) { HellModeManager.instance.setStage(rd); } else { HellModeManager.instance.setStage(null); } isPVPMode = false; nowPlayingGameType = gameType; switch (rd.mode) { case RoundData.MODE.PVP: clearChecker = checkGameClearPVP; failChecker = checkGameFailPVP; isPVPMode = true; break; case RoundData.MODE.KILLEMALL: clearChecker = checkGameClearKillemAll; failChecker = checkGameFailKillemAll; break; case RoundData.MODE.SURVIVAL: clearChecker = checkGameClearSurvival; failChecker = checkGameFailSurvival; break; case RoundData.MODE.PROTECT: clearChecker = checkGameClearProtect; failChecker = checkGameFailProtect; break; case RoundData.MODE.SNIPING: clearChecker = checkGameClearSniping; failChecker = checkGameFailSniping; break; case RoundData.MODE.KILLCOUNT: clearChecker = checkGameClearKillCount; failChecker = checkGameFailKillCount; break; case RoundData.MODE.KILLCOUNT2: clearChecker = checkGameClearKillCount2; failChecker = checkGameFailKillCount; break; case RoundData.MODE.ARRIVE: clearChecker = checkGameClearArrive; failChecker = checkGameFailArrive; _prevDist = 99999; break; case RoundData.MODE.DESTROY: clearChecker = checkGameClearDestroy; failChecker = checkGameFailDestroy; break; case RoundData.MODE.GETITEM: clearChecker = checkGameClearGetItem; failChecker = checkGameFailGetItem; break; case RoundData.MODE.B_TEST: clearChecker = checkGameClearBtest; failChecker = checkGameFailKillemAll; break; case RoundData.MODE.HELL: clearChecker = checkGameClearHell; failChecker = checkGameFailHell; nowPlayingGameType = GameType.Mode.Hell; break; default: clearChecker = checkGameClear; failChecker = checkGameFail; break; } #if UNITY_EDITOR if (DebugManager.instance.useDebug) { if (UnitSkillCamMaker.instance.useUnitSkillCamMaker) { clearChecker = GameManager.me.stageManager.dontCheck; failChecker = GameManager.me.stageManager.dontCheck; return; } } #endif }