private void UpdatePlayerHp(Beast beast, IXUIListHeadInfoItem uiListHeadInfoItem) { if (beast != null && null != uiListHeadInfoItem) { float rate = beast.Hp / beast.HpMax; IXUIProgress iXUIProgress = uiListHeadInfoItem.GetUIObject("pb_hp") as IXUIProgress; iXUIProgress.value = rate; CampData ourCampData = Singleton <RoomManager> .singleton.GetOurCampData(); CampData enemyCampData = Singleton <RoomManager> .singleton.GetEnemyCampData(); if (beast.eCampType == ourCampData.CampType) { uiListHeadInfoItem.SetSprite("sp_bighp", "BlueHeadInfo"); uiListHeadInfoItem.SetSprite("sp_hpred", "bluehp"); //uiListHeadInfoItem.SetSprite("Sprite_Light_Green", "Light_Green"); } else { uiListHeadInfoItem.SetSprite("sp_bighp", "RedHeadInfo"); uiListHeadInfoItem.SetSprite("sp_hpred", "redhp"); //uiListHeadInfoItem.SetSprite("Sprite_Light_Green", "Light_Red"); } } }
/// <summary>Move the player back to where they camped, if possible.</summary> /// <param name="camp">The metadata about where and when the player camped.</param> private void TryRestoreLocation(CampData camp) { Log.Debug("Previously slept in a tent, replacing player position."); // get location GameLocation location = Game1.getLocationFromName(camp.Location); if (location == null) { Game1.addHUDMessage(new HUDMessage(I18n.Messages_SleptAtLostLocation())); return; } if (location.Name == this.GetFestivalLocation()) { Game1.addHUDMessage(new HUDMessage(I18n.Messages_SleptAtFestival())); return; } // restore position if (location is MineShaft) { Log.Trace("Slept in a mine."); Game1.enterMine(camp.MineLevel ?? 0); } else { Game1.player.currentLocation = Game1.currentLocation = location; Game1.player.Position = camp.Position; } }
public async void Init_SomeSessionsHaveEnded_LoadsNextUnfinishedSlots() { var speaker = new Speaker { Id = 1 }; var pastSession = new Session { StartTime = DateTime.UtcNow.AddHours(-1), EndTime = DateTime.UtcNow.AddHours(-1), Id = 42, SpeakerId = speaker.Id }; var inProgressSession = new Session { StartTime = DateTime.UtcNow.AddMinutes(-10), EndTime = DateTime.UtcNow.AddHours(1), Id = 24 }; var data = new CampData { Sessions = new List <Session> { inProgressSession, pastSession }, Speakers = new List <Speaker> { speaker } }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new OverviewViewModel(Messenger, CodeCampService); await viewModel.Init(); Assert.AreEqual(1, viewModel.TimeSlots.Count); Assert.AreEqual(inProgressSession, viewModel.TimeSlots.First().Sessions.Single()); }
public async void GetSession_ValidSessionId_ReturnsSession() { var awesomeSession = new Session { Title = "Best Session Ever", Id = 42, SpeakerId = 1 }; var campData = new CampData { Sessions = new List <Session> { awesomeSession }, Speakers = new List <Speaker> { new Speaker { Id = 1 } } }; _mockDataClient.GetDataBody = () => Task.FromResult(campData); var service = new CodeCampService(_fileManager, _jsonConverter, _mockDataClient); var session = await service.GetSession(awesomeSession.Id); Assert.AreEqual(awesomeSession, session); }
public void Init(HeroInfo heroInfo) { this.heroInfo = heroInfo; //인포 세이브 InfoManager.Instance.SaveInfo(this.heroInfo); //데이터 불러오기 DataManager.Instance.LoadAllData(); this.campData = DataManager.Instance.dicCampData[this.heroInfo.stageLevel]; //캠프 프리팹 불러오기 this.LoadPrefab(); this.trader.OnComeEnd = () => { this.Ready2Shopping(); }; this.OnFadeOutEnd = () => { //스테이지로 이동 this.OnCampEnd(); }; //페이드 인 //this.hero.anim(앉기); StartCoroutine(this.FadeIn()); StartCoroutine(this.trader.Come()); }
/// <summary>Move the player back to where they camped, if possible.</summary> /// <param name="camp">The metadata about where and when the player camped.</param> private void TryRestoreLocation(CampData camp) { Log.Debug("Previously slept in a tent, replacing player position."); // get location GameLocation location = Game1.getLocationFromName(camp.Location); if (location == null) { Game1.addHUDMessage(new HUDMessage("You camped somewhere strange, so you've returned home.")); return; } if (location.Name == this.GetFestivalLocation()) { Game1.addHUDMessage(new HUDMessage("You camped on the festival grounds, so you've returned home.")); return; } // restore position if (location is MineShaft) { Log.Trace("Slept in a mine."); Game1.enterMine(camp.MineLevel ?? 0); } else { Game1.player.currentLocation = Game1.currentLocation = location; Game1.player.Position = camp.Position; } }
public async void Init_DataLoadsSuccessfully_LoadsTimeSlots() { var session = new Session { StartTime = DateTime.Now, EndTime = DateTime.Now, Id = 42, SpeakerId = 1 }; var data = new CampData { Sessions = new List <Session> { session }, Speakers = new List <Speaker> { new Speaker { Id = 1 } }, }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SessionsViewModel(Messenger, CodeCampService); Assert.True(viewModel.IsLoading); await viewModel.Init(); Assert.AreEqual(1, viewModel.TimeSlots.Count); var slot = viewModel.TimeSlots.First(); Assert.AreEqual(session.StartTime, slot.StartTime); Assert.AreEqual(session.EndTime, slot.EndTime); Assert.AreEqual(1, slot.Sessions.Count); Assert.AreEqual(session, slot.Sessions.First()); Assert.False(viewModel.IsLoading); }
public async void GetData_FirstCall_FetchesData() { var campData = new CampData { Speakers = new List <Speaker> { new Speaker { Id = 1 } }, Sessions = new List <Session> { new Session { Title = "Best Session Ever", Id = 42, SpeakerId = 1 } } }; bool clientCalled = false; _mockDataClient.GetDataBody = () => { clientCalled = true; return(Task.FromResult(campData)); }; var service = new CodeCampService(_fileManager, _jsonConverter, _mockDataClient); var data = await service.GetData(); Assert.True(clientCalled); Assert.AreEqual(campData, data); }
public override void Construction() { AllCampDataList = new List <CampData>(); for (int i = 0; i < 2; i++) { CampData data = new CampData(); data.CampID = i; data.CampName = ""; data.CampDesc = ""; data.CampIcon = ""; AllCampDataList.Add(data); } AllCampCreedDataList = new List <CampCreedData>(); for (int i = 0; i < 2; i++) { CampCreedData data = new CampCreedData(); data.CreedDesc = ""; data.CreedID = i; AllCampCreedDataList.Add(data); } AllCampAttributeDataList = new List <CampAttributeData>(); for (int i = 0; i < 2; i++) { CampAttributeData data = new CampAttributeData(); data.AttributeID = i; AllCampAttributeDataList.Add(data); } }
public async void Init_DataLoadsSuccessfully_LoadsSpeakerAndSessions() { var speaker = new Speaker { Id = 314 }; var session = new Session { Id = 42, SpeakerId = speaker.Id }; var data = new CampData { Sessions = new List <Session> { session }, Speakers = new List <Speaker> { speaker } }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SpeakerViewModel(Messenger, CodeCampService, ComposeEmailTask); Assert.True(viewModel.IsLoading); await viewModel.Init(new SpeakerViewModel.NavigationParameters(speaker.Id)); Assert.False(viewModel.IsLoading); Assert.AreEqual(speaker, viewModel.Speaker); Assert.AreEqual(1, viewModel.Sessions.Count); Assert.AreEqual(session, viewModel.Sessions.First()); }
public async void ListSessionsBySpeaker_ValidSpeakerId_ReturnsSessionsForSpeaker() { int speakerId = 1; var correctSession = new Session { Id = 2, SpeakerId = speakerId }; var wrongSession = new Session { Id = 3, SpeakerId = speakerId + 1 }; var campData = new CampData { Sessions = new List <Session> { correctSession, wrongSession }, Speakers = new List <Speaker> { new Speaker { Id = speakerId } } }; _mockDataClient.GetDataBody = () => Task.FromResult(campData); var service = new CodeCampService(_fileManager, _jsonConverter, _mockDataClient); var sessions = await service.ListSessionsBySpeaker(speakerId); Assert.AreEqual(1, sessions.Count); Assert.AreEqual(correctSession, sessions.First()); }
public async void Init_DataLoadsSuccessfully_LoadsSession() { var session = new Session { Id = 42, SpeakerId = 1 }; var data = new CampData { Sessions = new List <Session> { session }, Speakers = new List <Speaker> { new Speaker { Id = 1 } }, }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SessionViewModel(Messenger, CodeCampService); Assert.True(viewModel.IsLoading); await viewModel.Init(new SessionViewModel.NavigationParameters(session.Id)); Assert.False(viewModel.IsLoading); Assert.AreEqual(session, viewModel.Session); }
public static CampData GetCampDataByKey(int campID) { CampData data = null; campDataDic.TryGetValue(campID, out data); if (data == null) { DebugPlus.LogError("GetCampData null! campID=" + campID); } return(data); }
/// <summary>Raised after the game begins a new day (including when the player loads a save).</summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event arguments.</param> private void OnDayStarted(object sender, DayStartedEventArgs e) { // move player back to their tent location if (Context.IsMainPlayer) { CampData camp = this.Helper.Data.ReadSaveData <CampData>(this.TentLocationKey); if (camp != null && camp.DaysPlayed == Game1.Date.TotalDays - 1) { this.Helper.Data.WriteSaveData <CampData>(this.TentLocationKey, null); this.TryRestoreLocation(camp); } } }
public async void Init_DataLoadsSuccessfully_LoadsSpeakerList() { var data = new CampData { Speakers = new List <Speaker>() }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SpeakersViewModel(Messenger, CodeCampService); Assert.True(viewModel.IsLoading); await viewModel.Init(); Assert.AreEqual(data.Speakers, viewModel.Speakers); Assert.False(viewModel.IsLoading); }
internal async Task <CampData> GetData() { // TODO: lock around the body of this method? _campData = _campData ?? LoadCachedCampData(); if (_campData != null) { return(_campData); } if (await RefreshData()) { return(_campData); } throw new Exception("There was a problem refreshing the data"); }
public async void ListSpeakers_FetchesDataAndReturnsSpeakers() { var campData = new CampData { Speakers = new List <Speaker> { new Speaker { Id = 42 } } }; _mockDataClient.GetDataBody = () => Task.FromResult(campData); var service = new CodeCampService(_fileManager, _jsonConverter, _mockDataClient); var speakers = await service.ListSpeakers(); Assert.AreEqual(campData.Speakers, speakers); }
public async void EmailSpeakerCommand_Executed_StartsComposingEmailToSpeaker() { var speaker = new Speaker { Id = 314, EmailAddress = "*****@*****.**" }; var data = new CampData { Speakers = new List <Speaker> { speaker } }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SpeakerViewModel(Messenger, CodeCampService, ComposeEmailTask); await viewModel.Init(new SpeakerViewModel.NavigationParameters(speaker.Id)); viewModel.EmailSpeakerCommand.Execute(null); Assert.AreEqual(1, ComposeEmailTask.ComposedEmailAddresses.Count); Assert.AreEqual(speaker.EmailAddress, ComposeEmailTask.ComposedEmailAddresses.First()); }
public async void ViewWebsiteCommand_Executed_GoesToSponsorWebsite() { var sponsor = new Sponsor { Id = 42, Website = "http://codecampnyc.org" }; var data = new CampData { Sponsors = new List <Sponsor> { sponsor } }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SponsorViewModel(Messenger, CodeCampService, WebBrowserTask); await viewModel.Init(new SponsorViewModel.NavigationParameters(sponsor.Id)); viewModel.ViewWebsiteCommand.Execute(null); Assert.AreEqual(1, WebBrowserTask.UrlRequests.Count); Assert.AreEqual(sponsor.Website, WebBrowserTask.UrlRequests.First()); }
public async void GetSponsor_ValidSponsorId_ReturnsSponsor() { var awesomeSponsor = new Sponsor { Id = 42 }; var campData = new CampData { Sponsors = new List <Sponsor> { awesomeSponsor } }; _mockDataClient.GetDataBody = () => Task.FromResult(campData); var service = new CodeCampService(_fileManager, _jsonConverter, _mockDataClient); var sponsor = await service.GetSponsor(awesomeSponsor.Id); Assert.AreEqual(awesomeSponsor, sponsor); }
public async void ListSponsors_FetchesDataAndReturnsSponsors() { var sponsor = new Sponsor { Id = 42, Tier = "Gold" }; var campData = new CampData { Sponsors = new List <Sponsor> { sponsor } }; _mockDataClient.GetDataBody = () => Task.FromResult(campData); var service = new CodeCampService(_fileManager, _jsonConverter, _mockDataClient); var tiers = await service.ListSponsors(); Assert.AreEqual(1, tiers.Count); Assert.AreEqual(1, tiers.First().Sponsors.Count); Assert.AreEqual(sponsor, tiers.First().Sponsors.First()); }
public async void Init_DataLoadsSuccessfully_LoadsSponsor() { var sponsor = new Sponsor { Id = 42 }; var data = new CampData { Sponsors = new List <Sponsor> { sponsor } }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SponsorViewModel(Messenger, CodeCampService, WebBrowserTask); Assert.True(viewModel.IsLoading); await viewModel.Init(new SponsorViewModel.NavigationParameters(sponsor.Id)); Assert.False(viewModel.IsLoading); Assert.AreEqual(sponsor, viewModel.Sponsor); }
public async void ListSessions_FetchesDataAndReturnsSessions() { var session = new Session { Title = "Best Session Ever", Id = 42, StartTime = DateTime.UtcNow, EndTime = DateTime.UtcNow, SpeakerId = 1 }; var campData = new CampData { Speakers = new List <Speaker> { new Speaker { Id = session.SpeakerId.Value } }, Sessions = new List <Session> { session } }; _mockDataClient.GetDataBody = () => Task.FromResult(campData); var service = new CodeCampService(_fileManager, _jsonConverter, _mockDataClient); var timeSlots = await service.ListSessions(); Assert.AreEqual(1, timeSlots.Count); var slot = timeSlots.First(); Assert.AreEqual(session.StartTime, slot.StartTime); Assert.AreEqual(session.EndTime, slot.EndTime); Assert.AreEqual(1, slot.Sessions.Count); Assert.AreEqual(session, slot.Sessions.First()); }
public async void Init_DataLoadsSuccessfully_LoadsSponsorList() { var sponsor = new Sponsor { Name = "Sponsor", Tier = "Gold" }; var data = new CampData { Sponsors = new List <Sponsor> { sponsor } }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SponsorsViewModel(Messenger, CodeCampService); Assert.True(viewModel.IsLoading); await viewModel.Init(); //Assert.AreEqual(data.Sponsors, viewModel.Sponsors); Assert.AreEqual(1, viewModel.SponsorTiers.Count); Assert.AreEqual(1, viewModel.SponsorTiers.First().Sponsors.Count); Assert.AreEqual(sponsor, viewModel.SponsorTiers.First().Sponsors.First()); Assert.False(viewModel.IsLoading); }
public async Task <bool> RefreshData() { try { var data = await _client.GetData(); foreach (var session in data.Sessions ?? new List <Session>()) { var speaker = data.Speakers.FirstOrDefault(s => s.Id == session.SpeakerId); if (speaker == null) { continue; } session.SpeakerName = speaker.Name; } try { _fileManager.WriteFile(DataFileName, _jsonConverter.SerializeObject(data)); } catch (Exception) { } _campData = data; return(true); } catch (Exception ex) { Console.WriteLine(ex); return(false); } }
public override void Execute(bool _isLinear) { campData = LoadInfo.Instance.gameManager.GetCampData(managerKeyName); CommanderUnit temp = Instantiate(template); temp.NodeInitData(); // int[] temp.SetIntArrayData(ref temp.healthValue, healthValue); temp.SetIntArrayData(ref temp.magicValue, magicValue); temp.SetIntArrayData(ref temp.commandRangeValue, commandRangeValue); temp.SetIntArrayData(ref temp.correctedAttack, correctedAttackValue); temp.SetIntArrayData(ref temp.correctedDefense, correctedDefenseValue); temp.SetIntArrayData(ref temp.attackValue, attackValue); temp.SetIntArrayData(ref temp.attackRangeValue, attackRangeValue); temp.SetIntArrayData(ref temp.defenseValue, defenseValue); temp.SetIntArrayData(ref temp.moveRangeValue, moveValue); temp.SetIntArrayData(ref temp.skillRangeValue, skillRangeValue); // int temp.levelValue = levelValue; temp.levelSliderValue = levelSliderValue; temp.levelSliderUpgradeValue = levelSliderUpgradeValue; // string temp.unitName = unitName; temp.affiliationName = campData.campType.ToString(); temp.managerKeyName = managerKeyName; // scriptable temp.activityConfig = activityConfig; // sprite temp.unitFaceSprite = unitFaceSprite; temp.affiliationSprite = campData.affiliationSprite; // component temp.PlayActivityAnim(false); temp.mRendererComponent.sprite = activityConfig.normalSprite; temp.hpText.text = healthValue.ToString(); temp.professionSprite.sprite = campData.affiliationSprite; // enum temp.roleTpe = roleType; temp.troopsType = campData.troopType; temp.movingType = activityConfig.movingType; temp.skillMastery = skillMastery; // pos Vector3Int calculateValue = LoadInfo.Instance.sceneTileMapManager.GetUnitSpacePos(showPos); temp.transform.position = calculateValue; temp.currentPos = calculateValue; // other temp.campColor = campData.campColor; temp.manager = LoadInfo.Instance.activitiesManager; temp.manager.AddActivitiesUnit(temp); cacheCommanderUnit = temp; State = NodeState.Succeed; }