public override bool Load(SecurityElement element)
    {
        if (element.Tag != "Items")
        {
            return(false);
        }
        if (element.Children != null)
        {
            foreach (SecurityElement childrenElement in element.Children)
            {
                if (childrenElement.Tag == "Item")
                {
                    SeaAreaObject seaAreaObject = SeaAreaObject.Load(childrenElement);

                    if (!_seaAreaObjectDict.ContainsKey(seaAreaObject.SeaAreaID))
                    {
                        _seaAreaObjectDict[seaAreaObject.SeaAreaID] = seaAreaObject;
                    }
                }
            }
            return(true);
        }
        else
        {
            return(false);
        }
    }
        public static SeaAreaObject Load(SecurityElement element)
        {
            SeaAreaObject seaAreaObject = new SeaAreaObject();

            seaAreaObject.SeaAreaID     = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Sea_ID"), ""), -1);
            seaAreaObject.SeaAreaNameID = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Sea_Name"), ""), -1);
            seaAreaObject.PortNameID    = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Port_Name"), ""), -1);
            seaAreaObject.CopyIdList    = StrParser.ParseDecIntList(StrParser.ParseStr(element.Attribute("Copy_List"), ""), -1);
            seaAreaObject.FlourishValue = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("flourish_Value"), ""), -1);
            seaAreaObject.FlourishLevel = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("flourish_Level"), ""), -1);
            seaAreaObject.DefenseValue  = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Defense_Value"), ""), -1);
            seaAreaObject.DefenseLevel  = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Defense_Level"), ""), -1);
            seaAreaObject.SceneName     = StrParser.ParseStr(element.Attribute("Port_Map"), "");
            seaAreaObject.PortPosition  = StrParser.ParseStr(element.Attribute("Port_Pos"), "");
//			seaAreaObject.SeaAreaPosition = StrParser.ParseStr(StrParser.ParseStr(element.Attribute("Sea_Pos"), ""),"");
            seaAreaObject.CountryID       = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Country_ID"), ""), -1);
            seaAreaObject.CountryFlagIcon = element.Attribute("Country_Flag_Icon");

            seaAreaObject.BuildingIdList     = StrParser.ParseDecIntList(StrParser.ParseStr(element.Attribute("Build_ID"), ""), -1);
            seaAreaObject.CampID             = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Camp_ID"), ""), -1);
            seaAreaObject.CampChange         = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Camp_Change"), ""), -1);
            seaAreaObject.AlliesReputation   = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Allies_Reputation"), ""), -1);
            seaAreaObject.AxisReputation     = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Axis_Reputation"), ""), -1);
            seaAreaObject.NeutralReputation  = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Neutral_Reputation"), ""), -1);
            seaAreaObject.WinnerPlayerNameID = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Winner_Player_Name"), ""), -1);
            seaAreaObject.WinnerTime         = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Winner_Time"), ""), -1);
            seaAreaObject.LevelRequire       = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Level_Require"), ""), -1);
            seaAreaObject.FeatRequire        = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Feat_Require"), ""), -1);
            seaAreaObject.TaskRequire        = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Task_Require"), ""), -1);
            seaAreaObject.CampRequire        = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("Camp_Require"), ""), -1);
            seaAreaObject.BlueprintSort      = StrParser.ParseDecInt(StrParser.ParseStr(element.Attribute("BluePrints"), ""), 0);

            return(seaAreaObject);
        }
    public bool GetSeaAreaElement(int seaID, out SeaAreaObject element)
    {
        element = null;
        if (!_seaAreaObjectDict.TryGetValue(seaID, out element))
        {
            return(false);
        }

        return(true);
    }