//保存内容
        private void btnEdit_SaveClickHandleClick(object sender, EventArgs e)
        {
            // 这里是插入方法
            if (EditOrInsert == 0)
            {
                //判断为空
                if (string.IsNullOrEmpty(dgvBaseList.Rows[index].Cells[1].Value.ToString()) || string.IsNullOrEmpty(dgvBaseList.Rows[index].Cells[2].Value.ToString()))
                {
                    lblError.Text = "船舶名称或分类没有添入内容";
                    return;                         //存在相同直接返回
                }
                //这是插入记录 行号为Index
                for (int i = 0; i < dgvBaseList.Rows.Count - 1; i++)
                {
                    if (dgvBaseList.Rows[i].Cells[1].Value.ToString().Trim() == dgvBaseList.Rows[index].Cells[1].Value.ToString())
                    {
                        dgvBaseList.Rows[i].Cells[1].Style.BackColor = Color.Red;
                        lblError.Text = "存在相同项";
                        return;                         //存在相同直接返回
                    }
                }

                //这里插入记录
                ShipInfo bs = new ShipInfo();
                bs.Name = dgvBaseList.Rows[index].Cells[1].Value.ToString();
                bs.Type = dgvBaseList.Rows[index].Cells[2].Value.ToString();
                new BaseManager <ShipInfo>().InsertBoxSize(bs);
            }
            //这里是修改记录方法
            if (EditOrInsert == 1)
            {
                //进行相同比较
                for (int i = 0; i < dgvBaseList.Rows.Count - 1; i++)
                {
                    for (int j = i + 1; j < dgvBaseList.Rows.Count; j++)
                    {
                        if (dgvBaseList.Rows[i].Cells[1].Value.ToString() == dgvBaseList.Rows[j].Cells[1].Value.ToString())
                        {
                            //存在相同 红色显示
                            dgvBaseList.Rows[i].Cells[1].Style.BackColor = Color.Red;
                            dgvBaseList.Rows[j].Cells[1].Style.BackColor = Color.Red;
                            lblError.Text = "存在相同的内容";
                            return;
                        }
                    }
                }
                foreach (DataGridViewRow item in dgvBaseList.Rows)    //循环更新
                {
                    ShipInfo bs = new ShipInfo();
                    bs.ID   = item.Cells[0].Value.ToString();
                    bs.Name = item.Cells[1].Value.ToString();
                    bs.Type = item.Cells[2].Value.ToString();
                    new BaseManager <ShipInfo>().UpdateBoxSize(bs);
                }
            }
            btnEdit.isTrue = true;
            lblError.Text  = "";
            Init();
        }
Esempio n. 2
0
            public FleetInfo(BattleResult.Result.FleetState state)
            {
                Ships = new ShipInfo[] {
                    new ShipInfo(state.Ships[0]),new ShipInfo(state.Ships[1]),new ShipInfo(state.Ships[2]),
                    new ShipInfo(state.Ships[3]),new ShipInfo(state.Ships[4]),new ShipInfo(state.Ships[5]),
                };

            }
Esempio n. 3
0
 void BuildResearchRacer()
 {
     // Build ship
     ShipInfo s = new ShipInfo(0, _planet.planetNum, _planet.homeStar.myNumber);
     //PlayerData.instance.shipList.Add(s);
     NetworkManager.instance._controller.SendNewShip(s); // Send ship creation request to server
     ShipSelectMenu.Instance.Refresh();
 }
Esempio n. 4
0
        /// <summary>
        /// Called to show equipment through the sub presenter
        /// </summary>
        /// <param name="equipmentType"></param>
        private void ShowEquipment(EquipmentType equipmentType)
        {
            GameObject cellPrefab   = GameManager.Instance.uiSettings.prototypeEquipmentCell;
            ShipInfo   selectedShip = shipDataServicer.GetShipItem(shipID);

            cellPopulator.PopulateEquipmentSlots(inventoryCells, selectedShip, cellPrefab, equipmentType);
            cellPopulator.CreateInventoryCell(cellPrefab, inventoryCells);
        }
 private void loadShipsPlayer(ShipsPlayerData shipsData)
 {
     foreach (ShipData ship in gameData.shipsPlayerData.shipsPlayer)
     {
         ShipInfo instance = Instantiate(Resources.Load(ship.shipNamePrefab, typeof(ShipInfo))) as ShipInfo;
         shipsPlayer.Add(instance);
     }
 }
Esempio n. 6
0
 public void Initialize()
 {
     _timeProvider  = new TimeProvider();
     _shipInventory = new ShipInventory();
     _shipInfo      = new ShipInfo(null, _shipInventory, new ItemInventory());
     _akashiTimer   = new AkashiTimer(_shipInfo, new DockInfo(null, null), null, _timeProvider.GetTime);
     SetupFleet();
 }
 /// <summary>
 /// Start()
 /// Used for initialization
 /// </summary>
 void Start()
 {
     playerData   = GetComponent <PlayerData>();
     shipInfo     = ship.GetComponent <ShipInfo>();
     spawner      = GetComponent <AsteroidSpawner>();
     guiHandler   = GetComponent <GUIHandler>();
     inputHandler = GetComponent <InputHandler>();
 }
Esempio n. 8
0
        public void BuyShip()
        {
            ShipInfo info = SessionData.instance.shipServicer.GetShipItem(shipID);

            info.isUnlocked = true;
            HideMessageBox();
            shipMenu.OpenMenu();
        }
 /// <summary>
 /// Start()
 /// Used for initialization
 /// </summary>
 void Start()
 {
     shipMovement    = ship.GetComponent <ShipMovement>();
     shipShooting    = ship.GetComponent <ShipShooting>();
     shipInfo        = ship.GetComponent <ShipInfo>();
     guiHandler      = GetComponent <GUIHandler>();
     asteroidSpawner = GetComponent <AsteroidSpawner>();
 }
Esempio n. 10
0
 void Start()
 {
     player = GameObject.FindGameObjectWithTag("Player");
     prb    = player.GetComponent <Rigidbody>();
     rb     = GetComponent <Rigidbody>();
     info   = GetComponent <ShipInfo>();
     UpdateStats();
 }
        //Auslesen mehrere Shippings mit Objektvorgabe
        public List <ShipInfo> ReadShippings(ShipInfo shipping)
        {
            List <ShipInfo> shippings = _dbRead.ReadShippings(shipping);

            Log.D("SLogicQueries.ReadShipping(ShipInfo)", shippings);

            return(shippings);
        }
Esempio n. 12
0
    private void CmdSendShipInfo(string _name, string _type, string _shipStr, int _ownerID)
    {
        ShipInfo _shipInfo = new ShipInfo();

        _shipInfo.SetShipInfo(_name, _type, _shipStr, _ownerID);

        CasheScript.Instance.ShipList.Add(_shipInfo);
    }
Esempio n. 13
0
 public BaseShip(ShipInfo shipInfo, Drawable draw, int team, Vector2 pos)
     : base(draw, shipInfo.maxSpeed, shipInfo.acceleration, PhysicalObjectType.Ship, pos, Vector2.UnitX, Vector2.UnitX, shipInfo.bodyInfo)
 {
     health        = shipInfo.health;
     rotationSpeed = shipInfo.rotationSpeed;
     IsDestroyed   = false;
     Team          = team;
 }
Esempio n. 14
0
        private void UpdateScoutMission(
            GameSession game,
            LocustSwarmInfo info,
            FleetInfo fleet,
            StarSystemInfo currentSystem,
            bool nestWaitingToGroupUp)
        {
            List <LocustSwarmScoutInfo> list1 = game.GameDatabase.GetLocustSwarmScoutsForLocustNest(info.Id).ToList <LocustSwarmScoutInfo>();

            if (list1.Count == 0)
            {
                return;
            }
            List <int> scoutedSystems = new List <int>();
            List <LocustSwarmScoutTargetInfo> list2 = game.GameDatabase.GetLocustSwarmScoutTargetInfos().ToList <LocustSwarmScoutTargetInfo>();
            List <LocustSwarmScoutInfo>       list3 = game.GameDatabase.GetLocustSwarmScoutInfos().ToList <LocustSwarmScoutInfo>();

            scoutedSystems.AddRange((IEnumerable <int>)list2.Select <LocustSwarmScoutTargetInfo, int>((Func <LocustSwarmScoutTargetInfo, int>)(x => x.SystemId)).ToList <int>());
            foreach (LocustSwarmScoutInfo locustSwarmScoutInfo in list3)
            {
                if (locustSwarmScoutInfo.TargetSystemId != 0 && !scoutedSystems.Contains(locustSwarmScoutInfo.TargetSystemId))
                {
                    scoutedSystems.Add(locustSwarmScoutInfo.TargetSystemId);
                }
            }
            int num1 = list1.Where <LocustSwarmScoutInfo>((Func <LocustSwarmScoutInfo, bool>)(x => x.TargetSystemId == currentSystem.ID)).Count <LocustSwarmScoutInfo>();

            foreach (LocustSwarmScoutInfo locustSwarmScoutInfo in list1)
            {
                ShipInfo shipInfo = game.GameDatabase.GetShipInfo(locustSwarmScoutInfo.ShipId, false);
                if (nestWaitingToGroupUp)
                {
                    if (shipInfo.FleetID != fleet.ID && game.GameDatabase.GetMissionByFleetID(shipInfo.FleetID) == null)
                    {
                        game.GameDatabase.TransferShip(locustSwarmScoutInfo.ShipId, fleet.ID);
                        Vector3 vector3 = new Vector3();
                        vector3.Y = 0.0f;
                        float num2 = (float)(((num1 + 1) % 5 + 1) / 2);
                        float num3 = (num1 + 1) % 2 == 0 ? 1f : -1f;
                        vector3.Z = -300f * num2;
                        vector3.X = num3 * 500f * num2;
                        game.GameDatabase.UpdateShipFleetPosition(locustSwarmScoutInfo.ShipId, new Vector3?(vector3));
                        locustSwarmScoutInfo.TargetSystemId = fleet.SystemID;
                        game.GameDatabase.UpdateLocustSwarmScoutInfo(locustSwarmScoutInfo);
                        game.GameDatabase.RemoveFleet(shipInfo.FleetID);
                        ++num1;
                    }
                }
                else if (shipInfo.FleetID == fleet.ID || game.GameDatabase.GetMissionByFleetID(shipInfo.FleetID) == null)
                {
                    int num2 = this.SetNextScoutTarget(game, info, currentSystem, locustSwarmScoutInfo, scoutedSystems);
                    if (!scoutedSystems.Contains(num2))
                    {
                        scoutedSystems.Add(num2);
                    }
                }
            }
        }
        public DAL(XDocument xdocument)
        {
            Xdoc = xdocument;

            //order.

            ShipInfo info = new ShipInfo();
            //info.ShipVia = (int)Xdoc.Root.Element(Paths.ns + "Orders").Element(Paths.ns + "Order").Element(Paths.ns + "ShippedDate");
        }
Esempio n. 16
0
        public virtual BoardInfo GenerateBoad()
        {
            var      boardInfo = new BoardInfo();
            ShipInfo shipInfo;

            List <ShipInfo> lst = new List <ShipInfo>();

            for (int i = 4; i > 0; i--)
            {
                for (int j = 0; j <= 4 - i; j++)
                {
                    int retries = 0;
                    shipInfo = GenerateShip(i);
                    while (!CanPlaceShipOnBoard(shipInfo, boardInfo.Board))
                    {
                        shipInfo = GenerateShip(i);
                        retries++;

                        if (retries > 1000)
                        {
                            shipInfo = null;

                            //if random fail - try to find cells iterating "manually" through the board
                            for (int k = 0; k < boardInfo.Board.Length; ++k)
                            {
                                if (boardInfo.Board[k] == (int)ClientCellState.CellNotFired)
                                {
                                    ShipInfo tempShipInfo = GenerateShip(i, k, true);
                                    if (CanPlaceShipOnBoard(tempShipInfo, boardInfo.Board))
                                    {
                                        shipInfo = tempShipInfo;
                                        break;
                                    }

                                    tempShipInfo = GenerateShip(i, k, false);
                                    if (CanPlaceShipOnBoard(tempShipInfo, boardInfo.Board))
                                    {
                                        shipInfo = tempShipInfo;
                                        break;
                                    }
                                }
                            }

                            if (shipInfo == null)
                            {
                                throw new Exception("Generate Board failed. Max retries level reached.");
                            }
                        }
                    }

                    PlaceShipOnBoard(shipInfo, boardInfo.Board);
                    boardInfo.Ships.Add(shipInfo);
                }
            }

            return(boardInfo);
        }
Esempio n. 17
0
    void Start()
    {
        info = GetComponent <ShipInfo>();

        UpdateInfo();

        Cursor.lockState = CursorLockMode.Locked;
        Cursor.visible   = false;
    }
Esempio n. 18
0
    public void InitializeShip(ShipInfo shipInfo)
    {
        print("Start initializing " + shipInfo.selectingPlayer);
        playerEnum         = shipInfo.selectingPlayer;
        characterType      = shipInfo.typeOfShip;
        player.playerColor = shipInfo.shipColor;

        SetSprite();
    }
Esempio n. 19
0
	public void SetInfo(ShipInfo info) {
		_background	= transform.Find("BG").GetComponent<Image>();
		_foreground	= transform.Find("FG").GetComponent<Image>();
		_timeRemainingText = transform.Find("Text").GetComponent<Text>();

		_currentTime = DateTime.Now;
		_startTime = info.departure_time;
		_endTime = info.arrival_time;
	}
Esempio n. 20
0
 void AddShipSelectMenuItem(ShipInfo s)
 {
     GameObject item = Instantiate(ShipSelectMenuItem_Prefab) as GameObject;
     item.transform.parent = _layoutGroup.transform;
     item.transform.localScale = new Vector3(1, 1, 1);
     ShipSelectMenuItem script = item.GetComponent<ShipSelectMenuItem>();
     script.SetInfo(s);
     _ShipSelectMenuItems.Add(script);
 }
Esempio n. 21
0
        private void PopulateCell()
        {
            ShipInfo info = SessionData.instance.shipServicer.GetShipItem(stringID);

            if (info.isUnlocked)
            {
                cellThumbnail.sprite = imageThumbnail;
            }
        }
Esempio n. 22
0
        private static void SimulateAsteroidMonitors(
            Random rand,
            GameSession game,
            int systemId,
            FleetInfo randomsFleet,
            int aiPlayerID,
            List <FleetInfo> aiPlayerFleets)
        {
            int numToKill = rand.NextInclusive(1, 3);
            Dictionary <FleetInfo, List <ShipInfo> > shipsInFleets = CombatSimulatorRandoms.GetShipsInFleets(game, aiPlayerFleets);

            if (shipsInFleets.Sum <KeyValuePair <FleetInfo, List <ShipInfo> > >((Func <KeyValuePair <FleetInfo, List <ShipInfo> >, int>)(x => x.Value.Count)) == 0)
            {
                return;
            }
            CombatSimulatorRandoms.UpdateShipsKilled(game, rand, shipsInFleets, randomsFleet.PlayerID, numToKill);
            int      encounterIdAtSystem = game.GameDatabase.GetEncounterIDAtSystem(EasterEgg.EE_ASTEROID_MONITOR, systemId);
            ShipInfo shipInfo            = game.GameDatabase.GetShipInfoByFleetID(randomsFleet.ID, false).ToList <ShipInfo>().FirstOrDefault <ShipInfo>((Func <ShipInfo, bool>)(x => x.DesignID == game.ScriptModules.AsteroidMonitor.MonitorCommandDesignId));

            if (shipInfo != null)
            {
                AsteroidMonitorInfo asteroidMonitorInfo = game.GameDatabase.GetAsteroidMonitorInfo(encounterIdAtSystem);
                if (asteroidMonitorInfo != null)
                {
                    asteroidMonitorInfo.IsAggressive = false;
                    game.GameDatabase.UpdateAsteroidMonitorInfo(asteroidMonitorInfo);
                }
                shipInfo.DesignInfo = game.GameDatabase.GetDesignInfo(shipInfo.DesignID);
                List <DesignModuleInfo> source = new List <DesignModuleInfo>();
                foreach (DesignSectionInfo designSection in shipInfo.DesignInfo.DesignSections)
                {
                    source.AddRange((IEnumerable <DesignModuleInfo>)designSection.Modules.ToList <DesignModuleInfo>());
                }
                if (source.Any <DesignModuleInfo>())
                {
                    foreach (SectionInstanceInfo sectionInstanceInfo in game.GameDatabase.GetShipSectionInstances(shipInfo.ID).ToList <SectionInstanceInfo>())
                    {
                        foreach (ModuleInstanceInfo module in game.GameDatabase.GetModuleInstances(sectionInstanceInfo.ID).ToList <ModuleInstanceInfo>())
                        {
                            module.Structure = 0;
                            game.GameDatabase.UpdateModuleInstance(module);
                        }
                    }
                    game.InsertNewMonitorSpecialProject(aiPlayerID, encounterIdAtSystem, randomsFleet.ID);
                }
                else
                {
                    game.GameDatabase.RemoveFleet(randomsFleet.ID);
                    game.GameDatabase.RemoveEncounter(encounterIdAtSystem);
                }
            }
            else
            {
                game.GameDatabase.RemoveFleet(randomsFleet.ID);
                game.GameDatabase.RemoveEncounter(encounterIdAtSystem);
            }
        }
 public PlayerShip(Texture2D spriteImage,Vector2 startPosition, ShipInfo info):base(spriteImage,startPosition)
 {
     enginePower = 0;
     delta = new Vector2(1,0);
     canFire = true;
     normal = delta;
     Info = info;
     Health = Info.MaxHealth;
 }
Esempio n. 24
0
        public void SetCell(string shipID, Sprite spriteThumbnail)
        {
            this.shipID = shipID;
            SessionData sessionData = SessionData.instance;
            ShipInfo    info        = sessionData.shipServicer.GetShipItem(shipID);

            this.isUnlocked = info.isUnlocked;
            SetThumbnail(spriteThumbnail);
        }
Esempio n. 25
0
 public void Update(ShipInfo ship)
 {
     if (isShieldShip(ship))
     {
         //Console.WriteLine($"{ship.MMSI}-{ship.Name}-{ship.ShipCargoType} - 屏蔽船舶");
         return;
     }
     lock (_shipQueue)
         _shipQueue.Enqueue(ship);
 }
Esempio n. 26
0
 public void Initialize()
 {
     _itemMaster    = new ItemMaster();
     _itemInventory = new ItemInventory();
     _itemInfo      = new ItemInfo(_itemMaster, _itemInventory);
     _shipInventory = new ShipInventory();
     _shipMaster    = new ShipMaster();
     _shipInfo      = new ShipInfo(_shipMaster, _shipInventory, _itemInventory);
     _battleInfo    = new BattleInfo(_shipInfo, _itemInfo, new AirBase(_itemInfo));
 }
    /// <summary>
    /// Instantiate new Ship and store a new ShipInfo to Save.
    /// </summary>
    /// <param name="newShipData"></param>
    /// <param name="newQuantity"></param>
    private void InstantiateShip(ShipData newShipData, int newQuantity = 0)
    {
        Ship     newShip     = Instantiate(prefabShip, containerShips, false);
        ShipInfo newShipInfo = new ShipInfo(newShipData, newQuantity);

        newShip.SetValues(newShipData, newQuantity);

        listShips.Add(newShip);
        listShipInfos.Add(newShipInfo);
    }
 public void InitializeShipInfo()
 {
     if (_viewModelMain.SelectedShipInfo == null)
     {
         _shipinfo = new ShipInfo();
     }
     else
     {
         _shipinfo = _viewModelMain.SelectedShipInfo;
     }
 }
 bool IsIslandInRange(ShipInfo a)
 {
     for (int i = 0; i < 5; i++)
     {
         if (a.PositionX > xx[i] - 196 && a.PositionX <xx[i] + 196 && a.PositionY> yy[i] - 196 && a.PositionY < yy[i] + 196)
         {
             return(true);
         }
     }
     return(false);
 }
Esempio n. 30
0
 public PlayerShip(ShipInfo shipInfo, BaseProjectilesController projController, ParticleSystem parSystem, int team, Vector2 pos, int id, Sender send, ShipController shipController)
     : base(shipInfo, projController, parSystem, team, pos, id)
 {
     this.shipController = shipController;
     sender   = send;
     timeData = new TimeData()
     {
         dataNumber = 1,
         time       = AndroidGame.time
     };
 }
Esempio n. 31
0
        public static OrderInfo ToLocalOrder(this Order order, ShipInfo ship)
        {
            var tradeList = new OrderInfo();

            if (order == null)
            {
                return(tradeList);
            }

            return(Mapper.Map <OrderInfo>(order));;
        }
Esempio n. 32
0
    public ShipController(ShipModel shipModel)
    {
        this.shipModel = shipModel;
        shipInfo = new ShipInfo(shipModel);

        GameObject go = new GameObject("Ship3DView");
        ship3DView = go.AddComponent<Ship3DView>();

        ship3DView.shipModel = shipModel;
        ship3DView.initializeAllBlocks();
    }
    public static void Create_ShipInfo()
    {
        ShipInfo asset = ScriptableObject.CreateInstance <ShipInfo>();

        AssetDatabase.CreateAsset(asset, "Assets/Resources/ShipInfo/ShipInfo_.asset");
        AssetDatabase.SaveAssets();

        EditorUtility.FocusProjectWindow();

        Selection.activeObject = asset;
    }
        public void SendShips([FromBody] ShipInfo info)
        {
            while (webUI == null)
            {
                ;                   // As the web ui takes time to be created because it contains an AI we need to wait for it to be completed
            }
            CreateTimer();
            Ship ship = new Ship(info.name, info.length, new Point(info.yStart, info.xStart), info.orientation[0]); //creates a ship from the info provided by the client

            webUI.ShipsToUI(ship);                                                                                  // Sends the created ship to the ui to be placed on the gameBoard
        }
Esempio n. 35
0
        private string GetStationName(StationInfo o)
        {
            ShipInfo shipInfo = this.db.GetShipInfo(o.ShipID, false);
            string   str      = "";

            if (shipInfo != null)
            {
                str = shipInfo.ShipName;
            }
            return(str);
        }
Esempio n. 36
0
        public FleetWidget.FilterShips RightListFilter(ShipInfo ship, DesignInfo design)
        {
            FleetInfo fleetInfo = this._app.GameDatabase.GetFleetInfo(ship.FleetID);

            if ((fleetInfo != null ? fleetInfo.PlayerID : design.PlayerID) != this._app.LocalPlayer.ID || Kerberos.Sots.StarFleet.StarFleet.DesignIsSuulka(this._app, design) || FleetWidget.IsWeaponBattleRider(design))
            {
                return(FleetWidget.FilterShips.Ignore);
            }
            Kerberos.Sots.StarFleet.StarFleet.GetHealthAndHealthMax(this._app.Game, design, ship.ID);
            return(FleetWidget.FilterShips.Enable);
        }
Esempio n. 37
0
 void Start()
 {
     if(!instance)
     {
         instance = this;
     }
     else
     {
         Destroy(this);
     }
     DontDestroyOnLoad(this.gameObject);
 }
        internal void Update(ShipInfo rpInfo, RawShip rpData)
        {
            FirepowerBase = new ShipModernizationStatus(rpInfo.FirepowerMinimum, rpInfo.FirepowerMaximum, rpData.ModernizedStatus[0]);
            TorpedoBase = new ShipModernizationStatus(rpInfo.TorpedoMinimum, rpInfo.TorpedoMaximum, rpData.ModernizedStatus[1]);
            AABase = new ShipModernizationStatus(rpInfo.AAMinimum, rpInfo.AAMaximum, rpData.ModernizedStatus[2]);
            ArmorBase = new ShipModernizationStatus(rpInfo.ArmorMinimum, rpInfo.ArmorMaximum, rpData.ModernizedStatus[3]);
            LuckBase = new ShipModernizationStatus(rpInfo.LuckMinimum, rpInfo.LuckMaximum, rpData.ModernizedStatus[4]);

            OnPropertyChanged(nameof(FirepowerBase));
            OnPropertyChanged(nameof(TorpedoBase));
            OnPropertyChanged(nameof(AABase));
            OnPropertyChanged(nameof(ArmorBase));
            OnPropertyChanged(nameof(LuckBase));
        }
Esempio n. 39
0
    public BlockSelectMenu(ShipInfo shipInfo)
    {
        this.shipInfo = shipInfo;
        background = Resources.Load(ResourcePaths.toolSelectBackground) as Texture;
        normalStyle = GuiFunctions.getNormalStyle(Color.black);

        slotWidth = Screen.width / 12;
        slotHeight = slotWidth * 2;

        float ySpace = Screen.height / 2 - (float)(slotHeight * 1.2);
        backgroundRect = new Rect(0, ySpace, Screen.width, Screen.height - ySpace * 2);

        slotGuiOptions = new GUILayoutOption[4] { GUILayout.Width(slotWidth),
            GUILayout.Height(slotHeight),GUILayout.ExpandHeight(true),GUILayout.ExpandWidth(true) };
        selectedBlockStacks = new BlockStack[slotPositions];
    }
Esempio n. 40
0
        internal void Update(ShipInfo rpInfo, RawShip rpData)
        {
            FirepowerBase.Update(rpInfo.FirepowerMinimum, rpInfo.FirepowerMaximum, rpData.ModernizedStatus[0]);
            TorpedoBase.Update(rpInfo.TorpedoMinimum, rpInfo.TorpedoMaximum, rpData.ModernizedStatus[1]);
            AABase.Update(rpInfo.AAMinimum, rpInfo.AAMaximum, rpData.ModernizedStatus[2]);
            ArmorBase.Update(rpInfo.ArmorMinimum, rpInfo.ArmorMaximum, rpData.ModernizedStatus[3]);
            LuckBase.Update(rpInfo.LuckMinimum, rpInfo.LuckMaximum, rpData.ModernizedStatus[4]);

            OnPropertyChanged(nameof(Firepower));
            OnPropertyChanged(nameof(Torpedo));
            OnPropertyChanged(nameof(AA));
            OnPropertyChanged(nameof(Armor));
            OnPropertyChanged(nameof(Evasion));
            OnPropertyChanged(nameof(LoS));
            OnPropertyChanged(nameof(ASW));
            OnPropertyChanged(nameof(Luck));
        }
Esempio n. 41
0
    void BuildColonyCarrier()
    {
        if (_planet.personalOwnership && _planet.population >= 100)
        {

            ShipInfo s = new ShipInfo(1, _planet.planetNum, _planet.homeStar.myNumber);
            s.population = 100; // TESTING - REMOVE
            _planet.population -= s.population;
            PlayerData.instance.SetPlanetPopulation(_planet.homeStar.myNumber, _planet.planetNum, _planet.population);
            DisplayManager.Instance.SetPopulationBarValue(_planet.population);
            //PlayerData.instance.shipList.Add(s);
            NetworkManager.instance._controller.SendNewShip(s); // Send ship creation request to server
            ShipSelectMenu.Instance.Refresh();
        }
        else {
        	DisplayManager.Instance.DisplayMessage("Not Enough Population!");
        }
    }
Esempio n. 42
0
	public void SetInfo(ShipInfo info) {
		_ship = info;

		_okayButton = transform.Find("OkayButton").GetComponent<Button>();
		_cancelButton = transform.Find("CancelButton").GetComponent<Button>();
		_messageDisplayText = transform.Find("MessageDisplay").GetComponent<Text>();

		_cancelButton.onClick.AddListener(() => CancelShipLaunch());
		_okayButton.onClick.AddListener(() => LaunchShip());

		if (SceneManager.GetActiveScene().buildIndex == GameManager.SectorLevel) {
			Origin = GameManager.instance.FindStar(_ship.origin_star).gameObject;
		}
		else {
			Origin = GameManager.instance.FindPlanet(_ship.origin_planet).gameObject;
		}
		_destination = null;
	}
Esempio n. 43
0
        internal IList<CellCoords> GetShots(ShipInfo currentShip, CellCoords lastHit, IEnumerable<CellCoords> cellsToAvoid)
        {
            var pivot_x = currentShip.HitCells.All(c => c.x == lastHit.x) ? lastHit.x : -1;
            var pivot_y = currentShip.HitCells.All(c => c.y == lastHit.y) ? lastHit.y : -1;

            var totalCandidates = currentShip.HitCells
                .SelectMany(c => c.GetSurroundingCells())
                .Where(c => c.x == pivot_x || c.y == pivot_y)
                .Where(c => cellsToAvoid.Contains(c) == false)
                .ToList();
            Debug.Assert(totalCandidates.Count > 0);

            var aroundLastHit = lastHit
                .GetSurroundingCells()
                .Intersect(totalCandidates)
                .ToList();

            return aroundLastHit.Count > 0 ? aroundLastHit : totalCandidates;
        }
	public void SetInfo(ShipInfo info) {
		_shipClassImage = transform.Find("Image").GetComponent<Image>();
		_nameText = transform.Find("Name").GetComponent<Text>();
		_statusText = transform.Find("Status").GetComponent<Text>();

		NameText = info.name;
		ShipClass = info.ship_class;

		if (info.origin_planet != 0 && info.destination_planet != 0) {
			StatusText = "On Route";
			StatusColor = Color.red;
		}
		else if (info.origin_planet == 0 && info.destination_planet != 0) {
			StatusText = "Arrived";
			StatusColor = Color.blue;
		}
		else if (info.origin_planet != 0 && info.destination_planet == 0) {
			StatusText = "Ready";
			StatusColor = Color.green;
		}

		GetComponent<Button>().onClick.AddListener(() => OpenShipMenu(info));
		Debug.Log(_statusText.text);
	}
        /// <summary>
        /// Map ships information.
        /// </summary>
        /// <param name="dataReader">The data reader.</param>
        /// <returns>ship information</returns>
        internal static async Task<ShipInfo> MapShipInfo(SqlDataReader dataReader)
        {
            var shipInfo = new ShipInfo();
            if (dataReader != null)
            {
                shipInfo.AssignGangwayLocations(await MapGangwayLocations(dataReader));

                await dataReader.NextResultAsync();
                shipInfo.AssignStateroomCategories(await MapStateroomCategories(dataReader));

                await dataReader.NextResultAsync();
                shipInfo.AssignVoyageCollection(await MapVoyages(dataReader));

                await dataReader.NextResultAsync();

                var itineraries = await MapDictionaryAsync(dataReader);
                shipInfo.Voyages.AsParallel().Select(itinerary =>
                {
                    itinerary.MapMasterChildRelations(itineraries, master => master.VoyageId, (master, childs) => master.AssignItineraries(childs));
                    return true;
                }).ToList();
            }

            return shipInfo;
        }
            internal RecordItem(int? rpEquipmentID, int rpFuelConsumption, int rpBulletConsumption, int rpSteelConsumption, int rpBauxiteConsumption, ShipInfo rpSecretaryShip, int rpHeadquarterLevel)
            {
                Time = DateTime.Now.ToString();
                if (rpEquipmentID.HasValue)
                {
                    Equipment = KanColleGame.Current.MasterInfo.Equipments[rpEquipmentID.Value];
                    IsRareEquipment = Equipment.Rarity >= 3;
                }

                FuelConsumption = rpFuelConsumption;
                BulletConsumption = rpBulletConsumption;
                SteelConsumption = rpSteelConsumption;
                BauxiteConsumption = rpBauxiteConsumption;

                SecretaryShip = rpSecretaryShip;
                HeadquarterLevel = rpHeadquarterLevel;
            }
Esempio n. 47
0
 public void SendNewShip(ShipInfo s)
 {
     var param = new Dictionary<byte, object>()
     {
         {(byte) ClientParameterCode.StarId, (long)s.origin_star},
         {(byte) ClientParameterCode.PlanetId, (int) s.origin_planet},
         {(byte) ClientParameterCode.Power, (int) s.power},
         {(byte) ClientParameterCode.Population, (int) s.population},
         {(byte) ClientParameterCode.Class, (int) s.ship_class},
         {(byte) ClientParameterCode.SubOperationCode, (int) MessageSubCode.CreateShip}        
     };
     ControlledView.LogDebug("SENDING CREATE SHIP REQUEST");
     //PhotonEngine.Instance.Peer.OpCustom(new OperationRequest() { OperationCode = (byte)ClientOperationCode.Login, Parameters = param }, true, 0, true);
     SendOperation(new OperationRequest() { OperationCode = (byte)ClientOperationCode.Region, Parameters = param }, true, 0, false);
 }
Esempio n. 48
0
    public void SendShipOnMission(ShipInfo s)
    {
        XmlSerializer serializer = new XmlSerializer(typeof(DateTime));
        string xmlstartTime = "";
        using (StringWriter textWriter = new StringWriter())
        {
            serializer.Serialize(textWriter, s.departure_time);
            xmlstartTime = textWriter.ToString();
        }

        string xmlendTime = "";
        using (StringWriter textWriter = new StringWriter())
        {
            serializer.Serialize(textWriter, s.arrival_time);
            xmlendTime = textWriter.ToString();
        }        

        var param = new Dictionary<byte, object>()
        {
            {(byte) ClientParameterCode.ShipId, (int) s.id},
            {(byte) ClientParameterCode.StarId, (long) s.destination_star},
            {(byte) ClientParameterCode.PlanetId, (int) s.destination_planet},
            {(byte) ClientParameterCode.StartTime, xmlstartTime.ToString()},
            {(byte) ClientParameterCode.EndTime, xmlendTime.ToString()},
            {(byte) ClientParameterCode.SubOperationCode, (int) MessageSubCode.SendShip}
        };
        ControlledView.LogDebug("SENDING SEND SHIP REQUEST");
        //PhotonEngine.Instance.Peer.OpCustom(new OperationRequest() { OperationCode = (byte)ClientOperationCode.Login, Parameters = param }, true, 0, true);
        SendOperation(new OperationRequest() { OperationCode = (byte)ClientOperationCode.Region, Parameters = param }, true, 0, false);
    }
 /// <summary>
 /// set up the ship info data
 /// </summary>
 private void SetShipInfoData()
 {
     this.shipInfo = new ShipInfo();
     var voyageCollection = new Collection<Voyage>
     {
        new Voyage
        {
            VoyageId = "236",
            EmbarkPortId = "536"
        }
     };
     var gangwayLocation = new Collection<GangwayLocation>
     {
        new GangwayLocation
        {
            LocationId = "2365",
            LocationTypeId = "1",
            Name = "DK3 Mid Port"
        }
     };
     this.shipInfo.AssignGangwayLocations(gangwayLocation);
     this.shipInfo.AssignVoyageCollection(voyageCollection);
     this.shipInfo.ShipId = "5326";
     ////this.shipInfo.Name = "gangway";
     this.manager.Setup(data => data.RetrieveShipInfo("1", true)).Returns(Task<ShipInfo>.FromResult(this.shipInfo));
 }
	void OpenShipMenu(ShipInfo info) {
		ShipMenu.Instance.gameObject.SetActive(true);
		ShipMenu.Instance.transform.SetAsLastSibling();
		ShipMenu.Instance.SetInfo(info);
	}
Esempio n. 51
0
        void Start()
        {
            DontDestroyOnLoad(gameObject);
            m_presets = new List<Preset>();
            m_mapSizes = new List<MapSize>();
            string text = ((TextAsset)Resources.Load("MapLayouts")).text;
            JsonData jsonData = JsonMapper.ToObject(text);
            int numPresets = jsonData.Count;

            for (int i = 0; i < numPresets; i++)
            {
                JsonData preset = jsonData[i.ToString()];
                string name = preset["name"].ToString();
                int numShips = int.Parse(preset["numShips"].ToString());
                Preset newPreset = new Preset(name, numShips);

                for (int j = 0; j < numShips; j++)
                {
                    JsonData ship = preset["ship" + (j + 1)];
                    int team = int.Parse(ship["team"].ToString());
                    int shipType = 0;
                    string shipTypeString = ship["shipType"].ToString();
                    switch (shipTypeString)
                    {
                        case "Carrier":
                            shipType = (int)ShipController.eShipType.SHIP_TYPE_CARRIER;
                            break;
                        case "Battleship":
                            shipType = (int)ShipController.eShipType.SHIP_TYPE_BATTLESHIP;
                            break;
                        case "PatrolBoat":
                            shipType = (int)ShipController.eShipType.SHIP_TYPE_PATROLBOAT;
                            break;
                        case "Cruiser":
                            shipType = (int)ShipController.eShipType.SHIP_TYPE_CRUISER;
                            break;
                        case "Destroyer":
                            shipType = (int)ShipController.eShipType.SHIP_TYPE_DESTROYER;
                            break;
                        case "Patrol Boat":
                            shipType = (int)ShipController.eShipType.SHIP_TYPE_PATROL_BOAT;
                            break;
                    }
                    float xPos = float.Parse(ship["xPos"].ToString());
                    float yPos = float.Parse(ship["yPos"].ToString());
                    float angle = float.Parse(ship["angle"].ToString());
                    float respawnTime = float.Parse(ship["respawn"].ToString());
                    Vector3[] path = new Vector3[4];
                    for (int k = 0; k < 4; k++)
                    {
                        JsonData point = ship["path"]["p" + (k + 1)];
                        float x = float.Parse(point["x"].ToString());
                        float y = float.Parse(point["y"].ToString());
                        path[k] = new Vector3(x, y, 0);
                    }
                    float pathSpeed = float.Parse(ship["pathSpeed"].ToString());

                    ShipInfo shipInfo = new ShipInfo(team, shipType, xPos, yPos, angle, respawnTime, path, pathSpeed);
                    newPreset.m_ships.Add(shipInfo);
                }

                m_presets.Add(newPreset);
            }

            text = ((TextAsset)Resources.Load("MapSizes")).text;
            jsonData = JsonMapper.ToObject(text);
            numPresets = jsonData.Count;

            for (int i = 0; i < numPresets; i++)
            {
                JsonData preset = jsonData[i.ToString()];
                string name = preset["name"].ToString();
                float horz = float.Parse(preset["horizontalSize"].ToString());
                float vert = float.Parse(preset["verticalSize"].ToString());
                MapSize mapSize = new MapSize(name, horz, vert);
                m_mapSizes.Add(mapSize);
            }
        }
Esempio n. 52
0
 public void SetInfo(ShipInfo info) {
 	_info = info;
 	ShipClass = info.ship_class;
     timeToDestination = Vector3.Distance(origin.transform.position, destination.transform.position) / 5;
 }
Esempio n. 53
0
 public EnemyShip(ShipInfo rpInfo, int rpLevel, Slot[] rpSlots)
 {
     Info = rpInfo;
     Level = rpLevel;
     Slots = rpSlots;
 }
Esempio n. 54
0
	public void SetInfo(ShipInfo info) {
		_shipInfo = info;
		_shipClassText = transform.Find("ShipClassText").GetComponent<Text>();
		_shipClassImage = transform.Find("ShipClassImage").GetComponent<Image>();
		_nameText = transform.Find("Name").GetComponent<Text>();
		_statusText = transform.Find("Status").GetComponent<Text>();

		_originTransform = transform.Find("Origin").GetComponent<RectTransform>();
		_originImage = transform.Find("Origin/Image").GetComponent<Image>();
		_originText = transform.Find("Origin/Text").GetComponent<Text>();

		_destinationTransform = transform.Find("Destination").GetComponent<RectTransform>();
		_destinationImage = transform.Find("Destination/Image").GetComponent<Image>();
		_destinationText = transform.Find("Destination/Text").GetComponent<Text>();

		_travelButton = transform.Find("TravelButton").GetComponent<Button>();

		_progressBar = transform.Find("ProgressBar").GetComponent<ProgressBar>();
		_progressBar.SetInfo(info);

		NameText = info.name;
		ShipClass = info.ship_class;

		OriginID = (uint)info.origin_planet;
		DestinationID = (uint)info.destination_planet;

		if (info.origin_planet != 0 && info.destination_planet != 0) {
			StatusText = "On Route";
			_travelButton.interactable = false;
			StatusColor = Color.red;
		}
		else if (info.origin_planet == 0 && info.destination_planet != 0) {
			StatusText = "Arrived";
			_travelButton.interactable = true;
			StatusColor = Color.blue;
		}
		else if (info.origin_planet != 0 && info.destination_planet == 0) {
			StatusText = "Ready";
			_travelButton.interactable = true;
			StatusColor = Color.green;
		}

		_travelButton.onClick.AddListener(() => BeginLaunchSetup());
	}
 public BuildingCompletedEventArgs(int id, ShipInfo ship)
 {
     this.DockId = id;
     this.Ship = ship;
 }
            internal RecordItem(ShipInfo rpShip, int rpFuelConsumption, int rpBulletConsumption, int rpSteelConsumption, int rpBauxiteConsumption, int rpDevelopmentMaterialConsumption, ShipInfo rpSecretaryShip, int rpHeadquarterLevel, int? rpEmptyDockCount)
            {
                Time = DateTime.Now.ToString();
                Ship = rpShip;

                FuelConsumption = rpFuelConsumption;
                BulletConsumption = rpBulletConsumption;
                SteelConsumption = rpSteelConsumption;
                BauxiteConsumption = rpBauxiteConsumption;
                DevelopmentMaterialConsumption = rpDevelopmentMaterialConsumption;

                SecretaryShip = rpSecretaryShip;
                HeadquarterLevel = rpHeadquarterLevel;

                EmptyDockCount = rpEmptyDockCount;
            }
Esempio n. 57
0
 public MastersShipData(ShipInfo info)
     : this()
 {
     this.Source = info;
 }
Esempio n. 58
0
 private float dist(ShipInfo a, ShipInfo b)
 {
     return (a.PositionX - b.PositionX) * (a.PositionX - b.PositionX) + (a.PositionY - b.PositionY) * (a.PositionY - b.PositionY);
 }
Esempio n. 59
0
 public MastersShipData(ShipInfo info)
     : this()
 {
     this._Source = info;
     this.UpdateFromSource();
 }
Esempio n. 60
0
        public override void InitScreen(ScreenType screenType)
        {
            upgradeShips = new List<ShipInfo>();

            if (!_firstTimeInit)
            {
                items.Clear();
                Sprites.Clear();
                AdditionalSprites.Clear();
            }

            Texture2D buttonImage = GameContent.Assets.Images.Controls.Button;
            SpriteFont SegoeUIMono = GameContent.Assets.Fonts.NormalText;

            ShipTier upgradeTier = StateManager.SelectedTier == ShipTier.Tier4 ? ShipTier.Tier4 : StateManager.SelectedTier + 1;

            //Configure current credit balance display

            Credits = new TextSprite(Sprites.SpriteBatch, SegoeUIMono, String.Format("You Have {0} Credits", StateManager.SpaceBucks));
            Credits.Position = new Vector2(5, 5);
            Credits.Color = Color.White;
            Shop.PurchaseScreenSelected += new EventHandler(Shop_PurchaseScreenSelected);

            //Configure Battle Cruiser
            battleCruiser = new ShipInfo();
            battleCruiser.Image = new Sprite(GameContent.Assets.Images.Ships[ShipType.BattleCruiser, upgradeTier], Vector2.Zero, Sprites.SpriteBatch);
            battleCruiser.Image.Position = new Vector2(Sprites.SpriteBatch.GraphicsDevice.Viewport.Width * 0.81f, Sprites.SpriteBatch.GraphicsDevice.Viewport.Height * .12f);
            battleCruiser.Image.Rotation = new SpriteRotation(90);

            battleCruiser.Cost = BattleCruiser.Cost[upgradeTier];

            battleCruiser.Type = ShipType.BattleCruiser;
            battleCruiser.Tier = upgradeTier;

            battleCruiser.Description = new TextSprite(Sprites.SpriteBatch, Vector2.Zero, GameContent.Assets.Fonts.NormalText, "\n\n This is the strongest class \n in the fleet, but also the slowest.\n What it lacks in speed it makes \n up for in strength.\n\n Damage Per Shot: 20\n Amount of Health: 120");
            battleCruiser.Description.Color = Color.White;

            items.Add(new KeyValuePair<Sprite, TextSprite>(battleCruiser.Image, battleCruiser.Description));

            upgradeShips.Add(battleCruiser);

            //Configure Fighter Carrier

            fighterCarrier.Image = new Sprite(GameContent.Assets.Images.Ships[ShipType.FighterCarrier, upgradeTier], Vector2.Zero, Sprites.SpriteBatch);
            fighterCarrier.Image.Position = new Vector2(Sprites.SpriteBatch.GraphicsDevice.Viewport.Width * 0.85f, Sprites.SpriteBatch.GraphicsDevice.Viewport.Height * .01f);
            fighterCarrier.Image.Rotation = new SpriteRotation(90);

            fighterCarrier.Cost = FighterCarrier.Cost[upgradeTier];

            fighterCarrier.Type = ShipType.FighterCarrier;
            fighterCarrier.Tier = upgradeTier;

            fighterCarrier.Description = new TextSprite(Sprites.SpriteBatch, Vector2.Zero, GameContent.Assets.Fonts.NormalText, "\n\n This class fires an extremely fast\n Flak Cannon and has the ability to\n deploy drones. However, the drones\n and Flak Cannon aren't that powerful.\n After the Carrier gets destroyed, the\n drones die with it.\n\n Damage Per Shot: 2\n Amount of Health: 100\n Amount of Drones: 2\n Damage Per Drone Shot: 1\n Health Per Drone: 10");
            fighterCarrier.Description.Color = Color.White;

            items.Add(new KeyValuePair<Sprite, TextSprite>(fighterCarrier.Image, fighterCarrier.Description));

            upgradeShips.Add(fighterCarrier);

            //Configure Torpedo Ship
            torpedoShip = new ShipInfo();
            torpedoShip.Image = new Sprite(GameContent.Assets.Images.Ships[ShipType.TorpedoShip, upgradeTier], Vector2.Zero, Sprites.SpriteBatch);
            torpedoShip.Image.Position = new Vector2(Sprites.SpriteBatch.GraphicsDevice.Viewport.Width * 0.81f, Sprites.SpriteBatch.GraphicsDevice.Viewport.Height * .12f);
            torpedoShip.Image.Rotation = new SpriteRotation(90);

            torpedoShip.Cost = TorpedoShip.Cost[upgradeTier];

            torpedoShip.Type = ShipType.TorpedoShip;
            torpedoShip.Tier = upgradeTier;
            torpedoShip.Description = new TextSprite(Sprites.SpriteBatch, Vector2.Zero, GameContent.Assets.Fonts.NormalText, "\n\n This class is the most balanced\n ship in the game. The torpedos do\n a lot of damage and \n are hard to dodge!\n\n Damege Per Shot: 5\n Amount of Health: 110");
            torpedoShip.Description.Color = Color.White;

            items.Add(new KeyValuePair<Sprite, TextSprite>(torpedoShip.Image, torpedoShip.Description));

            upgradeShips.Add(torpedoShip);

            //Add event handlers
            if (_firstTimeInit)
            {
                ChangeItem += new EventHandler(TierSelect_ChangeItem);
                nextButtonClicked += new EventHandler(TierSelect_nextButtonClicked);
            }

            AdditionalSprites.Add(Credits);
            base.InitScreen(screenType);

            acceptLabel.Text = "Buy";
            nameLabel.X -= 40;
        }