コード例 #1
0
        private void InitGodsChoice()
        {
            m_playableGods.Clear();
            List <string> list = new List <string>();
            God           god  = PlayerData.instance.god;
            int           num  = -1;
            int           num2 = 0;

            foreach (GodDefinition value in RuntimeData.godDefinitions.Values)
            {
                if (value.playable)
                {
                    m_playableGods.Add(value.god);
                    list.Add(RuntimeData.FormattedText(value.i18nNameId));
                    if (value.god == god)
                    {
                        num = num2;
                    }
                    num2++;
                }
            }
            m_godChoiceDropdown.ClearOptions();
            m_godChoiceDropdown.AddOptions(list);
            m_godChoiceDropdown.value = ((num >= 0) ? num : 0);
            int currentWeapon = PlayerData.instance.GetCurrentWeapon();

            InitWeapons(currentWeapon);
        }
コード例 #2
0
        private unsafe void Start()
        {
            //IL_00fa: Unknown result type (might be due to invalid IL or missing references)
            //IL_0104: Expected O, but got Unknown
            m_godSelection.options.Clear();
            List <string> list = new List <string>();

            m_playableGods.Clear();
            God god  = (PlayerData.instance == null) ? God.Iop : PlayerData.instance.god;
            int num  = -1;
            int num2 = 0;

            foreach (GodDefinition value in RuntimeData.godDefinitions.Values)
            {
                if (value.playable)
                {
                    m_playableGods.Add(value.god);
                    list.Add(RuntimeData.FormattedText(value.i18nNameId));
                    if (value.god == god)
                    {
                        num = num2;
                    }
                    num2++;
                }
            }
            m_godSelection.AddOptions(list);
            m_godSelection.value = ((num >= 0) ? num : 0);
            m_godSelection.onValueChanged.AddListener(new UnityAction <int>((object)this, (IntPtr)(void *) /*OpCode not supported: LdFtn*/));
            m_closeButton.get_onClick().AddListener(new UnityAction((object)this, (IntPtr)(void *) /*OpCode not supported: LdFtn*/));
        }
コード例 #3
0
        public override IEnumerator UpdateView(FightStatus fightStatus)
        {
            if (fightStatus != FightStatus.local)
            {
                yield break;
            }
            FightUIRework instance = FightUIRework.instance;

            if (!(null != instance))
            {
                yield break;
            }
            if (GameStatus.GetFightStatus(fromFightId).TryGetEntity(fromPlayerId, out PlayerStatus entityStatus))
            {
                if (RuntimeData.companionDefinitions.TryGetValue(companionDefId, out CompanionDefinition value))
                {
                    PlayerStatus localPlayer = fightStatus.GetLocalPlayer();
                    if (concernedEntity == localPlayer.id)
                    {
                        FightInfoMessage message = FightInfoMessage.ReceivedCompanion(MessageInfoRibbonGroup.MyID);
                        instance.DrawInfoMessage(message, entityStatus.nickname, RuntimeData.FormattedText(value.i18nNameId));
                    }
                }
                else
                {
                    Log.Error(FightEventErrors.DefinitionNotFound <CompanionDefinition>(companionDefId), 37, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\CompanionReceivedEvent.cs");
                }
            }
            else
            {
                Log.Error(FightEventErrors.PlayerNotFound(fromPlayerId, fromFightId), 42, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\CompanionReceivedEvent.cs");
            }
        }
コード例 #4
0
        protected void Awake()
        {
            List <string> options = new List <string>
            {
                RuntimeData.FormattedText(9912),
                RuntimeData.FormattedText(68421)
            };

            m_fullScreenDropdown.ClearOptions();
            m_fullScreenDropdown.AddOptions(options);
            m_fullScreenDropdown.RefreshShownValue();
            List <string>       list           = new List <string>();
            List <QualityAsset> qualityPresets = QualityManager.GetQualityPresets();

            for (int i = 0; i < qualityPresets.Count; i++)
            {
                QualityAsset val   = qualityPresets[i];
                string[]     array = val.get_name().Split(new char[1]
                {
                    '_'
                });
                string item = (array.Length != 0) ? array[array.Length - 1] : val.get_name();
                list.Add(item);
            }
            m_graphicPresetDropdown.ClearOptions();
            m_graphicPresetDropdown.AddOptions(list);
            m_graphicPresetDropdown.RefreshShownValue();
        }
コード例 #5
0
        public static DeckInfo ToDeckInfo(this SquadDefinition definition)
        {
            if (!RuntimeData.weaponDefinitions.TryGetValue(definition.weapon.value, out WeaponDefinition value))
            {
                return(null);
            }
            DeckInfo deckInfo = new DeckInfo
            {
                Name   = RuntimeData.FormattedText(63105),
                God    = (int)value.god,
                Weapon = value.get_id()
            };
            IReadOnlyList <Id <CompanionDefinition> > companions = definition.companions;
            int i = 0;

            for (int count = companions.Count; i < count; i++)
            {
                if (RuntimeData.companionDefinitions.TryGetValue(companions[i].value, out CompanionDefinition _))
                {
                    deckInfo.Companions.Add(companions[i].value);
                }
            }
            IReadOnlyList <Id <SpellDefinition> > spells = definition.spells;
            int j = 0;

            for (int count2 = spells.Count; j < count2; j++)
            {
                if (RuntimeData.spellDefinitions.TryGetValue(spells[j].value, out SpellDefinition _))
                {
                    deckInfo.Spells.Add(spells[j].value);
                }
            }
            return(deckInfo);
        }
コード例 #6
0
ファイル: WorldUI.cs プロジェクト: hussein-aitlahcen/nevaw
    private unsafe void InitGodsChoice()
    {
        m_playableGods.Clear();
        List <string> list = new List <string>();
        God           god  = PlayerData.instance.god;
        int           num  = -1;
        int           num2 = 0;

        foreach (GodDefinition value in RuntimeData.godDefinitions.Values)
        {
            if (value.playable)
            {
                m_playableGods.Add(value.god);
                list.Add(RuntimeData.FormattedText(value.i18nNameId));
                if (value.god == god)
                {
                    num = num2;
                }
                num2++;
            }
        }
        m_godChoiceDropdown.ClearOptions();
        m_godChoiceDropdown.AddOptions(list);
        m_godChoiceDropdown.value = ((num >= 0) ? num : 0);
        m_godChoiceDropdown.onValueChanged.AddListener(new UnityAction <int>((object)this, (IntPtr)(void *) /*OpCode not supported: LdFtn*/));
    }
コード例 #7
0
        private List <DeckSlot> CreateDeckSlots()
        {
            List <DeckSlot> list = new List <DeckSlot>();
            God             god  = PlayerData.instance.god;
            int             id   = m_currentWeapon.get_id();

            if (RuntimeData.squadDefinitions.TryGetValue(m_currentWeapon.defaultDeck.value, out SquadDefinition value))
            {
                DeckInfo deckInfo = value.ToDeckInfo();
                deckInfo.Id = -value.get_id();
                list.Add(new DeckSlot(deckInfo.FillEmptySlotsCopy(), preconstructed: true));
            }
            foreach (DeckInfo deck in PlayerData.instance.GetDecks())
            {
                if (deck.God == (int)god && deck.Weapon == id)
                {
                    list.Add(new DeckSlot(deck.Clone().FillEmptySlotsCopy()));
                    if (list.Count >= 4)
                    {
                        break;
                    }
                }
            }
            int i = list.Count;

            for (int num = 4; i < num; i++)
            {
                DeckInfo deckInfo2 = new DeckInfo().FillEmptySlotsCopy();
                deckInfo2.Name   = RuntimeData.FormattedText(92537);
                deckInfo2.God    = (int)god;
                deckInfo2.Weapon = id;
                list.Add(new DeckSlot(deckInfo2));
            }
            return(list);
        }
コード例 #8
0
 protected override string GetFormattedText()
 {
     if (m_textKeyId == 0 || (m_requiresValueProvider && m_valueProvider == null))
     {
         return(string.Empty);
     }
     return(RuntimeData.FormattedText(m_textKeyId, m_valueProvider));
 }
コード例 #9
0
        private void SetTextValue(float value)
        {
            value *= 100f;
            string text = null;

            text = ((value <= 0.1f) ? RuntimeData.FormattedText(33654) : ((!(value < 1f) || !(value > 0.1f)) ? Mathf.RoundToInt(value).ToString() : "1"));
            m_text.SetText(text);
        }
コード例 #10
0
        public IEnumerator BuildGodList()
        {
            List <string> list = new List <string>();

            m_playableGods.Clear();
            God god = (PlayerData.instance == null) ? God.Iop : PlayerData.instance.god;
            int num = -1;

            foreach (GodDefinition value in RuntimeData.godDefinitions.Values)
            {
                if (value.playable)
                {
                    m_playableGods.Add(value);
                    list.Add(RuntimeData.FormattedText(value.i18nNameId));
                }
            }
            m_playableGods.Sort(new GodComparer());
            int num2 = 0;

            foreach (GodDefinition playableGod in m_playableGods)
            {
                if (playableGod.god == god)
                {
                    num = num2;
                }
                num2++;
            }
            if (m_ribbonItems == null)
            {
                m_ribbonItems = new List <GodSelectionRibbonItem>();
            }
            IEnumerator[] array = new IEnumerator[m_playableGods.Count];
            for (int i = 0; i < m_playableGods.Count; i++)
            {
                GodDefinition          definition = m_playableGods[i];
                GodSelectionRibbonItem godSelectionRibbonItem;
                if (m_ribbonItems.Count > i)
                {
                    godSelectionRibbonItem = m_ribbonItems[i];
                }
                else
                {
                    godSelectionRibbonItem = Object.Instantiate <GodSelectionRibbonItem>(m_godUiPrefab, m_godUiPrefab.get_transform().get_parent());
                    m_ribbonItems.Add(godSelectionRibbonItem);
                }
                godSelectionRibbonItem.get_gameObject().SetActive(true);
                godSelectionRibbonItem.Initialise(this, definition);
                array[i] = godSelectionRibbonItem.GetLoadingRoutine();
                if (i == num)
                {
                    godSelectionRibbonItem.ForceSelect();
                }
                SetRibbonItemScale(godSelectionRibbonItem);
            }
            yield return(EnumeratorUtility.ParallelExecution(array));

            m_godUiPrefab.get_gameObject().SetActive(false);
        }
コード例 #11
0
            public static string GetFormattedText(Main.InitializationFailure failure)
            {
                int textKey = GetTextKey(failure);

                if (textKey == 0)
                {
                    return($"InitializationFailure: {failure}");
                }
                return(RuntimeData.FormattedText(textKey));
            }
コード例 #12
0
            public static string GetFormattedText(DisconnectedByServerEvent.Types.Reason reason)
            {
                int textKey = GetTextKey(reason);

                if (textKey == 0)
                {
                    return($"DisconnectionReason: {reason}");
                }
                return(RuntimeData.FormattedText(textKey));
            }
コード例 #13
0
        private static string GetText(ObjectReference.Type type, int id)
        {
            IDefinitionWithTooltip @object = ObjectReference.GetObject(type, id);

            if (@object == null)
            {
                return($"{type}:{id}");
            }
            return(RuntimeData.FormattedText(@object.i18nNameId));
        }
コード例 #14
0
        private void OnSaveConfirm()
        {
            m_safeExit    = true;
            ExitAfterSave = true;
            DeckInfo deckInfo = m_selectedSlot.DeckInfo.TrimCopy();
            string   name     = string.IsNullOrWhiteSpace(deckInfo.Name) ? RuntimeData.FormattedText(92537) : deckInfo.Name;

            m_frame.SendSaveSquadRequest(deckInfo.Id, name, (Family)deckInfo.God, deckInfo.Weapon, (IReadOnlyList <int>)deckInfo.Companions, (IReadOnlyList <int>)deckInfo.Spells);
            m_ui.interactable = false;
        }
コード例 #15
0
            public static string GetFormattedText(SpinProtocol.ConnectionErrors error)
            {
                int textKey = GetTextKey(error);

                if (textKey == 0)
                {
                    return($"SpinError: {error}");
                }
                return(RuntimeData.FormattedText(textKey));
            }
コード例 #16
0
        private void BuildUI(bool equipped)
        {
            //IL_0060: Unknown result type (might be due to invalid IL or missing references)
            //IL_0098: Unknown result type (might be due to invalid IL or missing references)
            string text = m_deckSlot.isAvailableEmptyDeckSlot ? RuntimeData.FormattedText(50970) : m_deckSlot.Name;

            m_presetName.SetText(text);
            m_presetName.color = new Color(1f, 1f, 1f, m_deckSlot.isAvailableEmptyDeckSlot ? 0.5f : 1f);
            m_deckIcon.set_color(new Color(1f, 1f, 1f, m_deckSlot.isAvailableEmptyDeckSlot ? 0.2f : 1f));
            m_invalidFeedback.get_gameObject().SetActive(m_deckSlot != null && !m_deckSlot.isAvailableEmptyDeckSlot && m_deckSlot.DeckInfo != null && !m_deckSlot.DeckInfo.IsValid());
            m_equipedBG.get_gameObject().SetActive(equipped);
        }
コード例 #17
0
ファイル: DeckUI.cs プロジェクト: hussein-aitlahcen/nevaw
        public void RemoveCurrent(int weapon)
        {
            DeckInfo deckInfo = new DeckInfo().FillEmptySlotsCopy();

            deckInfo.Name   = RuntimeData.FormattedText(92537);
            deckInfo.God    = (int)PlayerData.instance.god;
            deckInfo.Weapon = weapon;
            DeckSlot value = m_selectedSlot = new DeckSlot(deckInfo);

            m_deck.SetValue(value);
            m_eventController.OnDeckSlotSelectionChange(m_selectedSlot);
        }
コード例 #18
0
        private IEnumerator LoadWeaponInfos(WeaponDefinition definition)
        {
            AssetReference weaponIllustrationReference = definition.GetWeaponIllustrationReference();

            m_weaponTextField.SetText(definition.i18nNameId);
            m_weaponLevelField.SetText(68066, new IndexedValueProvider(m_level.ToString()));
            AssetLoadRequest <Sprite> assetReferenceRequest = weaponIllustrationReference.LoadFromAssetBundleAsync <Sprite>(AssetBundlesUtility.GetUICharacterResourcesBundleName());

            while (!assetReferenceRequest.get_isDone())
            {
                yield return(null);
            }
            if (AssetManagerError.op_Implicit(assetReferenceRequest.get_error()) != 0)
            {
                Log.Error($"Error while loading illustration for {((object)definition).GetType().Name} {definition.get_name()} error={assetReferenceRequest.get_error()}", 305, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\UI\\Player\\DeckRoot\\DeckUIRoot.cs");
                yield break;
            }
            WeaponData value = new WeaponData(definition, m_level);

            m_weaponVisual.SetValue(value);
            m_weaponPassiveText.SetText(definition.i18nDescriptionId, new FightValueProvider(definition, m_level));
            m_pedestalWeaponCellRenderer.SetValue(value);
            if (definition != null)
            {
                List <Id <SpellDefinition> > list = definition.spells.ToList();
                if (list.Count != 0 && RuntimeData.spellDefinitions.TryGetValue(list[0].value, out SpellDefinition value2))
                {
                    SpellData spellData = new SpellData(value2, m_level);
                    m_pedestalSpellCellRenderer.SetValue(spellData);
                    m_equippedFX.SetElement(value2.element);
                    m_spellRenderer.SetValue(new SpellData(value2, m_level));
                    string text = RuntimeData.FormattedText(spellData.definition.i18nNameId);
                    m_spellName.SetText(33557, new IndexedValueProvider(text));
                    m_spellDescription.SetText(spellData.definition.i18nDescriptionId, new FightValueProvider(spellData.definition, m_level));
                    int valueWithLevel  = definition.movementPoints.GetValueWithLevel(m_level);
                    int valueWithLevel2 = definition.life.GetValueWithLevel(m_level);
                    int valueWithLevel3 = definition.actionValue.GetValueWithLevel(m_level);
                    m_strengthField.SetText(valueWithLevel3.ToString());
                    m_lifeField.SetText(valueWithLevel2.ToString());
                    m_moveField.SetText(valueWithLevel.ToString());
                }
            }
        }
コード例 #19
0
 private void OnCloneConfirme()
 {
     if (DeckUtility.GetRemainingSlotsForWeapon(m_weapon) != 0)
     {
         m_selectedSlot = m_selectedSlot.Clone(keepPreconstructed: false);
         RuntimeData.TryGetText(92537, out string value);
         m_selectedSlot.SetName(value);
         m_previousSlot             = null;
         m_selectedSlot.DeckInfo.Id = null;
         m_ui.interactable          = true;
         DeckInfo obj = new DeckInfo(m_selectedSlot.DeckInfo)
         {
             Name = RuntimeData.FormattedText(92537),
             Id   = null
         };
         DeckInfo deckInfo = m_selectedSlot.DeckInfo.TrimCopy();
         m_ui.OnCloneValidate(m_selectedSlot);
         m_frame.SendSaveSquadRequest(deckInfo.Id, deckInfo.Name, (Family)deckInfo.God, deckInfo.Weapon, (IReadOnlyList <int>)deckInfo.Companions, (IReadOnlyList <int>)deckInfo.Spells);
     }
 }
コード例 #20
0
        private void OnConnectionClosed(IDisconnectionInfo obj)
        {
            UpdateStatus(Status.Disconnected);
            ServerDisconnectionInfo serverDisconnectionInfo = obj as ServerDisconnectionInfo;

            if (serverDisconnectionInfo != null)
            {
                string formattedText = TextCollectionUtility.DisconnectionReasonKeys.GetFormattedText(serverDisconnectionInfo.reason);
                CreateDisconnectedPopup(formattedText, DisconnectionStrategy.ReturnToLogin);
            }
            else if (!(obj is ClientDisconnectionInfo))
            {
                if (obj is NetworkDisconnectionInfo)
                {
                    Reconnect();
                    return;
                }
                Log.Error($"Connection closed for unknown reason: {obj}. Leaving application.", 298, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs");
                string cause = RuntimeData.FormattedText(36698, obj.ToString());
                CreateDisconnectedPopup(cause, DisconnectionStrategy.QuitApplication);
            }
        }
コード例 #21
0
        private bool ValidateSearchText <T, D>(T data, D definition) where T : CastableWithLevelData <D> where D : EditableData, IDefinitionWithTooltip
        {
            string textFilter = m_filterParent.GetTextFilter();

            if (textFilter.Length == 0)
            {
                return(true);
            }
            if (!RuntimeData.TryGetText(definition.i18nNameId, out string value))
            {
                return(true);
            }
            if (StringExtensions.ContainsIgnoreDiacritics(value, textFilter, StringComparison.OrdinalIgnoreCase))
            {
                return(true);
            }
            if (StringExtensions.ContainsIgnoreDiacritics(RuntimeData.FormattedText(definition.i18nDescriptionId, new FightValueProvider(definition, data.level)).RemoveTags(), textFilter, StringComparison.OrdinalIgnoreCase))
            {
                return(true);
            }
            return(false);
        }
コード例 #22
0
 public static string GetFormattedText(CastValidity castValidity)
 {
     return(RuntimeData.FormattedText($"CastValidity.{castValidity}"));
 }
コード例 #23
0
 public RawTextData(int textId, params string[] textParams)
 {
     isValid       = true;
     formattedText = RuntimeData.FormattedText(textId, textParams);
 }
コード例 #24
0
        private void OnOpenConnectionFailed(IConnectionError obj)
        {
            UpdateStatus(Status.Disconnected);
            SpinConnectionError spinConnectionError = obj as SpinConnectionError;

            if (spinConnectionError != null)
            {
                string formattedText = TextCollectionUtility.AuthenticationErrorKeys.GetFormattedText(spinConnectionError.error);
                switch (spinConnectionError.error)
                {
                case SpinProtocol.ConnectionErrors.NickNameRequired:
                    RequestNickname();
                    break;

                case SpinProtocol.ConnectionErrors.BadCredentials:
                case SpinProtocol.ConnectionErrors.InvalidAuthenticationInfo:
                case SpinProtocol.ConnectionErrors.SubscriptionRequired:
                case SpinProtocol.ConnectionErrors.AdminRightsRequired:
                case SpinProtocol.ConnectionErrors.AccountKnonwButBanned:
                case SpinProtocol.ConnectionErrors.AccountKnonwButBlocked:
                case SpinProtocol.ConnectionErrors.BetaAccessRequired:
                    CreateDisconnectedPopup(formattedText, DisconnectionStrategy.ReturnToLoginAndChangeAccount);
                    break;

                case SpinProtocol.ConnectionErrors.ServerTimeout:
                case SpinProtocol.ConnectionErrors.ServerError:
                case SpinProtocol.ConnectionErrors.AccountsBackendError:
                    CreateDisconnectedPopup(formattedText, DisconnectionStrategy.ReturnToLogin);
                    break;

                case SpinProtocol.ConnectionErrors.IpAddressRefused:
                    CreateDisconnectedPopup(formattedText, DisconnectionStrategy.QuitApplication);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
                return;
            }
            ConnectionInterruptedError connectionInterruptedError = obj as ConnectionInterruptedError;

            if (connectionInterruptedError != null)
            {
                ServerDisconnectionInfo serverDisconnectionInfo = connectionInterruptedError.disconnectionInfo as ServerDisconnectionInfo;
                if (serverDisconnectionInfo != null)
                {
                    Log.Info($"Disconnection occured during authentication {connectionInterruptedError.disconnectionInfo}", 209, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs");
                    string formattedText2 = TextCollectionUtility.DisconnectionReasonKeys.GetFormattedText(serverDisconnectionInfo.reason);
                    CreateDisconnectedPopup(formattedText2, DisconnectionStrategy.ReturnToLogin);
                }
                else if (connectionInterruptedError.disconnectionInfo is NetworkDisconnectionInfo)
                {
                    if (m_autoReconnect)
                    {
                        Reconnect();
                        return;
                    }
                    Log.Info($"Disconnection occured during authentication {connectionInterruptedError.disconnectionInfo}", 224, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs");
                    string cause = RuntimeData.FormattedText(94930);
                    CreateDisconnectedPopup(cause, DisconnectionStrategy.ReturnToLogin);
                }
                return;
            }
            NetworkConnectionError networkConnectionError = obj as NetworkConnectionError;

            if (networkConnectionError != null)
            {
                if (m_autoReconnect)
                {
                    Reconnect();
                    return;
                }
                Log.Info($"Error occured during authentication {networkConnectionError.exception}", 244, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs");
                string cause2 = RuntimeData.FormattedText(34942);
                CreateDisconnectedPopup(cause2, DisconnectionStrategy.ReturnToLogin);
            }
            else
            {
                Log.Info($"Error while connecting: {obj}", 251, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs");
                string cause3 = RuntimeData.FormattedText(36698, obj.ToString());
                CreateDisconnectedPopup(cause3, DisconnectionStrategy.ReturnToLogin);
            }
        }