Example #1
0
 //============================================================
 // <T>获得XML字符串。</T>
 //
 // @param xml 字符串对象
 //============================================================
 public void GetXml(FString xml)
 {
     InnerMakeXml(xml, this);
 }
Example #2
0
        private static string GetPath(ref string line)
        {
            int idx = FString.FastIndexOf(ref line, ":") + 1;

            return(line.Substring(idx, line.Length - idx).Trim());
        }
 public void DeserializePropertyTagValue(IAssetConverter converter)
 {
     this.Str = new FString(converter.GetExportStream());
 }
Example #4
0
        public static void ParseLineWithClose(FCsvLine line, FCharReader reader, FCsvFormat format)
        {
            char    delimiter = format.Delimiter;
            bool    inComment = false;
            FString value     = new FString();

            while (reader.HasNext())
            {
                // Read
                char ch = reader.Read();
                // Check
                if (inComment)
                {
                    if (ch == '"')
                    {
                        char nch = reader.Get(1);
                        if (nch == '"')
                        {
                            value.Append(ch);
                            reader.Skip(1);
                            continue;
                        }
                        if (nch == '\n')
                        {
                            line.Append(value.Flush());
                            reader.Skip(1);
                            break;
                        }
                        if (nch == delimiter)
                        {
                            reader.Skip(1);
                        }
                        inComment = false;
                        line.Append(value.Flush());
                        continue;
                    }
                }
                else
                {
                    if (ch == '\n')
                    {
                        line.Append(value.Flush());
                        break;
                    }
                    else if (ch == '"')
                    {
                        inComment = true;
                        continue;
                    }
                    else if (ch == delimiter)
                    {
                        line.Append(value.Flush());
                        continue;
                    }
                }
                value.Append(ch);
            }
            if (!value.IsEmpty)
            {
                line.Append(value.Flush());
            }
        }
Example #5
0
        public override void TalkedReply(L2Player talker, int ask, int reply)
        {
            if (ask == -3)
            {
                L2Clan pledge  = talker.Clan;
                byte   pledgLv = pledge != null ? pledge.Level : (byte)0;

                switch (reply)
                {
                case 0:     //new clan
                    if (talker.Level < 10)
                    {
                        talker.ShowHtm("pl002.htm", myself);
                    }
                    else if (talker.Clan != null && talker.Clan.LeaderID == talker.ObjID)
                    {
                        talker.ShowHtm("pl003.htm", myself);
                    }
                    else if (talker.Clan != null && talker.Clan.LeaderID != talker.ObjID)
                    {
                        talker.ShowHtm("pl004.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl005.htm", myself);
                    }
                    break;

                case 1:     //Повысить
                    if (talker.ClanLeader)
                    {
                        talker.ShowHtm("pl013.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl014.htm", myself);
                    }
                    break;

                case 2:     //Распустить
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        talker.ShowHtm("pl007.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl008.htm", myself);
                    }
                    break;

                case 3:     //Восстановить
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        talker.ShowHtm("pl010.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl011.htm", myself);
                    }
                    break;

                case 4:     //Умения
                    if (talker.ClanLeader)
                    {
                        ShowEtcSkillList(talker, 2);
                    }
                    else
                    {
                        talker.ShowHtm("pl017.htm", myself);
                    }
                    break;

                case 5:     //Управлять Академией
                    talker.ShowHtm("pl_aca_help.htm", myself);
                    break;

                case 6:     //Управлять Подразделениями Стражей
                    talker.ShowHtm("pl_sub_help.htm", myself);
                    break;

                case 7:
                    if (pledge == null)
                    {
                        talker.ShowHtm("pl_no_pledgeman.htm", myself);
                    }
                    else if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 5)
                        {
                            if (pledge.HasSubPledge(100))
                            {
                                if (pledge.HasSubPledge(200))
                                {
                                    talker.ShowHtm("pl_err_more_sub.htm", myself);
                                }
                                else
                                {
                                    talker.ShowHtm("pl_create_sub200.htm", myself);
                                }
                            }
                            else
                            {
                                talker.ShowHtm("pl_create_sub100.htm", myself);
                            }
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 8:
                    if (pledge == null)
                    {
                        talker.ShowHtm("pl_no_pledgeman.htm", myself);
                    }
                    else if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 5)
                        {
                            if (pledge.HasSubPledge(100))
                            {
                                talker.ShowHtm("pl_submaster.htm", myself);
                            }
                            else
                            {
                                talker.ShowHtm("pl_err_more_sm.htm", myself);
                            }
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 9:     //Управлять Подразделениями Рыцарей
                    talker.ShowHtm("pl_sub2_help.htm", myself);
                    break;

                case 10:
                    if (pledge == null)
                    {
                        talker.ShowHtm("pl_no_pledgeman.htm", myself);
                    }
                    else if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 6)
                        {
                            if (pledge.HasSubPledge(100))
                            {
                                if (pledge.HasSubPledge(10001))
                                {
                                    if (pledge.HasSubPledge(1002))
                                    {
                                        if (pledge.HasSubPledge(200))
                                        {
                                            if (pledge.HasSubPledge(2001))
                                            {
                                                if (pledge.HasSubPledge(2002))
                                                {
                                                    talker.ShowHtm("pl_err_more_sub2.htm", myself);
                                                }
                                                else
                                                {
                                                    talker.ShowHtm("pl_create_sub2002.htm", myself);
                                                }
                                            }
                                            else
                                            {
                                                talker.ShowHtm("pl_create_sub2001.htm", myself);
                                            }
                                        }
                                        else
                                        {
                                            talker.ShowHtm("pl_need_high_lv_sub.htm", myself);
                                        }
                                    }
                                    else
                                    {
                                        talker.ShowHtm("pl_create_sub1002.htm", myself);
                                    }
                                }
                                else
                                {
                                    talker.ShowHtm("pl_create_sub1001.htm", myself);
                                }
                            }
                            else
                            {
                                talker.ShowHtm("pl_need_high_lv_sub.htm", myself);
                            }
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 11:
                    if (pledge == null)
                    {
                        talker.ShowHtm("pl_no_pledgeman.htm", myself);
                    }
                    else if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 6)
                        {
                            if (pledge.HasSubPledge(100))
                            {
                                if (pledge.HasSubPledge(1001))
                                {
                                    talker.ShowHtm("pl_submaster2.htm", myself);
                                }
                                else
                                {
                                    talker.ShowHtm("pl_err_more_sm2.htm", myself);
                                }
                            }
                            else
                            {
                                talker.ShowHtm("pl_need_high_lv_sub.htm", myself);
                            }
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 12:
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        if (pledge.Level > 4)
                        {
                            talker.ShowHtm("pl_create_aca.htm", myself);
                        }
                        else
                        {
                            talker.ShowHtm("pl_err_plv.htm", myself);
                        }
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 13:     //Передать Полномочия Лидера Клана
                    talker.ShowHtm("pl_master.htm", myself);
                    break;

                case 14:    //Запрос Передачи Полномочий Лидера Клана
                    if (talker.ClanLeader)
                    {
                        talker.ShowHtm("pl_transfer_master.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 15:    //Отменить Запрос Передачи Полномочий Лидера Клана
                    if (talker.ClanLeader)
                    {
                        talker.ShowHtm("pl_cancel_master.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 16:
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        talker.ShowHtm("pl_rename.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 17:
                    if (talker.ClanLeader || talker.HavePledgePower(@PP_MANAGE_GROWTH))
                    {
                        talker.ShowHtm("pl_rename2.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;

                case 100:     //main
                    talker.ShowHtm("pl001.htm", myself);
                    break;

                case 101:
                    if (talker.ClanLeader)
                    {
                        ShowChangePledgeNameUI(talker);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_master.htm", myself);
                    }
                    break;
                }
            }
            else if (ask == -111)
            {
                if (!talker.ClanLeader || !talker.HavePledgePower(@PP_MANAGE_GROWTH))
                {
                    talker.ShowHtm("pl_err_master.htm", myself);
                    return;
                }

                if (reply < 1000)
                {
                    if (reply < 100)
                    {
                        talker.ShowHtm("pl_err_rename_aca.htm", myself);
                    }
                    else if (reply / 100 > royalGuard)
                    {
                        talker.ShowHtm("pl_err_more_sub.htm", myself);
                    }
                    else if (talker.Clan.HasSubPledge(reply))
                    {
                        NpcHtmlMessage htm  = new NpcHtmlMessage(talker, "pl_ch_submaster" + reply + ".htm", myself.ObjID);
                        string         mstr = talker.Clan.GetSubpledgeMasterName(reply);
                        if (mstr == null)
                        {
                            mstr = FString.getInstance().get(1010642);
                        }
                        htm.replace("<?" + reply + "submaster?>", mstr);

                        talker.sendPacket(htm);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_more_sm.htm", myself);
                    }
                }
                else if (reply < 10000)
                {
                    if (reply <= 1000 && reply % 1000 == 0)
                    {
                        talker.ShowHtm("pl_err_more_sm2.htm", myself);
                    }
                    else if (reply % 1000 > knights / royalGuard)
                    {
                        talker.ShowHtm("pl_err_more_sub2.htm", myself);
                    }
                    else if (talker.Clan.HasSubPledge(reply))
                    {
                        NpcHtmlMessage htm  = new NpcHtmlMessage(talker, "pl_ch_submaster" + reply + ".htm", myself.ObjID);
                        string         mstr = talker.Clan.GetSubpledgeMasterName(reply);
                        if (mstr == null)
                        {
                            mstr = FString.getInstance().get(1010642);
                        }
                        htm.replace("<?" + reply + "submaster?>", mstr);

                        talker.sendPacket(htm);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_more_sm2.htm", myself);
                    }
                }
            }
            else if (ask == -222)
            {
                if (!talker.ClanLeader || !talker.HavePledgePower(@PP_MANAGE_GROWTH))
                {
                    talker.ShowHtm("pl_err_master.htm", myself);
                    return;
                }

                if (reply == -1)
                {
                    if (talker.Clan.HasSubPledge(reply))
                    {
                        talker.ShowHtm("pl_ch_rename_aca.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_rename_aca.htm", myself);
                    }
                }
                else if (reply < 1000)
                {
                    if (reply / 100 > royalGuard)
                    {
                        talker.ShowHtm("pl_err_more_sub.htm", myself);
                    }
                    else if (talker.Clan.HasSubPledge(reply))
                    {
                        talker.ShowHtm("pl_ch_rename" + reply + ".htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_rename_sub.htm", myself);
                    }
                }
                else if (reply < 10000)
                {
                    if (reply % 1000 > knights / royalGuard)
                    {
                        talker.ShowHtm("pl_err_more_sub2.htm", myself);
                    }
                    else if (talker.Clan.HasSubPledge(reply))
                    {
                        talker.ShowHtm("pl_ch_rename" + reply + ".htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("pl_err_rename_sub2.htm", myself);
                    }
                }
            }
            else if (ask == -223)
            {
                byte lvl = talker.ClanLevel;
                if (reply == 0)
                {
                    switch (lvl)
                    {
                    case 9:
                        talker.ShowHtm(GetDialog("fnHalfUpgrade"), myself);
                        break;

                    case 10:
                    case 11:
                        talker.ShowHtm(GetDialog("fnFullUpgrade"), myself);
                        break;

                    default:
                        talker.ShowHtm(GetDialog("fnLowSkillLvForUpgrade"), myself);
                        break;
                    }
                }
                else if (reply == 1)
                {
                    if (lvl == 11)
                    {
                        talker.ShowHtm(GetDialog("fnFullUpgradeSub"), myself);
                    }
                    else
                    {
                        talker.ShowHtm(GetDialog("fnLowSkillLvForUpgradeSub"), myself);
                    }
                }
            }
            else if (ask == -4)
            {
                if (reply == 0)
                {
                    talker.ShowHtm("al005.htm", myself);
                }
            }
        }
Example #6
0
 public LocalizationKey(FString value) => _value = value;
Example #7
0
 internal static bool IsParserOption(string line)
 {
     return(FString.FastIndexOf(ref line, FLKeywords.SetParserOptionKey) == 0);
 }
Example #8
0
 internal static bool IsDefineScriptStatement(string line)
 {
     return(FString.FastIndexOf(ref line, DEFINE_SCRIPT_KEY) == 0);
 }
Example #9
0
 public Base(FString value, FString localizationNamespace, FString localizationKey) => (_locNamespace, _locKey, _value) = (localizationNamespace, localizationKey, value);
 private IMember GetValueFromFString(FString fString)
 {
     return(new PythonFString(fString.Unparsed, Interpreter, GetLoc(fString)));
 }
Example #11
0
 public Base(FString value) : this(value, null !, null !)
 {
 }
Example #12
0
        protected FBytes Build()
        {
            FBytes  bytes = new FBytes();
            FString line  = new FString();

            // Protocol
            if (RString.IsEmpty(_method))
            {
                if (_values.IsEmpty)
                {
                    line.Append("GET ");
                }
                else
                {
                    line.Append("POST ");
                }
            }
            else
            {
                line.Append(_method);
                line.Append(" ");
            }
            if (_connection.UseProxy)
            {
                line.Append(_connection.Url.ToString());
            }
            else
            {
                if (RString.IsEmpty(_connection.Url.Path))
                {
                    line.Append("/");
                }
                else
                {
                    line.Append(_connection.Url.Path);
                }
            }
            line.Append(" HTTP/1.1\r\n");
            // Values
            FString value = new FString();

            if (!_values.IsEmpty)
            {
                int count = _values.Count;
                for (int n = 0; n < count; n++)
                {
                    if (n != 0)
                    {
                        value.Append('&');
                    }
                    value.Append(_values.Name(n));
                    value.Append('=');
                    value.Append(_values.Value(n));
                }
                _heads["Content-Length"] = value.Length.ToString();
            }
            bytes.Append(line.ToBytes(Encoding.ASCII));
            // Heads
            if (!_heads.IsEmpty)
            {
                int count = _heads.Count;
                for (int n = 0; n < count; n++)
                {
                    line.Clear();
                    line.Append(_heads.Name(n));
                    line.Append(": ");
                    line.Append(_heads.Value(n));
                    line.Append("\r\n");
                    bytes.Append(line.ToBytes(Encoding.ASCII));
                }
            }

            /*// Host Fix
             * if (!_heads.Contains("Host")) {
             * line.Clear();
             * line.Append("Host: ");
             * line.Append(_connection.Url.Host);
             * line.Append("\r\n");
             * bytes.Append(line.ToBytes(Encoding.ASCII));
             * }*/
            // Make
            line.Clear();
            line.Append("\r\n");
            bytes.Append(line.ToBytes(Encoding.ASCII));
            if (!_values.IsEmpty)
            {
                bytes.Append(value.ToBytes(Encoding.ASCII));
            }
            line.Append("\r\n");
            return(bytes);
        }
Example #13
0
            private static unsafe void SetGameModeBase_process_event(IntPtr context, Frame *theStack, IntPtr result)
            {
                var obj = UObject.Make <DotNetGameInstance>(context);
                var b   = (byte *)theStack->Locals;

                obj.on_SetGameModeBase(UObject.Make <GameModeBase>(*(IntPtr *)(b + 0)), FString.Get(b + 8));
            }
Example #14
0
        private static string GetName(ref string line, string key)
        {
            int len = FString.FastIndexOf(ref line, ":") - key.Length;

            return(line.Substring(key.Length, len).TrimStart());
        }
Example #15
0
 internal static bool IsDefineArrayBuffer(string line)
 {
     return(FString.FastIndexOf(ref line, FLKeywords.DefineArrayKey) == 0);
 }
Example #16
0
 internal static bool IsDefineStatement(string line)
 {
     return(FString.FastIndexOf(ref line, DEFINE_TEXTURE_KEY) == 0);
 }
Example #17
0
 internal static bool IsDefineScriptStatement(string line)
 {
     return(FString.FastIndexOf(ref line, FLKeywords.DefineScriptKey) == 0);
 }
 private IMember GetValueFromFString(FString fString)
 => new PythonFString(fString.Unparsed, Interpreter);
Example #19
0
        public override void TalkedReply(L2Player talker, int ask, int reply)
        {
            if (ask == -1000)
            {
                if (reply == 0)
                {
                    talker.ShowHtm(GetDialog("fnHi"), myself);
                }
                else if (reply == 1)
                {
                    NpcHtmlMessage htm = new NpcHtmlMessage(talker, GetDialog(myself.residenceId > 0 ? "fnFeudInfo" : "fnNoFeudInfo"), myself.ObjID);

                    if (myself.residenceId > 0)
                    {
                        Castle castle = CastleManager.getInstance().get(myself.residenceId);
                        htm.replace("<?my_pledge_name?>", castle.OwningClanName);
                        htm.replace("<?my_owner_name?>", castle.OwningPlayerName);
                        htm.replace("<?current_tax_rate?>", (int)castle.Tax);
                    }

                    htm.replace("<?kingdom_name?>", FString.getInstance().get(myself.residenceId < 7 ? 1001000 : 1001100));
                    htm.replace("<?feud_name?>", FString.getInstance().get(myself.residenceId + 1001000));

                    talker.sendPacket(htm);
                }
            }
            else if (ask == -303)
            {
                if (reply == 579)
                {
                    if (talker.Level > 40 && talker.Level < 46)
                    {
                        MultiSell.getInstance().showList(talker, myself, reply);
                    }
                }
                else if (reply == 580)
                {
                    if (talker.Level >= 46 && talker.Level < 52)
                    {
                        MultiSell.getInstance().showList(talker, myself, reply);
                    }
                }
                else if (reply == 581)
                {
                    if (talker.Level >= 52)
                    {
                        MultiSell.getInstance().showList(talker, myself, reply);
                    }
                }
                else
                {
                    MultiSell.getInstance().showList(talker, myself, reply);
                }
            }
            else if (ask == -503)
            {
                if (reply == 100)
                {
                    ShowVariationMakeWindow(talker);
                }
                else if (reply == 200)
                {
                    ShowVariationCancelWindow(talker);
                }
            }
            else if (ask == -601)
            {
                if (reply == 0)
                {
                    if (!talker.hasAllOfThisItems(8957, 8958, 8959))
                    {
                        talker.ShowHtm("welcomeback003.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("welcomeback004.htm", myself);
                    }
                }
                else if (reply == 0)
                {
                    if (!talker.hasAllOfThisItems(8957, 8958, 8959))
                    {
                        talker.ShowHtm("welcome_lin2_cat002.htm", myself);
                    }
                    else
                    {
                        talker.ShowHtm("welcome_lin2_cat004.htm", myself);
                    }
                }
                else if (reply == 2)
                {
                    if (talker.Level < 20)
                    {
                        MultiSell.getInstance().showList(talker, myself, 583);
                    }
                    else if (talker.Level >= 20 && talker.Level < 40)
                    {
                        MultiSell.getInstance().showList(talker, myself, 584);
                    }
                    else if (talker.Level >= 40 && talker.Level < 52)
                    {
                        MultiSell.getInstance().showList(talker, myself, 585);
                    }
                    else if (talker.Level >= 52 && talker.Level < 61)
                    {
                        MultiSell.getInstance().showList(talker, myself, 586);
                    }
                    else if (talker.Level >= 61 && talker.Level < 76)
                    {
                        MultiSell.getInstance().showList(talker, myself, 587);
                    }
                    else if (talker.Level >= 76)
                    {
                        MultiSell.getInstance().showList(talker, myself, 588);
                    }
                }
                else if (reply == 3)
                {
                    if (talker.Level < 20)
                    {
                        MultiSell.getInstance().showList(talker, myself, 589);
                    }
                    else if (talker.Level >= 20 && talker.Level < 40)
                    {
                        MultiSell.getInstance().showList(talker, myself, 590);
                    }
                    else if (talker.Level >= 40 && talker.Level < 52)
                    {
                        MultiSell.getInstance().showList(talker, myself, 591);
                    }
                    else if (talker.Level >= 52 && talker.Level < 61)
                    {
                        MultiSell.getInstance().showList(talker, myself, 592);
                    }
                    else if (talker.Level >= 61 && talker.Level < 76)
                    {
                        MultiSell.getInstance().showList(talker, myself, 593);
                    }
                    else if (talker.Level >= 76)
                    {
                        MultiSell.getInstance().showList(talker, myself, 594);
                    }
                }
                else if (reply == 4)
                {
                    if (talker.Level < 20)
                    {
                        MultiSell.getInstance().showList(talker, myself, 595);
                    }
                    else if (talker.Level >= 20 && talker.Level < 40)
                    {
                        MultiSell.getInstance().showList(talker, myself, 596);
                    }
                    else if (talker.Level >= 40 && talker.Level < 52)
                    {
                        MultiSell.getInstance().showList(talker, myself, 597);
                    }
                    else if (talker.Level >= 52 && talker.Level < 61)
                    {
                        MultiSell.getInstance().showList(talker, myself, 598);
                    }
                    else if (talker.Level >= 61 && talker.Level < 76)
                    {
                        MultiSell.getInstance().showList(talker, myself, 601);
                    }
                    else if (talker.Level >= 76)
                    {
                        MultiSell.getInstance().showList(talker, myself, 600);
                    }
                }
            }
        }