예제 #1
0
파일: FightMgr.cs 프로젝트: Rotanticu/SLG
        void UpDateFleets(MapGlobal MapGlobal, int Index, List <FightShip> fleet)
        {
            bool b = false;

            b = (ClearDead(fleet) != null);
            if (b)
            {
                List <FightShip>    clearFleet = ClearDead(fleet);
                MapGlobal.MapShip[] tempFleet  = new MapGlobal.MapShip[clearFleet.Count];


                for (int i = 0; i < clearFleet.Count; i++)
                {
                    tempFleet[i].attack        = clearFleet[i].attack;
                    tempFleet[i].defence       = clearFleet[i].defence;
                    tempFleet[i].maxDefence    = clearFleet[i].MaxDefence;
                    tempFleet[i].speed         = clearFleet[i].speed;
                    tempFleet[i].shipTypeIndex = clearFleet[i].shipTypeIndex;
                }
                for (int i = 0; i < MapGlobal.Fleets.Length; i++)
                {
                    if (MapGlobal.Fleets[i].mapIndex == Index && MapGlobal.Fleets[i].camp == fleet[0].camp)
                    {
                        MapGlobal.Fleets[i].MapShip = tempFleet;
                    }
                }
            }
            else
            {
                MapGlobal.Fleet[] tempFleets = new MapGlobal.Fleet[MapGlobal.Fleets.Length - 1];
                for (int i = 0, j = 0; i < MapGlobal.Fleets.Length; i++)
                {
                    if (MapGlobal.Fleets[i].mapIndex != Index)
                    {
                        tempFleets[j] = MapGlobal.Fleets[i];
                        j++;
                    }
                }
                MapGlobal.Fleets    = tempFleets;
                MapGlobal.unitCount = MapGlobal.Fleets.Length;
            }
        }
예제 #2
0
파일: FightMgr.cs 프로젝트: Rotanticu/SLG
        void LoadFleet(int attackerIndex, int defenderIndex, MapGlobal MapGlobal)
        {
            this.attackerIndex = attackerIndex;
            this.defenderIndex = defenderIndex;
            for (int i = 0; i < MapGlobal.Fleets.Length; i++)
            {
                if (MapGlobal.Fleets[i].mapIndex == attackerIndex)
                {
                    MapGlobal.Fleet attacker = MapGlobal.Fleets[i];
                    for (int j = 0; j < attacker.MapShip.Length; j++)
                    {
                        FightShip ship = Instantiate(shipPrefabs[attacker.MapShip[j].shipTypeIndex]);
                        ship.attack  = attacker.MapShip[j].attack;
                        ship.defence = attacker.MapShip[j].defence;

                        ship.MaxDefence = attacker.MapShip[j].maxDefence;

                        ship.speed = attacker.MapShip[j].speed;

                        ship.camp = attacker.camp;

                        ship.shipTypeIndex = attacker.MapShip[j].shipTypeIndex;

                        //text.text = ship.hullNumber;
                        //image = ship.headPortrait;
                        if (ship.camp == 0 || ship.camp == 2)
                        {
                            weFleet.Add(ship);
                        }
                        else if (ship.camp == 1)
                        {
                            enemyFleet.Add(ship);
                        }
                        fightFleet.Add(ship);
                        ship.transform.SetParent(weContent, false);
                    }
                }
                else if (MapGlobal.Fleets[i].mapIndex == defenderIndex)
                {
                    MapGlobal.Fleet defender = MapGlobal.Fleets[i];

                    for (int j = 0; j < defender.MapShip.Length; j++)
                    {
                        FightShip ship = Instantiate(shipPrefabs[defender.MapShip[j].shipTypeIndex]);
                        ship.attack  = defender.MapShip[j].attack;
                        ship.defence = defender.MapShip[j].defence;

                        ship.MaxDefence = defender.MapShip[j].maxDefence;

                        ship.speed = defender.MapShip[j].speed;

                        ship.camp = defender.camp;

                        ship.shipTypeIndex = defender.MapShip[j].shipTypeIndex;


                        //text.text = ship.hullNumber;
                        //image = ship.headPortrait;
                        if (ship.camp == 0 && ship.camp == 2)
                        {
                            weFleet.Add(ship);
                        }
                        else if (ship.camp == 1)
                        {
                            enemyFleet.Add(ship);
                        }
                        fightFleet.Add(ship);
                        ship.transform.SetParent(enemyContent, false);
                    }
                }
            }
            fightFleet.Sort((x, y) => x.CompareTo(y));
        }