コード例 #1
0
        //保存内容
        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();
        }
コード例 #2
0
ファイル: EnemyFleetList.cs プロジェクト: lscyane/KCBr
            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]),
                };

            }
コード例 #3
0
ファイル: PlanetMenu.cs プロジェクト: seanbraley/PocketCosmos
 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();
 }
コード例 #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);
        }
コード例 #5
0
 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);
     }
 }
コード例 #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();
 }
コード例 #7
0
 /// <summary>
 /// Start()
 /// Used for initialization
 /// </summary>
 void Start()
 {
     playerData   = GetComponent <PlayerData>();
     shipInfo     = ship.GetComponent <ShipInfo>();
     spawner      = GetComponent <AsteroidSpawner>();
     guiHandler   = GetComponent <GUIHandler>();
     inputHandler = GetComponent <InputHandler>();
 }
コード例 #8
0
        public void BuyShip()
        {
            ShipInfo info = SessionData.instance.shipServicer.GetShipItem(shipID);

            info.isUnlocked = true;
            HideMessageBox();
            shipMenu.OpenMenu();
        }
コード例 #9
0
 /// <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>();
 }
コード例 #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);
        }
コード例 #12
0
ファイル: PlayerInfo.cs プロジェクト: TopHatJoe/couchRogue
    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);
    }
コード例 #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;
 }
コード例 #14
0
ファイル: Locust.cs プロジェクト: zerk-js/SOTSII-SOS
        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);
                    }
                }
            }
        }
コード例 #15
0
        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");
        }
コード例 #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);
        }
コード例 #17
0
ファイル: SkidFly.cs プロジェクト: colo6299/SpaceTest
    void Start()
    {
        info = GetComponent <ShipInfo>();

        UpdateInfo();

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

        SetSprite();
    }
コード例 #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;
	}
コード例 #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);
 }
コード例 #21
0
        private void PopulateCell()
        {
            ShipInfo info = SessionData.instance.shipServicer.GetShipItem(stringID);

            if (info.isUnlocked)
            {
                cellThumbnail.sprite = imageThumbnail;
            }
        }
コード例 #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);
            }
        }
コード例 #23
0
 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;
 }
コード例 #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);
        }
コード例 #25
0
 public void Update(ShipInfo ship)
 {
     if (isShieldShip(ship))
     {
         //Console.WriteLine($"{ship.MMSI}-{ship.Name}-{ship.ShipCargoType} - 屏蔽船舶");
         return;
     }
     lock (_shipQueue)
         _shipQueue.Enqueue(ship);
 }
コード例 #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));
 }
コード例 #27
0
    /// <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;
     }
 }
コード例 #29
0
 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);
 }
コード例 #30
0
ファイル: PlayerShip.cs プロジェクト: V4lonforth/ProjectGame
 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
     };
 }
コード例 #31
0
ファイル: AliDataAdapter.cs プロジェクト: makepower/EB.ISCS
        public static OrderInfo ToLocalOrder(this Order order, ShipInfo ship)
        {
            var tradeList = new OrderInfo();

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

            return(Mapper.Map <OrderInfo>(order));;
        }
コード例 #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();
    }
コード例 #33
0
    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;
    }
コード例 #34
0
        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
        }
コード例 #35
0
ファイル: TurnEventMacros.cs プロジェクト: zerk-js/SOTSII-SOS
        private string GetStationName(StationInfo o)
        {
            ShipInfo shipInfo = this.db.GetShipInfo(o.ShipID, false);
            string   str      = "";

            if (shipInfo != null)
            {
                str = shipInfo.ShipName;
            }
            return(str);
        }
コード例 #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);
        }
コード例 #37
0
 void Start()
 {
     if(!instance)
     {
         instance = this;
     }
     else
     {
         Destroy(this);
     }
     DontDestroyOnLoad(this.gameObject);
 }
コード例 #38
0
        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));
        }
コード例 #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];
    }
コード例 #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));
        }
コード例 #41
0
ファイル: PlanetMenu.cs プロジェクト: seanbraley/PocketCosmos
    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!");
        }
    }
コード例 #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;
	}
コード例 #43
0
ファイル: Chaser.cs プロジェクト: rliffredo/battleships
        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;
        }
コード例 #44
0
	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);
	}
コード例 #45
0
        /// <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;
        }
コード例 #46
0
            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;
            }
コード例 #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);
 }
コード例 #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);
    }
コード例 #49
0
 /// <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));
 }
コード例 #50
0
	void OpenShipMenu(ShipInfo info) {
		ShipMenu.Instance.gameObject.SetActive(true);
		ShipMenu.Instance.transform.SetAsLastSibling();
		ShipMenu.Instance.SetInfo(info);
	}
コード例 #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);
            }
        }
コード例 #52
0
ファイル: Ship.cs プロジェクト: seanbraley/PocketCosmos
 public void SetInfo(ShipInfo info) {
 	_info = info;
 	ShipClass = info.ship_class;
     timeToDestination = Vector3.Distance(origin.transform.position, destination.transform.position) / 5;
 }
コード例 #53
0
 public EnemyShip(ShipInfo rpInfo, int rpLevel, Slot[] rpSlots)
 {
     Info = rpInfo;
     Level = rpLevel;
     Slots = rpSlots;
 }
コード例 #54
0
ファイル: ShipMenu.cs プロジェクト: seanbraley/PocketCosmos
	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());
	}
コード例 #55
0
 public BuildingCompletedEventArgs(int id, ShipInfo ship)
 {
     this.DockId = id;
     this.Ship = ship;
 }
コード例 #56
0
            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;
            }
コード例 #57
0
 public MastersShipData(ShipInfo info)
     : this()
 {
     this.Source = info;
 }
コード例 #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);
 }
コード例 #59
0
ファイル: ShipData.cs プロジェクト: z-07b52x/BattleInfoPlugin
 public MastersShipData(ShipInfo info)
     : this()
 {
     this._Source = info;
     this.UpdateFromSource();
 }
コード例 #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;
        }