public void InitStartUI() { newStartWarnPanel.SetActive(false); if (SaveManager.GetInstance().IsThereSavedGame()) { hasSavedGame = true; loadedGameDate = SaveManager.GetInstance().GetSavedDate(); SetStartBtn(loadedGameDate); } else { SetStartBtn(null); } switch (LanguageManager.GetInstance().Language) { case E_Language.KOREAN: korBtn.interactable = false; engBtn.interactable = true; break; case E_Language.ENGLISH: engBtn.interactable = false; korBtn.interactable = true; break; } StartTextSetting(); }
public Schedule(Airport departure, Airport destination, Airplane airplane, InGameTime departureTime) { this.departure = departure; this.destination = destination; this.airplane = airplane; this.departureTime = departureTime; }
public void SetExpireAfterDays(int days) { InGameTime exTemp = InGameTimeManager.GetInstance().GetNowTime(); exTemp.PlusDays(days); exTemp.SetInGameTimeHourMin((uint)(Random.Range(Constant.dayStartHour, (Constant.dayEndHour - 1))), 0); expireDate = exTemp; }
public void SetOrderDate(uint year, uint month, uint day, uint hour, uint minute) { if (orderDate == null) { orderDate = new InGameTime(year, month, day, hour, minute); return; } orderDate.SetInGameTime(year, month, day, hour, minute); }
public void SetExpireDate(uint year, uint month, uint day, uint hour, uint minute) { if (expireDate == null) { expireDate = new InGameTime(year, month, day, hour, minute); return; } expireDate.SetInGameTime(year, month, day, hour, minute); }
private void Awake() { player = FindObjectOfType <Player>(); viewInfo = FindObjectOfType <ShowDetails>(); mainGov = FindObjectOfType <MainGovernment>(); clock = FindObjectOfType <InGameTime>(); alertSystem = FindObjectOfType <AlertSystem>(); cities = new List <City>(FindObjectsOfType <City>()); }
/* * 퀘스트 목록 셑팅 */ void InitQuestList() { questCap = 0; for (int i = 0; i < questsListContent.transform.childCount; i++) { Destroy(questsListContent.transform.GetChild(i).gameObject); } List <Quest> nowQuests = QuestManager.GetInstance().GetNowWrittenQuestList(); InGameTime nowTime = InGameTimeManager.GetInstance().GetNowTime(); var hq = from q in nowQuests where q.ExpireDate.GetDays() > nowTime.GetDays() + 1 //현재 일 보다 이틀 많은 일 수 (헌터의 만기는 의뢰인의 만기보다 하루 빨라야함.) select q; List <Quest> hunterAbleQuesttemp = hq.ToList <Quest>(); //이 헌터가 수임 가능한 퀘스트만 고른것 (만기 상태가) hunterAbleQuest = new List <Quest>(); for (int i = 0; i < hunterAbleQuesttemp.Count; i++) { hunterAbleQuest.Add(hunterAbleQuesttemp[i]); } for (int i = 0; i < hunterAbleQuest.Count; i++) { //대체가 도대체 어째서 i를 쓰면 0 번째 자리에서도 i 맨 마지막이 들어가는 거야???????? int num = i; GameObject iqBtnTemp = Instantiate(iquestBtn, questsListContent.transform); SetTxtsIQBtn(hunterAbleQuest[num], iqBtnTemp); //퀘스트 버튼. Quest a = hunterAbleQuest[num]; iqBtnTemp.GetComponent <Button>().onClick.AddListener( () => { qradio.SelectIQBtn( num, questsListContent, () => { AudioThing.GetInstance().PlaySFX(AudioThing.E_SFX.SLIDE); // Debug.Log(i + "번째 온클릭 란다식 메소드 진입." // + hunterAbleQuest[num].ToString() // ); OnClickIQBtn(hunterAbleQuest[num], num); //왜 이 헌터에이블에 접근을 못하지? //도대체 왜 a 대신 hunterAbleQuest[i] 로 들어가면 접근을 못핮;??????????????????? } ); } ); qradio.SetQDic(num, hunterAbleQuest[num]); } }
public static InGameTime GetOnlyOneDayMinus(InGameTime subjectIGT) { uint dateMinusOneDay = 0; uint days = ((subjectIGT.Year * 360) + (subjectIGT.Month * 30) + subjectIGT.Day); days--; dateMinusOneDay = (days * (24 * 60)) + (subjectIGT.hour * 60) + subjectIGT.Minute; return(InGameTime.GetInGameTimeByStamp(dateMinusOneDay)); }
// Use this for initialization private void Start() { Color day = night; day.a = 0; InGameTime clock = ServiceLocator.Instance.GetClock(); clock.OnDay.AddListener(delegate { StartCoroutine(StartAnimation(night, day)); }); clock.OnNight.AddListener(delegate { StartCoroutine(StartAnimation(day, night)); }); mapOverlay.color = day; }
void SetStartBtn(InGameTime date) { if (date == null) //처음 시작임 { continueStartBtn.SetActive(false); newStartBtn.SetActive(true); return; } SetContinueDateTxt(date); continueStartBtn.SetActive(true); newStartBtn.SetActive(false); }
public int GetDaysGap(InGameTime subject) { uint days = 0; days = GetDays();; uint sjdays = 0; sjdays = subject.GetDays(); return(((int)days) - ((int)sjdays)); }
private void handleTimeEvent(object sender, EventArgs e) { foreach (Schedule schedule in schedules) { if (InGameTime.isTimesEqual(schedule.getDepartureTime(), TimeController.instance.getTime())) { GameObject airplaneGameObject = (GameObject)Instantiate(airplanePrefab, schedule.getDeparture().getPosition(), Quaternion.identity, this.transform); airplaneGameObject.GetComponent <SelectionHandler>().setPlane(); airplaneToGameObjectMap.Add(schedule.getAirplane(), airplaneGameObject); openAir.Add(schedule.getAirplane(), schedule); } } }
void SetQuestBtnTexts(GameObject btn, Quest quest) { btn.transform.GetChild(0).GetComponent <Text>().text = quest.ClientName; btn.transform.GetChild(1).GetComponent <Text>().text = quest.GetWeight().ToString(); InGameTime expireDate = quest.ExpireDate; //헌터의 만기일인 하루전으로 셋팅해야함. btn.transform.GetChild(2).GetComponent <Text>().text = LanguageManager.GetInstance().GetDateString(expireDate); /* * Debug.LogFormat("퀘스트 의뢰인 이름 = {0} , 퀘스트의 만기는 ={1} , 퀘스트의 요구 능력치 = {2} , 헌터에게 적용할 하루 뺀 만기는 = {3}", * quest.ClientName, quest.ExpireDate, quest.GetWeight().ToString(), expireDate * );*/ btn.transform.GetChild(4).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "client"); //의뢰인 btn.transform.GetChild(5).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "cap"); //요구능력치 btn.transform.GetChild(6).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("inven", "qbtnexpire"); //헌터만기 }
public string GetDateString(InGameTime date) { string str = ""; switch (lang) { case E_Language.KOREAN: str = date.Year.ToString() + "년 " + date.Month.ToString() + "월 " + date.Day.ToString() + "일"; break; case E_Language.ENGLISH: str = englishMonthDic[(int)date.Month] + " " + date.Day + " ," + date.Year; break; } return(str); }
void SetTxtsIQBtn(Quest quest, GameObject iqBtnGo) //나중에 퀘스트 버튼의 제너럴 텍스트를 맞춰줘야함. { iqBtnGo.transform.GetChild(0).GetComponent <Text>().text = quest.ClientName; iqBtnGo.transform.GetChild(1).GetComponent <Text>().text = quest.GetWeight().ToString(); InGameTime expireDate = quest.ExpireDate; //헌터의 만기일인 하루전으로 셋팅해야함. expireDate = InGameTime.GetOnlyOneDayMinus(expireDate); iqBtnGo.transform.GetChild(2).GetComponent <Text>().text = LanguageManager.GetInstance().GetDateString(expireDate); Debug.LogFormat("퀘스트 의뢰인 이름 = {0} , 퀘스트의 만기는 ={1} , 퀘스트의 요구 능력치 = {2} , 헌터에게 적용할 하루 뺀 만기는 = {3}", quest.ClientName, quest.ExpireDate, quest.GetWeight().ToString(), expireDate ); iqBtnGo.transform.GetChild(4).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "client"); //의뢰인 iqBtnGo.transform.GetChild(5).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "cap"); //요구능력치 iqBtnGo.transform.GetChild(6).GetComponent <Text>().text = UIGeneralTextsManager.GetUIGeneralText("qbtn", "expire"); //헌터만기 }
void ClientCommissionCheckCalculateLastincome() //만기여부와 등등을 고려하여 정산할것!! 클라이언트가 qc 정산 하는 단계! { ClientIdea client = CharactorFrame.GetInstance().clientIdea; int outDue = 0; if (client.haveComeBeforeExpire) { InGameTime clientExpire = client.GetExpire(); InGameTime nowTime = InGameTimeManager.GetInstance().GetNowTime(); outDue = nowTime.GetDaysGap(clientExpire); } int lastClientPayment = PayFormula.CalculateClientRequestLastPayment(client.OriginOrderedQuest, client.DaysExpire, EventParameterStorage.GetInstance().QuestCompareCompleteness, outDue); GoldManager.GetInstance().AdjustGold(lastClientPayment, GoldManager.E_PayType.FROM_CLIENT); }
static void Main(string[] args) { Console.WriteLine("CustomInGameTime Test"); InGameTime inGameTimeEngine = new InGameTime(DateTime.Today); Console.Write("Using Today ({0}) inGame Time is ", DateTime.Today); Print(inGameTimeEngine.CurrentInGameDate); Console.WriteLine(); Console.WriteLine("stamp\t 24hr 12hr "); for (int i = 0; i < 1440; i++) { inGameTimeEngine.Update(60.0f);//adding 60 seconds to the timestamp Print(inGameTimeEngine.CurrentInGameDate); } Console.WriteLine("CustomInGameTime Test Finished"); Console.ReadLine(); }
public void DeleteSavedGame() //저장된 게임 지워버리기. { #if UNITY_ANDROID st = null; savedDate = null; savedGame = false; savedLang = E_Language.KOREAN; // if (!IsThereSavedGame()) return; if (false == PlayGamesPlatform.Instance.localUser.authenticated) { PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().EnableSavedGames().Build(); PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.Activate(); Social.localUser.Authenticate((bool success, string msg) => { if (false == success) { Debug.Log("딜리트 실패 - 로그인 불가"); // return; } }); } ISavedGameClient saveClient = PlayGamesPlatform.Instance.SavedGame; saveClient.OpenWithAutomaticConflictResolution(Constant.saveFileNameInGPGSCloud, DataSource.ReadCacheOrNetwork, ConflictResolutionStrategy.UseMostRecentlySaved, (status, metaData) => { if (status != SavedGameRequestStatus.Success) { Debug.Log("삭제 실패 - 메타데이타 오픈 불가"); // return; } else { saveClient.Delete(metaData); } }); return; #else File.Delete(Constant.saveDataAllPath); #endif }
private void Start() { this.alertSystem = ServiceLocator.Instance.GetAlertSystem(); foreach (City c in ServiceLocator.Instance.GetCities()) { c.OnEndRaiding.AddListener(delegate { RestoreTyranny(80); }); c.OnEndPacifying.AddListener(delegate { RestoreTyranny(150); }); c.OnEndInfiltrating.AddListener(delegate { RestoreTyranny(10); }); c.OnEndEndingDemonstrations.AddListener(delegate { RestoreTyranny(250); }); c.OnEndGenocide.AddListener(delegate { RestoreTyranny(300); }); } InGameTime clock = ServiceLocator.Instance.GetClock(); clock.OnDaily.AddListener(delegate { Survey(); Strategy(); EndSurvey(); }); currentTyranny = TotalTyranny; }
public void HunterInquireQuestSubmit(string Qkey, bool didDetermined, List <Weapon> rentalSelected) //헌터에게 퀘스트를 맡기고 렌탈등과 퀘스트 등과 선택 했을 때. { if (!didDetermined) //ui에서 제출이면 true 인자로 넣어서 보내주기! { EventParameterStorage.GetInstance().PlayerChoice = false; CharactorFrame.GetInstance().UpdateFSM(); return; } EventParameterStorage.GetInstance().PlayerChoice = true; HunterIdea hunter = CharactorFrame.GetInstance().hunterIdea; Quest selectedQuest = QuestManager.GetInstance().GetQuest(Qkey); //본래 퀘스트의 만기보다 하루 빨리. 그리고 10시~ 17시 사이를 랜덤으로 지정. InGameTime dayOneMinus = InGameTime.GetOnlyOneDayMinus(selectedQuest.ExpireDate); uint hour = (uint)Random.Range(Constant.dayStartHour, Constant.dayEndHour - 1); InGameTime hunterExpire = new InGameTime(dayOneMinus.Year, dayOneMinus.Month, dayOneMinus.Day, hour, 0); hunter.SetHasCommission(Qkey); hunter.SetHuntExpireDay(hunterExpire); if (rentalSelected != null) { //렌탈 처리 해주기. hunter.SetRentalTheseWeapon(rentalSelected); Inventory.GetInstance().RemoveWeaponsFromInven(rentalSelected);//렌탈해간 물건들 인벤에서 뺴주는 처리. } WholeMonsterRiskManager.GetInstance().AddHunter(hunter); //수임을 받은날 위협도 매니져에서 일함.(그 날의 데이오프 부터) QuestRoomSceneUIManager.GetInstance().OnlyShowMainUIOrigin(); int deposit = PayFormula.CalculateHuntDeposit(selectedQuest, hunter.GetHunterExpireGap()); //헌터 착수금 지불. GoldManager.GetInstance().AdjustGold(-1 * deposit, GoldManager.E_PayType.TO_HUNTER); CharactorFrame.GetInstance().UpdateFSM(); }
public void SavePrepare() { lang = LanguageManager.GetInstance().Language; golds = GoldManager.GetInstance().Gold; goldRunOutContinuityDays = GameEndJudgeManager.GetInstance().GoldRunOutContinuityDays; threatMaxContinuityDays = GameEndJudgeManager.GetInstance().ThreatMaxContinuityDays; savedDate = InGameTimeManager.GetInstance().GetNowTime(); charactorList_Client = CharactorManager.GetInstance().GetClientListSave(); charactorList_Hunter = CharactorManager.GetInstance().GetHunterListSave(); questDic = QuestManager.GetInstance().QuestDic; inventoryMobEvi = Inventory.GetInstance().MobEvidenceInven; inventoryWeapon = Inventory.GetInstance().GetWeaponInvenSave(); threatState = WholeMonsterRiskManager.GetInstance().MonsterRiskList; threatHunters = WholeMonsterRiskManager.GetInstance().HuntersWhohaveQuest; phaseMobShowedUp = PhaseManager.GetInstance().MobShowedUp; phaseMobOpen = PhaseManager.GetInstance().MobOpen; phaseEvidenceOpen = PhaseManager.GetInstance().EvidenceOpen; phaseUpgradeOpen = PhaseManager.GetInstance().UpgradeOpen; phaseInteriorOpen = PhaseManager.GetInstance().InteriorOpen; distributedNames = TextManager.GetInstance().DistributedNames; }
/// <summary> /// Dumping the game state forces all properties to be initialized to their current state. /// </summary> /// <returns>The dump.</returns> public string Dump() { StringBuilder sb = new StringBuilder(); sb.Append(CurrentRoom + "#"); sb.Append(CurrentPosition.x.ToString() + "#"); sb.Append(CurrentPosition.y.ToString() + "#"); sb.Append(RestartPosition.x.ToString() + "#"); sb.Append(RestartPosition.y.ToString() + "#"); sb.Append(RoomStateSummary + "#"); sb.Append(ItemsCollected.ToString() + "#"); sb.Append(CreaturesKilled.ToString() + "#"); sb.Append(LivesRemaining.ToString() + "#"); sb.Append(InGameTime.ToShortTimeString() + "#"); sb.Append(MaidGivenInstructions.ToString() + "#"); sb.Append(MaidGivenWarning.ToString() + "#"); sb.Append(MaidReceivedItems.ToString() + "#"); sb.Append(BedReached.ToString() + "#"); sb.Append(PlayerHasTheWeapon.ToString() + "#"); sb.Append(DisableMusic.ToString() + "#"); sb.Append(DisableSoundEffects.ToString() + "#"); sb.Append(DifficultyMultiplier.ToString()); return(sb.ToString()); }
public void SetHuntExpireDay(InGameTime huntExpire) { questHuntExpireDay = huntExpire; }
void SetContinueDateTxt(InGameTime date) { continueBtnDateText.text = LanguageManager.GetInstance().GetDateString(date); }
public void Init() { if (false == PlayGamesPlatform.Instance.localUser.authenticated) { PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().EnableSavedGames().Build(); PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.Activate(); Social.localUser.Authenticate((bool success, string msg) => { if (false == success) { Debug.Log(" 실패 - 로그인 불가"); return; } }); } st = null; savedGame = false; savedDate = null; savedLang = E_Language.ENGLISH; ISavedGameClient saveClient = PlayGamesPlatform.Instance.SavedGame; object n = new object(); lock (n) { saveClient.OpenWithAutomaticConflictResolution(Constant.saveFileNameInGPGSCloud, DataSource.ReadCacheOrNetwork, ConflictResolutionStrategy.UseMostRecentlySaved, (status, metaData) => { if (status == SavedGameRequestStatus.Success) { Debug.Log("세이브매니저 이닛 - 게임 오픈 성공"); saveClient.ReadBinaryData(metaData, (readStatus, savedByteArr) => { if (readStatus == SavedGameRequestStatus.Success) { Debug.Log("세이브매니저 이닛 - 게임 읽어오기 성공"); if (savedByteArr.Length == 0) { Debug.Log("세이브매니저 이닛 - 게임 읽어오기 성공 - 바이트 데이타 길이가 0 이라서 빠져나감."); savedGame = false; savedDate = null; savedLang = E_Language.ENGLISH; GameManager.GetInstance().SendMessage("saveInitDone"); return; } BinaryFormatter bt = new BinaryFormatter(); MemoryStream ms = new MemoryStream(savedByteArr); st = bt.Deserialize(ms) as SaveStructure; if (st != null) { savedGame = true; savedDate = InGameTime.DeepCopy(st.savedDate); savedLang = st.lang; Debug.Log("세이브매니저 이닛 - 게임 읽어오기 저장한 애 읽어오기 까지 성공 저장날짜=" + savedDate + "저장 언어" + savedLang); GameManager.GetInstance().SendMessage("saveInitDone"); } else { Debug.Log("세이브매니저 이닛 - 게임 읽어오기 저장한 애 읽어오기에서 실패"); savedGame = false; savedDate = null; savedLang = E_Language.ENGLISH; GameManager.GetInstance().SendMessage("saveInitDone"); } ms.Dispose(); ms.Close(); } else { savedGame = false; savedDate = null; savedLang = E_Language.ENGLISH; Debug.Log("세이브매니저 이닛 - 게임 읽어오기자체가 실패"); GameManager.GetInstance().SendMessage("saveInitDone"); } }); } }); } }
public void SaveGame() { SaveStructure saveST = new SaveStructure(); saveST.SavePrepare(); #if UNITY_ANDROID if (false == PlayGamesPlatform.Instance.localUser.authenticated) { PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().EnableSavedGames().Build(); PlayGamesPlatform.InitializeInstance(config); PlayGamesPlatform.DebugLogEnabled = true; PlayGamesPlatform.Activate(); Social.localUser.Authenticate((bool success, string msg) => { if (false == success) { Debug.Log("저장 실패 - 로그인 불가"); return; } }); } Debug.Log("로그인 돼있음"); BinaryFormatter bt = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); bt.Serialize(ms, saveST); byte[] savingData = ms.ToArray(); Debug.Log("시리얼라이즈 - 현재 세이빙 데이타 랭쓰" + savingData.Length); ms.Dispose(); ms.Close(); Debug.Log("시리얼라이즈 완료 , 스트림 클로즈 후 " + savingData.Length); ISavedGameClient saveClient = PlayGamesPlatform.Instance.SavedGame; saveClient.OpenWithAutomaticConflictResolution(Constant.saveFileNameInGPGSCloud, DataSource.ReadCacheOrNetwork, ConflictResolutionStrategy.UseMostRecentlySaved, (status, metaData) => { if (status != SavedGameRequestStatus.Success) { Debug.Log("저장 실패 - 메타데이타 오픈 불가"); return; } Debug.Log("메타데이타 오픈."); SavedGameMetadataUpdate updatedMetaData = new SavedGameMetadataUpdate.Builder().WithUpdatedDescription(DateTime.Now + "at saved").Build(); Debug.Log("저장 준비- 현재 세이빙데이타 렝쓰 " + savingData.Length); saveClient.CommitUpdate(metaData, updatedMetaData, savingData, (saveStatus, newMetaData) => { if (status != SavedGameRequestStatus.Success) { Debug.Log("저장 실패 - 저장이 불가"); // return; } else { st = saveST; savedLang = saveST.lang; savedGame = true; savedDate = InGameTime.DeepCopy(saveST.savedDate); Debug.Log("저장 성공"); } }); }); #else BinaryFormatter bt = new BinaryFormatter(); FileStream file = File.Create(Constant.saveDataAllPath); bt.Serialize(file, saveST); file.Close(); #endif }
public void SetHuntTakeOnDay(InGameTime huntTake) { questTakeOnDay = huntTake; }
public static InGameTime DeepCopy(InGameTime sub) { return(new InGameTime(sub.Year, sub.Month, sub.Day, sub.hour, sub.minute)); }
public void SetOrderDateAtNowTime() { InGameTime orTemp = InGameTimeManager.GetInstance().GetNowTime(); orderDate = orTemp; }
public static void Server(string text, Player source, ServerUDP server) { string parameter = string.Empty; string command = text.Substring(1); if (command.Contains(" ")) { int spaceIndex = command.IndexOf(" "); parameter = command.Substring(spaceIndex + 1); command = command.Substring(0, spaceIndex); } switch (command.ToLower()) { case "spawn": var entityUpdate = new EntityUpdate() { guid = source.entityData.guid, position = new Resources.Utilities.LongVector() { x = 543093329157, y = 546862296355, z = 14423162 } }; server.SendUDP(entityUpdate.Data, source); break; case "load": server.worldUpdate.Write(source.writer); break; case "ban": ushort guid = 0; if (!source.admin || !ushort.TryParse(parameter, out guid)) { break; } break; case "time": try { int index = parameter.IndexOf(":"); int hour = Convert.ToInt32(parameter.Substring(0, index)); int minute = Convert.ToInt32(parameter.Substring(index + 1)); var inGameTime = new InGameTime() { Time = (hour * 60 + minute) * 60000 }; server.SendUDP(inGameTime.data, source); } catch (Exception) { //invalid syntax } break; case "set": break; default: break; } }