Example #1
0
    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");
            }
        }
    }
Example #2
0
        /// <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;
            }
        }
Example #3
0
        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());
        }
Example #4
0
        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);
        }
Example #5
0
    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());
    }
Example #6
0
        /// <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);
        }
Example #8
0
        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);
        }
Example #9
0
 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());
        }
Example #11
0
        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);
        }
Example #13
0
        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);
        }
Example #14
0
 /// <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);
        }
Example #16
0
        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");
        }
Example #17
0
        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());
        }
Example #20
0
        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);
        }
Example #21
0
        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);
        }
Example #23
0
        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);
        }
Example #25
0
        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;
        }