示例#1
0
        private void OnCloudSetupSuccess()
        {
            mLoginTimer.StepComplete(LibraryAnalyticEvents.CLOUD_SETUP_TIME);

            MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Info, "Cloud setup success", "");

            mBackend.MakeCloudCall("onLogin", null, OnLogin);
        }
示例#2
0
        public void UpgradeUnitClicked()
        {
            MyMessenger.Send(UNIT_UPGRADED_MESSAGE);

            mBuilding.Unit.Level.InitiateUpgradeWithResources(mInventory);

            BackendManager.Backend.MakeUpgradeCall(GenericDataLoader.UNITS, mBuilding.Unit.GetID(), mBuilding.Unit.Level.UpgradeData.PropertyName);
        }
示例#3
0
        public void PurchaseClicked()
        {
            MyMessenger.Send(BUY_TRAINER_MESSAGE);

            mTrainerManager.InitiateTrainerPurchase(mResources);

            BackendManager.Backend.MakeTrainerPurchase();
        }
        public void IncreaseTrainingLevel()
        {
            MyMessenger.Send(ADD_TRAINER_MESSAGE);

            PlayerManager.Data.TrainerManager.InitiateChangeInTraining(mUnit, true);

            BackendManager.Backend.ChangeAssignedTrainers(mUnit.GetID(), 1);
        }
示例#5
0
        private void OnAuthenticationSucess(IAuthenticationSuccess i_success)
        {
            mLoginTimer.StepComplete(LibraryAnalyticEvents.AUTH_TIME);

            MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Info, "Authenticate success", "");

            mBackend.SetUpCloudServices(false);
        }
示例#6
0
        private void OnAuthenticationSucess(IAuthenticationSuccess i_success)
        {
            mLoginTimer.StepComplete(LibraryAnalyticEvents.AUTH_TIME);

            MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Info, "Authenticate success", "");

            mBackend.MakeCloudCall("onLogin", null, OnLogin);
        }
示例#7
0
        public void UpgradeClicked()
        {
            MyMessenger.Send(BUILDING_UPGRADED_MESSAGE);

            mBuilding.Level.InitiateUpgradeWithResources(mInventory);

            BackendManager.Backend.MakeUpgradeCall(GenericDataLoader.BUILDINGS, mBuilding.Data.ID, mBuilding.Level.UpgradeData.PropertyName);
        }
示例#8
0
        private void SendWorldResetAnalytic(MapData i_map)
        {
            Dictionary <string, object> analyticParams = new Dictionary <string, object>();

            analyticParams.Add(Analytics.MAP_LEVEL, i_map.MapLevel);
            analyticParams.Add(Analytics.MAP_WORLD, i_map.World);

            MyMessenger.Send <string, IDictionary <string, object> >(LibraryAnalyticEvents.SEND_ANALYTIC_EVENT, Analytics.WORLD_RESET_EVENT, analyticParams);
        }
        public void OnSentMessage_FailedAnalytic_WarningLogSent()
        {
            IUnityAnalytics badAnalytics = GetAnalyticsForResult(AnalyticsResult.InvalidData);

            mManagerUnderTest = new UnityAnalyticsManager(badAnalytics);
            MyMessenger.Send <string, IDictionary <string, object> >(LibraryAnalyticEvents.SEND_ANALYTIC_EVENT, ANALYTIC_NAME, ANALYTIC_DATA);

            EasyLogger.Instance.Received().Log(LogTypes.Warn, Arg.Any <string>(), Arg.Any <string>());
        }
        public void OnSentMessage_OkAnalytic_NoWarningLog()
        {
            IUnityAnalytics okAnalytics = GetAnalyticsForResult(AnalyticsResult.Ok);

            mManagerUnderTest = new UnityAnalyticsManager(okAnalytics);
            MyMessenger.Send <string, IDictionary <string, object> >(LibraryAnalyticEvents.SEND_ANALYTIC_EVENT, ANALYTIC_NAME, ANALYTIC_DATA);

            EasyLogger.Instance.DidNotReceive().Log(LogTypes.Warn, Arg.Any <string>(), Arg.Any <string>());
        }
        public void OnSendMessage_CustomAnalyticIsSent()
        {
            IUnityAnalytics okAnalytics = GetAnalyticsForResult(AnalyticsResult.Ok);

            mManagerUnderTest = new UnityAnalyticsManager(okAnalytics);
            MyMessenger.Send <string, IDictionary <string, object> >(LibraryAnalyticEvents.SEND_ANALYTIC_EVENT, ANALYTIC_NAME, ANALYTIC_DATA);

            okAnalytics.Received().SendCustomEvent(ANALYTIC_NAME, ANALYTIC_DATA);
        }
示例#12
0
        void Start()
        {
            IBackend playFabBackend = new IdleFantasyBackend();

            MyMessenger.AddListener(BackendMessages.LOGIN_SUCCESS, OnLogin);

            Login login = new Login(playFabBackend, new EmptyAnalyticsTimer());

            login.Start();
        }
示例#13
0
        void Start()
        {
            mBackend = new QwfBackend();
            //BackendManager.Init( mBackend );

            MyMessenger.AddListener(BackendMessages.LOGIN_SUCCESS, OnLoginSuccess);
            MyMessenger.AddListener <IBackendFailure>(BackendMessages.BACKEND_REQUEST_FAIL, OnBackendFailure);

            LoginStatusText.text = STATUS_WAITING_TO_CHOOSE;
        }
示例#14
0
        private void SendMapCompletedAnalytic(MapData i_map)
        {
            Dictionary <string, object> analyticParams = new Dictionary <string, object>();

            analyticParams.Add(Analytics.AREAS_COMPLETE, GetAreasCompletedForMap(i_map));
            analyticParams.Add(Analytics.MAP_LEVEL, i_map.MapLevel);
            analyticParams.Add(Analytics.MAP_WORLD, i_map.World);

            MyMessenger.Send <string, IDictionary <string, object> >(LibraryAnalyticEvents.SEND_ANALYTIC_EVENT, Analytics.MAP_COMPLETE_EVENT, analyticParams);
        }
示例#15
0
        public void Start()
        {
            MyMessenger.AddListener <IAuthenticationSuccess>(BackendMessages.AUTH_SUCCESS, OnAuthenticationSucess);
            MyMessenger.AddListener <IBackendFailure>(BackendMessages.BACKEND_REQUEST_FAIL, OnBackendFailure);

            mLoginTimer.Start();

            mBackend.Authenticate(mLoginID);
            //mBackend.Authenticate( SystemInfo.deviceUniqueIdentifier );
            //mBackend.Authenticate( TestUsers.FOUR );
        }
示例#16
0
        private void OnLogin(Dictionary <string, string> i_result)
        {
            mLoginTimer.StepComplete(LibraryAnalyticEvents.ON_LOGIN_TIME);
            QwfBackend backend = (QwfBackend)mBackend;

            backend.SetLoggedInTime();

            MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Info, "Login success", "");

            MyMessenger.Send(BackendMessages.LOGIN_SUCCESS);
        }
示例#17
0
        public void Start()
        {
            mBackend = new IdleFantasyBackend();
            BackendManager.Init(mBackend);

            MyMessenger.AddListener <IAuthenticationSuccess>(BackendMessages.AUTH_SUCCESS, OnAuthenticationSucess);
            MyMessenger.AddListener(BackendMessages.CLOUD_SETUP_SUCCESS, OnCloudSetupSuccess);
            MyMessenger.AddListener <IBackendFailure>(BackendMessages.BACKEND_REQUEST_FAIL, OnBackendFailure);

            mBackend.Authenticate(ID);
        }
示例#18
0
        private void ShowUnlockPopup(string i_unitID)
        {
            string unlockText = StringTableManager.Get(StringKeys.UNLOCK_TEXT);

            unlockText = DrsStringUtils.Replace(unlockText, StringKeys.CLASS_KEY, UnitKeys.GetName(i_unitID));

            ViewModel model = new ViewModel();

            model.SetProperty(InfoPopupProperties.MAIN_IMAGE, UnitKeys.GetIconKey(i_unitID));
            model.SetProperty(InfoPopupProperties.MAIN_TEXT, unlockText);

            MyMessenger.Send <string, ViewModel>(InfoPopupEvents.QUEUE, InfoPopupProperties.STANDARD_POPUP, model);
        }
示例#19
0
        void Start()
        {
            mBackend = new IdleFantasyBackend();
            BackendManager.Init(mBackend);

            MyMessenger.AddListener(BackendMessages.LOGIN_SUCCESS, OnLoginSuccess);
            MyMessenger.AddListener <IBackendFailure>(BackendMessages.BACKEND_REQUEST_FAIL, OnBackendFailure);

            LoginStatusText.text = STATUS_CONNECTING;

            mLogin = new Login(mBackend, mLoginTimer);
            mLogin.Start();
        }
示例#20
0
        public void WhenMissionGetsComplete_NotWithAreaIndex_NothingChanges()
        {
            mMissionProgress.Completed = false;
            RecreateArea();

            MissionData testData = new MissionData();

            testData.Index = mAreaUnderTest.Data.Index + 1;
            MyMessenger.Send(MissionKeys.MISSION_COMPLETED, testData);

            bool isAccessible = mAreaUnderTest.ViewModel.GetPropertyValue <bool>(MapViewProperties.AREA_ACCESS);
            bool isComplete   = mAreaUnderTest.ViewModel.GetPropertyValue <bool>(MapViewProperties.AREA_COMPLETED);

            Assert.IsFalse(isComplete);
            Assert.IsTrue(isAccessible);
        }
        public void OnUnitSelected(bool i_selected)
        {
            MyMessenger.Send(UNIT_SELECTED);

            // this effectively blocks selection of a unit that is already selected. Why Unity, WHY???
            if (mIsOn && i_selected)
            {
                return;
            }

            mIsOn = i_selected;
            if (UnitSelectedEvent != null)
            {
                mTaskUnitSelection.UnitSelected(i_selected);
                UnitSelectedEvent(mTaskUnitSelection);
            }
        }
示例#22
0
        public int GetStatBonusFromSource(IUnit i_unit, string i_stat, StatBonusSources i_source)
        {
            int bonus = 0;

            switch (i_source)
            {
            case StatBonusSources.Guilds:
                bonus = GetGuildBonus(i_unit, i_stat);
                break;

            default:
                MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Error, "No stat calculation for source: " + i_source.ToString(), "UnitModification");
                break;
            }

            return(bonus);
        }
示例#23
0
        public int GetNumUnitsForRequirement(IUnit i_unit, string i_stat, int i_powerRequirement)
        {
            int totalUnitsRequired = 0;

            int unitPower = GetTotalStatFromUnit(i_unit, i_stat);

            if (unitPower > 0)
            {
                totalUnitsRequired = (int)Math.Ceiling((float)i_powerRequirement / unitPower);
            }
            else
            {
                totalUnitsRequired = int.MaxValue;
                MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Error, "Attempting to get units required for " + i_unit.GetID() + " for stat " + i_stat + " but that unit's power is 0!", "StatCalculation");
            }

            return(totalUnitsRequired);
        }
示例#24
0
        public static void LoadDataOfClass <T>(string i_className) where T : GenericData
        {
            if (mBackend == null)
            {
                Debug.LogError("Generic data loader was not inited!");
            }

            mBackend.GetAllTitleDataForClass(i_className, (data) => {
                MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Info, "Got title data for " + i_className, "");

                Dictionary <string, T> dataAsDictionary = DeserializeData <T>(data, i_className);
                StoreDictionaryDataAsHash <T>(dataAsDictionary, i_className);
            });

            //JsonSerializerSettings settings = new JsonSerializerSettings();
            //settings.TypeNameHandling = TypeNameHandling.All;
            //settings.TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Full;
            //string test = JsonConvert.SerializeObject( m_listCharacters, Formatting.Indented, settings );
            //Debug.Log( test );
        }
示例#25
0
        public static T GetData <T>(string i_key) where T : GenericData
        {
            string dataType = GetDataType <T>();

            if (!mData.ContainsKey(dataType))
            {
                MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Fatal, "Trying to get data of unloaded type " + dataType, "");
                return(default(T));
            }

            Hashtable dataOfType = mData[dataType];

            if (dataOfType.ContainsKey(i_key))
            {
                return((T)dataOfType[i_key]);
            }
            else
            {
                MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Fatal, "Tried to load " + i_key + " from " + dataType + " but there was no data!", "");
                return(default(T));
            }
        }
        private float CalculateBonusValue(IUnit i_unit, string i_stat, int i_modLevel)
        {
            float bonus         = 0;
            float totalModifier = GetTotalModifier(i_modLevel);
            int   baseStatValue = i_unit.GetBaseStat(i_stat);

            switch (ModifierType)
            {
            case ModifierTypes.Flat:
                bonus = totalModifier;
                break;

            case ModifierTypes.Percent:
                bonus = baseStatValue * totalModifier;
                break;

            default:
                MyMessenger.Send <LogTypes, string, string>(MyLogger.LOG_EVENT, LogTypes.Error, "No unit modification handle for " + ModifierType, "UnitModification");
                break;
            }

            return(bonus);
        }
示例#27
0
 private void OnUnitSelectedForThisTask(TaskUnitSelection i_selection)
 {
     MyMessenger.Send(MissionKeys.UNIT_SELECTED_EVENT, mTaskIndex);
 }
示例#28
0
 private void UnsubscribeFromMessages()
 {
     MyMessenger.RemoveListener <int>(MissionKeys.UNIT_SELECTED_EVENT, OnUnitSelected);
 }
示例#29
0
 private void SubscribeToMessages()
 {
     MyMessenger.AddListener <int>(MissionKeys.UNIT_SELECTED_EVENT, OnUnitSelected);
 }
示例#30
0
 public void Dispose() {
     MyMessenger.RemoveListener<LogTypes, string, string>( LOG_EVENT, LogWithCategory );
 }