Exemple #1
0
    public FleetL GetFleet(long fleetID)
    {
        FleetL fleet = null;

        _fleetList.TryGetValue(fleetID, out fleet);

        // Debug.Log ("Find the fleet, id = " + fleetID.ToString());
        return(fleet);
    }
Exemple #2
0
    public FleetL CreateFleet(long fleetID)
    {
        FleetL fleet = GetFleet(fleetID);

        if (fleet != null)
        {
            return(fleet);
        }

        fleet = new FleetL(fleetID);
        fleet.Initialze();

        _fleetList.Add(fleetID, fleet);
        return(fleet);
    }
Exemple #3
0
    // 2012.04.05 LiHaojie Begin the battle logic
    public virtual void BeginBattleLogic()
    {
        // Recalculate the formation bounds
        actorFormations.Clear();
        enemyFormations.Clear();

        FleetL   fleet   = null;
        WarshipL warship = null;

        foreach (GameData.BattleGameData.Fleet fleetData in _battleResult.Fleets)
        {
            List <GameData.BattleGameData.Ship> shipDatas = fleetData.Ships;

            fleet = Globals.Instance.MPlayerManager.CreateFleet(fleetData.FleetID);
            fleet._isActorFleet  = !fleetData.NPCFleet;
            fleet._isAttachFleet = fleetData.IsAttacker;

            PlayerData data = null;
            if (_battleResult.BattleType == GameData.BattleGameData.BattleType.PORT_VIE_BATTLE &&
                Globals.Instance.MPortVieManager.puFlagReverseFleetPosition)
            {
                if (fleet._isAttachFleet)
                {
                    data = Globals.Instance.MGameDataManager.MEnemyData;
                }
                else
                {
                    data = Globals.Instance.MGameDataManager.MActorData;
                }
            }
            else
            {
                if (fleet._isAttachFleet)
                {
                    data = Globals.Instance.MGameDataManager.MActorData;
                }
                else
                {
                    data = Globals.Instance.MGameDataManager.MEnemyData;
                }
            }

            foreach (GameData.BattleGameData.Ship shipData in shipDatas)
            {
                GirlData wsData = data.GetGirlData(shipData.ShipID);

                //tzz added
                wsData.WarshipGeneralLogicID = shipData.GeneralLogicID;
                wsData.WarshipGeneralAvatar  = shipData.GeneralAvatar;

                fleet.CreateWarship(wsData, delegate(WarshipL ws)
                {
                    warship = ws;
                    warship.setBloodDisplay(true);
                    warship._warshipLogicID = shipData.LogicShipID;
//					warship.U3DGameObject.name = wsData.BasicData.Name;
                    warship.GameObjectTag = TagMaskDefine.GFAN_FIGHT_WARSHIP;

                    // Fleet data
                    warship.Property.WarshipFleetID    = fleet._fleetID;
                    warship.Property.WarshipIsAttacker = fleet._isAttachFleet;
                    warship.Property.WarshipIsNpc      = shipData.IsNpc;

                    // // A specifical value, use to simulate server running
                    warship._numBeAttacked = 0;

                    Vector3 position = HelpUtil.GetWarFiledGridPosition(shipData.Position);
                    position        += SceneOffset;
                    warship.ForceMoveTo(position);

                    // Rotate 180 around y axis
                    if (!fleet._isAttachFleet)
                    {
                        warship.U3DGameObject.transform.rotation = Quaternion.AngleAxis(180, Vector3.up);
                    }
                });

                if (fleet._isAttachFleet)
                {
                    AddFormationCell(shipData.Position, actorFormations);
                }
                else
                {
                    AddFormationCell(shipData.Position, enemyFormations);
                }
            }

            // If is Npc fleet
            if (fleetData.NPCFleet == true)
            {
                // The enemy fleet information
                _enemyFleet = fleet;
            }
            else
            {
                // The actor information
                _actorFleet = fleet;
            }

            _currentFleets.Add(fleet._fleetID, fleet);
        }

        //tzz added for store the fov in order restore when Battle end
        //
        CustomCameraFormerFov = Globals.Instance.MSceneManager.mMainCamera.fov;
        Globals.Instance.MSceneManager.mMainCamera.fov = 60;
    }
Exemple #4
0
 public void RemoveFleet(FleetL fleet)
 {
     fleet.Release();
     _fleetList.Remove(fleet._fleetID);
 }