Пример #1
0
    public static void LoadBattleData(out AllBattleFmt day, out AllBattleFmt night, out BattleResultFmt result)
    {
        XmlSerializer xmlSerializer = new XmlSerializer(typeof(AllBattleFmt));

        day = null;
        if (File.Exists(currentDir + "DayBattleFmt.xml"))
        {
            StreamReader streamReader = new StreamReader(currentDir + "DayBattleFmt.xml");
            day = (AllBattleFmt)xmlSerializer.Deserialize(streamReader);
            streamReader.Close();
        }
        night = null;
        if (File.Exists(currentDir + "NightBattleFmt.xml"))
        {
            StreamReader streamReader2 = new StreamReader(currentDir + "NightBattleFmt.xml");
            night = (AllBattleFmt)xmlSerializer.Deserialize(streamReader2);
            streamReader2.Close();
        }
        result        = null;
        xmlSerializer = new XmlSerializer(typeof(BattleResultFmt));
        if (File.Exists(currentDir + "BattleResultFmt.xml"))
        {
            StreamReader streamReader3 = new StreamReader(currentDir + "BattleResultFmt.xml");
            result = (BattleResultFmt)xmlSerializer.Deserialize(streamReader3);
            streamReader3.Close();
        }
    }
Пример #2
0
    public static bool SerializeNightBattle(AllBattleFmt fmt)
    {
        if (fmt == null)
        {
            return(false);
        }
        string        fileName   = currentDir + "NightBattleFmt.xml";
        XmlSerializer serializer = new XmlSerializer(typeof(AllBattleFmt));

        return(writeBattleFmt(fileName, serializer, fmt));
    }
    public static bool SerializeDayBattle(AllBattleFmt fmt)
    {
        if (fmt == null)
        {
            return(false);
        }
        string        fileName   = DebugBattleMaker.currentDir + "DayBattleFmt.xml";
        XmlSerializer serializer = new XmlSerializer(typeof(AllBattleFmt));

        return(DebugBattleMaker.writeBattleFmt(fileName, serializer, fmt));
    }
        public Api_Result <AllBattleFmt> AirBattle()
        {
            Api_Result <AllBattleFmt> api_Result = new Api_Result <AllBattleFmt>();

            if (this.userData == null)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Mst_mapcell2 nowCell = this.mapInstance.GetNowCell();

            if (nowCell.Event_2 != enumMapWarType.AirBattle && this.battleKinds != ExecBattleKinds.None)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (this.allBattleFmt == null)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            AllBattleFmt allBattleFmt = this.allBattleFmt;

            allBattleFmt.DayBattle.OpeningProduction = this.battleCommandParams.GetProductionData(this.userData.GetDeckBattleCommand().get_Item(0));
            if (this.battleCommandParams.IsEscape)
            {
                allBattleFmt.DayBattle.ValidMidnight = base.isGoMidnight();
                this.battleKinds = ExecBattleKinds.DayOnly;
                api_Result.data  = allBattleFmt;
                return(api_Result);
            }
            using (Exec_AirBattle exec_AirBattle = new Exec_AirBattle(this.userData, this.userSubInfo, this.enemyData, this.enemySubInfo, allBattleFmt.DayBattle.Search, false))
            {
                allBattleFmt.DayBattle.AirBattle = exec_AirBattle.GetResultData(this.formationParams, this.battleCommandParams);
                this.seikuValue = exec_AirBattle.getSeikuValue();
            }
            allBattleFmt.BattleFormation = (this.userData.BattleFormation = (this.enemyData.BattleFormation = this.formationParams.AfterAirBattle_RewriteBattleFormation2(this.userData)));
            using (Exec_AirBattle exec_AirBattle2 = new Exec_AirBattle(this.userData, this.userSubInfo, this.enemyData, this.enemySubInfo, allBattleFmt.DayBattle.Search, false))
            {
                allBattleFmt.DayBattle.AirBattle2 = exec_AirBattle2.GetResultData(this.formationParams, this.battleCommandParams);
            }
            allBattleFmt.DayBattle.ValidMidnight = base.isGoMidnight();
            this.battleKinds = ExecBattleKinds.DayOnly;
            api_Result.data  = allBattleFmt;
            return(api_Result);
        }
        public Api_Result <AllBattleFmt> Night_Sp(BattleFormationKinds1 formationKind)
        {
            Api_Result <AllBattleFmt> api_Result = new Api_Result <AllBattleFmt>();

            if (this.userData == null)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Mst_mapcell2 nowCell = this.mapInstance.GetNowCell();

            if (nowCell.Event_2 != enumMapWarType.Midnight || this.battleKinds != ExecBattleKinds.None)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (this.userData.ShipData.get_Item(0).Get_DamageState() == DamageState.Taiha)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            base.initFormation(formationKind);
            AllBattleFmt allBattleFmt = new AllBattleFmt(this.userData.Formation, this.enemyData.Formation, this.userData.BattleFormation);
            Dictionary <int, List <Mst_slotitem> > useRationShips = null;
            List <int> list = null;

            if (!this.getCombatRationResult(out useRationShips, out list))
            {
                useRationShips = null;
            }
            using (Exec_Midnight exec_Midnight = new Exec_Midnight(2, this.seikuValue, this.userData, this.userSubInfo, this.enemyData, this.enemySubInfo, false))
            {
                allBattleFmt.NightBattle = exec_Midnight.GetResultData(this.formationParams, this.battleCommandParams);
                allBattleFmt.NightBattle.Header.UseRationShips = useRationShips;
            }
            this.battleKinds  = ExecBattleKinds.NightOnly;
            api_Result.data   = allBattleFmt;
            this.allBattleFmt = allBattleFmt;
            return(api_Result);
        }
Пример #6
0
        public Api_Result <AllBattleFmt> Night_Sp(BattleFormationKinds1 formationKind)
        {
            Api_Result <AllBattleFmt> api_Result = new Api_Result <AllBattleFmt>();

            if (userData == null)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Mst_mapcell2 nowCell = mapInstance.GetNowCell();

            if (nowCell.Event_2 != enumMapWarType.Midnight || battleKinds != 0)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (userData.ShipData[0].Get_DamageState() == DamageState.Taiha)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            initFormation(formationKind);
            AllBattleFmt allBattleFmt = new AllBattleFmt(userData.Formation, enemyData.Formation, userData.BattleFormation);
            Dictionary <int, List <Mst_slotitem> > useShipInfo = null;
            List <int> givenShips = null;

            if (!getCombatRationResult(out useShipInfo, out givenShips))
            {
                useShipInfo = null;
            }
            using (Exec_Midnight exec_Midnight = new Exec_Midnight(2, seikuValue, userData, userSubInfo, enemyData, enemySubInfo, practice: false))
            {
                allBattleFmt.NightBattle = exec_Midnight.GetResultData(formationParams, battleCommandParams);
                allBattleFmt.NightBattle.Header.UseRationShips = useShipInfo;
            }
            battleKinds       = ExecBattleKinds.NightOnly;
            api_Result.data   = allBattleFmt;
            base.allBattleFmt = allBattleFmt;
            return(api_Result);
        }