/// <summary> /// 탐험 시작 버튼 클릭 시 실행되는 함수 /// </summary> public void OnClick_ExploreStartBtn() { if (PlayerInformation.userData.Stamina < StaminaCountForStage) { PopupManager.instance.OpenAlarmPopup("행동물약이 부족합니다."); return; } PlayerInformation.userData.Stamina -= StaminaCountForStage; // 필요한 스테이지에 대한 정보를 저장한다. PlayerInformation.stageData.stageNumber = selectedStageNumber; PlayerInformation.stageData.eStageLevel = eStageLevel; // TODO (장현명) : 스테이지 보상 타입을 여러개로 바꾸기 PlayerInformation.stageData.rewardType = ERewardType.gold; if (NetworkManager.instance != null) { StartCoroutine(IConsumeStamina()); } else { Debug.LogWarning("NetworkManager가 없어서 서버로 업데이트 된 정보를 보낼 수 없습니다."); SceneMoveManager.LoadScene("BattleScene"); } }
/// <summary> /// 행동력을 소모한다. /// </summary> /// <returns></returns> private IEnumerator IConsumeStamina() { yield return(StartCoroutine(NetworkManager.instance.ISaveCharacterDataToServer())); Debug.Log("행동력 소모 후 서버에 데이터 저장 완료"); SceneMoveManager.LoadScene("BattleScene"); }
// 구글 아이디로 로그인 버튼 public void OnClick_GoogleLoginBtn() { // TODO : GPGS service 붙여야 한다. if (PlayerPrefs.HasKey("name")) { Debug.Log("내부에 name이 있습니다.!"); // TODO (장현명) : 데이터가 안불러와질것임 StartCoroutine으로 처리해야 함. //PlayerInformation.LoadData(ESaveLoadMode.server); // 정보 불러오기. Debug.Log("플레이어 데이터를 Server에서 불러옵니다."); Debug.Log("캐릭터 선택 씬으로 이동합니다."); SceneMoveManager.LoadScene("CharacterChoiceScene"); } else { Debug.Log("내부에 name이 없습니다."); Debug.Log("PlayerInformation에 로그인 모드를 GoogleLoginMode : true로 바꿉니다."); PlayerInformation.eUserCreateMode = EUserCreateMode.withGPGSId; if (NetworkManager.instance != null) { NetworkManager.instance.isGoogleLoginMode = true; OpenCreateUserNamePopup(true); } else { Debug.LogWarning("NetworkManager가 없습니다. 화면 전환 불가능"); } // TODO (장현명) : GPGS Service를 연동하여 ID를 받아온다. //Get GPGS ID from google server. and get GPGS ID from our server } }
void Update() { //カーソル移動 if (Input.GetKeyDown("up") || Input.GetKeyDown("down") || Input.GetKeyDown("right") || Input.GetKeyDown("left")) { mode *= -1; if (mode == 1) { text.text = ("➡ はしる\n やめる"); shadow.text = ("➡ はしる\n やめる"); } else { text.text = (" はしる\n➡ やめる"); shadow.text = (" はしる\n➡ やめる"); } } //決定 if (Input.GetKeyDown("space")) { SceneMoveManager script = sceneManager.GetComponent <SceneMoveManager>(); if (mode == 1) { script.LoadScene(); } else { script.ToGameEnd(); } } }
private IEnumerator ICheckConnectionToServer() { while (true) { if (connectionCheckCount <= MAX_CONNECTION_CHECK_COUNT) { StartCoroutine(NetworkManager.instance.ICheckConnectionToServer()); // 서버와 연결 시도 ++connectionCheckCount; yield return(new WaitForSeconds(1f)); } else { Debug.Log("연결 실패 팝업 오픈!"); OpenConnectFailPopup(true); yield return(null); break; } if (NetworkManager.instance.isConnected) { SetAllData(); yield return(null); SceneMoveManager.LoadScene("LoginScene"); break; } Debug.Log("while"); } }
// 로그인 없이 게임 시작하기 버튼 public void OnClick_JustGameStartBtn() { if (PlayerPrefs.HasKey("name")) { Debug.Log("내부에 name이 있습니다."); // 플레이어 데이터 불러오기. // TODO (장현명) : 데이터가 안불러와질것임 StartCoroutine으로 처리해야 함. //PlayerInformation.LoadData(ESaveLoadMode.application); Debug.Log("플레이어 데이터를 Application에서 불러옵니다."); Debug.Log("캐릭터 선택 씬으로 이동합니다."); SceneMoveManager.LoadScene("CharacterChoiceScene"); } else { Debug.Log("내부에 name이 없습니다."); Debug.Log("PlayerInformation에 로그인 모드를 GoogleLoginMode : false로 바꿉니다."); PlayerInformation.eUserCreateMode = EUserCreateMode.withoutGPGSId; if (NetworkManager.instance == null) { Debug.LogWarning("Network Manager가 없음. GoogleLoginMode를 false로 바꿀 수 없다"); } else { NetworkManager.instance.isGoogleLoginMode = false; } OpenWarningPopup(true); } }
private IEnumerator ISelectCharacterBtn() { // 새로운 유저가 아닐경우 PlayerInformation.userData.characterType = currentCharacterType; if (NetworkManager.instance != null) { PlayerInformation.inventory.InitUserInventory(); // 기존에 있던 인벤토리 정보들을 삭제한다. // 선택한 캐릭터의 정보를 서버로부터 불러와 PlayerInformation.userData에 넣어준다. yield return(StartCoroutine(NetworkManager.instance.ILoadCharacterDataFromServer(PlayerInformation.userData.name, currentCharacterType))); // 선택한 캐릭터의 장비 정보를 서버로부터 불러와 PlayerInformation.inventory.equipmentItemDataList에 넣어준다. yield return(StartCoroutine(NetworkManager.instance.ILoadEquipmentItemsFromServer())); // 선택한 캐릭터의 소비 아이템들의 정보를 서버로부터 불러와 PlayerInformation.inventory.consumableItemDataList에 넣어준다. yield return(StartCoroutine(NetworkManager.instance.ILoadConsumableItemsFromServer())); // 장착한 아이템들의 정보를 서버로부터 가져온다. yield return(StartCoroutine(NetworkManager.instance.ILoadEquippedItemsFromServer())); // 캐릭터의 스테이지 정보들을 가져온다. yield return(StartCoroutine(NetworkManager.instance.IGetStagesInformation())); } else { Debug.LogWarning("NetworkManager가 없음"); } PlayerPrefs.SetString("Name", PlayerInformation.userData.name); SceneMoveManager.LoadScene("MainScene", "Map_MainScene"); }
/// <summary> /// 유저 이름이 존재하는지 체크한다. /// </summary> /// <param name="userName">체크 할 유저 이름</param> /// <returns>응답 메세지</returns> public IEnumerator ICheckUserNameExist(string userName) { WWWForm form = new WWWForm(); form.AddField("Name", userName); UnityWebRequest www = UnityWebRequest.Post(CHECK_IF_USER_NAME_EXISTS_URL, form); yield return(www.SendWebRequest()); if (www.isDone) { string responseMessage = www.downloadHandler.text; Debug.Log("응답 메시지를 받음 : " + www.downloadHandler.text); //JSONArray json = (JSONArray)JSON.Parse(www.downloadHandler.text); if (responseMessage == RESPONSE_USER_NAME_EXISTS_MESSAGE) { Debug.Log("유저 이름이 존재합니다." + responseMessage); PopupManager.instance.OpenAlarmPopup("유저 이름이 존재합니다."); } else { PlayerInformation.userData.name = userName; isNewUser = true; // 새 유저로 표시 Debug.Log("유저 이름이 존재하지 않습니다." + responseMessage); Debug.Log("userName : "******"PlayerInformation.isNew -> 새로운 유져인가?: " + isNewUser); SceneMoveManager.LoadScene("CharacterChoiceScene"); } } }
/// <summary> /// 이어하기 버튼 클릭 시 호출 /// </summary> public void OnClick_ContinueGameStartBtn() { if (PlayerPrefs.HasKey("Name")) { PlayerInformation.userData.name = PlayerPrefs.GetString("Name"); SceneMoveManager.LoadScene("CharacterChoiceScene"); } else { PopupManager.instance.OpenAlarmPopup("내부에 저장된 데이터가 없습니다."); } }
private IEnumerator ICreateNewCharacterBtn() { // 다른 캐릭터가 있는 상태에서 새로운 유저를 생성하는 경우에 if (PlayerInformation.userData.characterType != EPlayerCharacterType.none) { PlayerInformation.inventory.InitUserInventory(); // 기존에 있던 인벤토리 정보들을 삭제한다. } PlayerInformation.userData.characterType = currentCharacterType; if (NetworkManager.instance == null) { Debug.LogWarning("NetworkManager가 없습니다. 새로운 유저의 정보를 서버에 생성 할 수 없습니다."); } else { // 새로운 캐릭터 유저인가? bool isExistUser = false; if (NetworkManager.instance.isExistCharacter[(int)currentCharacterType - 1] == true) { isExistUser = true; } if (!isExistUser) { // 새로운 유저의 정보를 서버에 생성하게 한다. yield return(StartCoroutine(NetworkManager.instance.ICreateNewUserInformationToServer(PlayerInformation.eUserCreateMode))); // 서버에 모든 스테이지의 별의 개수를 0으로 초기화한다. for (int stageNumber = 1; stageNumber <= PlayerInformation.stageData.maxStageCount; ++stageNumber) { yield return(StartCoroutine(NetworkManager.instance.ISetStageInformationToServer(stageNumber, 0))); } } } PlayerInformation.userData.SetGoods(1000, 50); // 재화를 설정한다. NetworkManager.instance.CreateNewUserCharacterDataToServer(); // PlayerInformation.userData의 값을 서버로 보낸다. PlayerPrefs.SetString("Name", PlayerInformation.userData.name); SceneMoveManager.LoadScene("MainScene", "Map_MainScene"); }
IEnumerator ChangeScene() { yield return(new WaitForSeconds(3)); sceneManger.LoadScene(); }
/// <summary> /// 캐릭터 선택 버튼 클릭 시 호출 /// </summary> public void OnClick_CharacterChoiceBtn() { SceneMoveManager.LoadScene("CharacterChoiceScene"); }
/// <summary> /// Main 화면으로 이동한다. /// </summary> public void OnClick_BackToMainBtn() { SceneMoveManager.LoadScene("MainScene"); }
/// <summary> /// 몬스터 헌터 버튼을 누를 때 호출 /// </summary> public void OnClick_MonsterHunterBtn() { SceneMoveManager.LoadScene("MonsterHunterScene"); }
/// <summary> /// RPG 버튼을 누를 때 호출 /// </summary> public void OnClick_MoRpgBtn() { SceneMoveManager.LoadScene("MORPGScene"); }
public void LoadMainScene() { SceneMoveManager.LoadScene("MainScene", "Map_MainScene"); }
public void MainSceneLoadBtn() { PausePopUp(); SceneMoveManager.LoadScene("MainScene", "Map_MainScene"); }
/// <summary> /// MainScene으로 돌아간다. /// </summary> public void OnClick_BackBtn() { SceneMoveManager.LoadScene("MainScene", "Map_MainScene"); }