// Use this for initialization
 void Start()
 {
     _GDB = GameObject.FindGameObjectWithTag("MainUI").GetComponent <GlobalDB>();
     _SEL = GameObject.FindGameObjectWithTag("MainUI").GetComponent <Select>();
     _SB  = gameObject.GetComponent <ShipBuild>();
     _sbm = gameObject.GetComponent <Station>();
 }
Пример #2
0
        public static Ship mockShip()
        {
            SpacegameServer.Core.ShipBuild builder = new ShipBuild(Core.Instance);

            var hull = mockShipHull();

            hull.ShipHullsModulePositions.Add(Mock.mockShipHullsModulePosition(hull.id, 2, 3));
            hull.ShipHullGain = Mock.mockShipHullsGain(hull.id, crew: 3);
            Core.Instance.ShipHulls[hull.id] = hull;

            int newShipId = (int)Core.Instance.identities.shipLock.getNext();

            Field field = Mock.mockField();
            User  user  = Mock.MockUser(id: (int)Core.Instance.identities.allianceId.getNext());

            Core.Instance.users.TryAdd(user.id, user);
            int    userId    = user.id;
            Colony colony    = Mock.mockColony(ColonyUserId: userId);
            bool   fastBuild = false;

            ShipTemplate template = Mock.mockShipTemplate(shiphullid: hull.id, userid: userId);
            Module       crew     = Mock.mockModule();

            crew.moduleGain = Mock.mockModulesGain(crew.id, crew: 5);
            Core.Instance.Modules[crew.id] = crew;
            template.shipModules.Add(Mock.mockShipTemplateModules());

            Ship newShip = builder.buildShip(newShipId, template, field, user.id, colony, fastBuild);


            return(newShip);
        }
Пример #3
0
        private void BtnRecommendedBuild_Click(object sender, EventArgs e)
        {
            Settings settings = Commons.GetSettings();

            if (!settings.SaveLocation.Equals(""))
            {
                string filename = settings.SaveLocation + "\\" + RandomizedShip.Name + ".bld";
                if (File.Exists(filename))
                {
                    ShipBuild build = BinarySerialize.ReadFromBinaryFile <ShipBuild>(filename);
                    if (build != null)
                    {
                        BuildManager BManager = new BuildManager();
                        BManager.LoadBuild(build);
                        BManager.Show();
                    }
                    else
                    {
                        MessageBox.Show("Couldn\'t open personal build.", "Unable to open personal build", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Couldn\'t find a build to open. File must be named with shipname only: '" + filename + "'.", "Unable to open personal build", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Пример #4
0
        private void OpenFile(object sender, EventArgs e)
        {
            Settings settings = Commons.GetSettings();

            OpenFileDialog openFile = new OpenFileDialog();

            openFile.Filter           = "Randomizer Ship Build (*.bld)|*.bld";
            openFile.DefaultExt       = "bld";
            openFile.InitialDirectory = settings.SaveLocation;

            string fileName = "";

            if (openFile.ShowDialog() == DialogResult.OK)
            {
                fileName = openFile.FileName;
            }
            else
            {
                return;
            }

            ShipBuild build    = BinarySerialize.ReadFromBinaryFile <ShipBuild>(fileName);
            Ship      findShip = Program.AllShips.Find(x => x.ID == build.ID);

            AddShipToCompare(findShip, build);
        }
Пример #5
0
        public void getCommNodeMessageTest()
        {
            instance.commNodes.First().Value.commNodeMessages.Clear();
            instance.identities.commNodeMessage.id = 0;

            //create user
            User user = Mock.mockGeneratedUser(instance);
            List <SpacegameServer.BC.XMLGroups.CommNode> commNodes = SpacegameServer.BC.XMLGroups.CommNodes.createKnownAndNearNodesList(user);

            var node = commNodes.First().node;

            //create ship
            SpacegameServer.Core.ShipBuild builder = new ShipBuild(instance);
            int          newShipId      = (int)instance.identities.shipLock.getNext();
            ShipTemplate template       = instance.shipTemplate.Where(e => e.Value.hullid == 1).First().Value;
            var          targetRegionId = GeometryIndex.calcRegionId(node.positionX, node.positionY);
            Field        field          = GeometryIndex.regions[targetRegionId].findOrCreateField(node.positionX, node.positionY);
            Colony       colony         = Mock.mockColony(ColonyUserId: user.id);
            Ship         newShip        = builder.buildShip(newShipId, template, field, user.id, colony, false);

            //add user to commNode
            node.checkAndAddUser(user, newShip);

            node.sendCommMessage(user, "head1", "body1");
            node.sendCommMessage(user, "head2", "body2");


            SpacegameServer.BC.BusinessConnector bc = new SpacegameServer.BC.BusinessConnector();
            string ret = bc.getCommNodeMessage(user.id, node.id, 0, 50);

            string expected = @"<messages>
  <message>
    <id>2</id>
    <commNodeId>" + node.id.ToString() + @"</commNodeId>
    <sender>" + user.id.ToString() + @"</sender>
    <headline>head2</headline>
    <messageBody>body2</messageBody>
    <sendingDate>2015-07-08T20:48:43.2544728Z</sendingDate>
    <newMessage>0</newMessage>
  </message>
  <message>
    <id>1</id>
    <commNodeId>" + node.id.ToString() + @"</commNodeId>
    <sender>1</sender>
    <headline>head1</headline>
    <messageBody>body1</messageBody>
    <sendingDate>2015-07-08T20:48:43.2464723Z</sendingDate>
    <newMessage>0</newMessage>
  </message>
</messages>";

            //sendingDate can't be tested, since it is set to Now()
            // so only the first few lines are compared
            ret      = String.Join("", ret.Split(new[] { '\r', '\n' }).Where((e, i) => i < 14));
            expected = String.Join("", expected.Split(new[] { '\r', '\n' }).Where((e, i) => i < 14));
            Assert.AreEqual(expected, ret);
        }
Пример #6
0
 public ShipBuild GetShipBuild(int id)
 {
     if (!_shipBuildMap.TryGetValue(id, out var item))
     {
         var serializable = _content.GetShipBuild(id);
         item = new ShipBuild(serializable, this);
         _shipBuildMap.Add(id, item);
     }
     return(item);
 }
Пример #7
0
        public static Ship CreateShipAtField(Core instance, User user, Field field)
        {
            SpacegameServer.Core.ShipBuild builder = new ShipBuild(instance);
            int          newShipId = (int)instance.identities.shipLock.getNext();
            ShipTemplate template  = instance.shipTemplate.Where(e => e.Value.hullid == 1).First().Value;

            Colony colony  = Mock.mockColony(ColonyUserId: user.id);
            Ship   newShip = builder.buildShip(newShipId, template, field, user.id, colony, false);

            return(newShip);
        }
    void CreateShip(ShipBuild a_build, IFFGROUP a_team, Vector3 a_position)
    {
        GameObject ship = Instantiate(DataManager.Instance.GetPrefab(a_build.m_hull));
        ship.transform.SetParent(this.transform);
        BaseShip shipScript = ship.GetComponent<BaseShip>();
        shipScript.Initialise(a_build.m_hardpoints);
        ship.transform.position = a_position;
        ship.GetComponent<ShipController>().SetIFF(a_team);

        //add ship to lists
        ObjectManager.Instance.AddShip(shipScript);
    }
Пример #9
0
        private Ship createShipAtCommNode(User user, CommunicationNode node)
        {
            SpacegameServer.Core.ShipBuild builder = new ShipBuild(instance);
            int          newShipId = (int)instance.identities.shipLock.getNext();
            ShipTemplate template  = instance.shipTemplate.Where(e => e.Value.hullid == 1).First().Value;

            var    targetRegionId = GeometryIndex.calcRegionId(node.positionX, node.positionY);
            Field  field          = GeometryIndex.regions[targetRegionId].findOrCreateField(node.positionX, node.positionY);
            Colony colony         = Mock.mockColony(ColonyUserId: user.id);
            Ship   newShip        = builder.buildShip(newShipId, template, field, user.id, colony, false);

            return(newShip);
        }
Пример #10
0
        private void AddShipToCompare(Ship findShip, ShipBuild build = null)
        {
            CompareShip childForm = new CompareShip();

            if (this.MdiChildren.Length == 0)
            {
                childForm.IsFirstChild = true;
                FirstChild             = childForm;
            }

            childForm.MdiParent = this;
            string selection = findShip.Name;

            TableLayoutPanel  tl        = childForm.Controls.Find("ShipMetricsTable", true).FirstOrDefault() as TableLayoutPanel;
            MetricsExctractor Extractor = new MetricsExctractor(findShip);
            MetricsDrawer     Drawer    = new MetricsDrawer(tl);

            MetricsTableComposer.DrawTable(Extractor, Drawer);

            if (build != null)
            {
                selection += "**PB**";
                BuildManagerHandler bmHandler = new BuildManagerHandler(tl, Extractor.GetMetrics());
                bmHandler.PerformAnimation(false);
                bmHandler.KeepBackgroundTransparent(true);
                bmHandler.ApplyAll(build.Flags);
                bmHandler.ApplyAll(build.Skills);
                bmHandler.ApplyAll(build.Upgrades);
            }

            childForm.Text = selection;

            childForm.StartPosition = FormStartPosition.Manual;
            int   positionX = (this.MdiChildren.Length - 1) * 252;
            Point point     = new Point(positionX, 0);

            childForm.Location = point;

            if (childForm.IsFirstChild == false)
            {
                MetricsCompare.DoCompare(childForm.Controls.Find("ShipMetricsTable", true).FirstOrDefault() as TableLayoutPanel, FirstChild.Controls.Find("ShipMetricsTable", true).FirstOrDefault() as TableLayoutPanel);
            }
            childForm.Show();
            toolStripStatusLabel.Text = "Added '" + selection + "' to compare.";
            statusStrip.Refresh();
        }
Пример #11
0
        private void loadToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();

            openFile.Filter           = "Randomizer Ship Build (*.bld)|*.bld";
            openFile.DefaultExt       = "bld";
            openFile.InitialDirectory = Program.Settings.SaveLocation;

            if (openFile.ShowDialog() == DialogResult.OK)
            {
                string    fileName = openFile.FileName;
                ShipBuild build    = BinarySerialize.ReadFromBinaryFile <ShipBuild>(fileName);
                LoadBuild(build);
            }
            else
            {
                return;
            }
        }
Пример #12
0
        public void buildShipTest()
        {
            SpacegameServer.Core.ShipBuild builder = new ShipBuild(Core.Instance);

            //mock Hull to be build
            ShipHull hull = null;

            if (Core.Instance.ShipHulls.Count() > 1 && Core.Instance.ShipHulls[1] != null)
            {
                hull = Core.Instance.ShipHulls[1];
            }
            else
            {
                hull = Mock.mockShipHull();
                hull.ShipHullsModulePositions.Add(Mock.mockShipHullsModulePosition(hull.id, 2, 3));
                hull.ShipHullGain = Mock.mockShipHullsGain(hull.id, crew: 3);
                Core.Instance.ShipHulls[hull.id] = hull;
            }


            int newShipId = (int)instance.identities.shipLock.getNext();

            Field field = Mock.mockField();
            User  user  = Mock.MockUser(id: (int)instance.identities.allianceId.getNext());

            instance.users.TryAdd(user.id, user);
            int    userId    = user.id;
            Colony colony    = Mock.mockColony(ColonyUserId: userId);
            bool   fastBuild = false;

            ShipTemplate template = Mock.mockShipTemplate(shiphullid: hull.id, userid: userId);
            Module       crew     = Mock.mockModule();

            crew.moduleGain = Mock.mockModulesGain(crew.id, crew: 5);
            Core.Instance.Modules[crew.id] = crew;
            template.shipModules.Add(Mock.mockShipTemplateModules());

            Ship newShip = builder.buildShip(newShipId, template, field, user.id, colony, fastBuild);

            Assert.AreEqual(newShip.id, newShipId);
            Assert.AreEqual(newShip.crew, hull.ShipHullGain.crew + crew.moduleGain.crew);
        }
Пример #13
0
            public ShipBuild GetShipBuild(ItemId <ShipBuild> id, bool notNull = false)
            {
                if (_database._shipBuildMap.TryGetValue(id.Value, out var item))
                {
                    return(item);
                }
                var serializable = _content.GetShipBuild(id.Value);

                if (serializable != null && !serializable.Disabled)
                {
                    return(ShipBuild.Create(serializable, this));
                }

                var value = ShipBuild.DefaultValue;

                if (notNull && value == null)
                {
                    throw new DatabaseException("Data not found " + id);
                }
                return(value);
            }
Пример #14
0
        private void LoadShipMetrics()
        {
            if (RandomizedShip == null)
            {
                return;
            }
            LOG.Debug("Loading ship metrics");
            MetricsExctractor Extractor = new MetricsExctractor(RandomizedShip);
            MetricsDrawer     Drawer    = new MetricsDrawer(ShipMetricsTable);

            MetricsTableComposer.DrawTable(Extractor, Drawer);

            try
            {
                Settings settings = Commons.GetSettings();
                string   fileName = settings.SaveLocation;
                if (!fileName.EndsWith("\\"))
                {
                    fileName += @"\";
                }
                fileName += RandomizedShip.Name + ".bld";

                ShipBuild build = null;
                if (File.Exists(fileName))
                {
                    build = BinarySerialize.ReadFromBinaryFile <ShipBuild>(fileName);
                }

                if (build != null)
                {
                    BuildManagerHandler bmHandler = new BuildManagerHandler(ShipMetricsTable, Extractor.GetMetrics());
                    bmHandler.PerformAnimation(false);
                    bmHandler.KeepBackgroundTransparent(false);
                    bmHandler.ApplyAll(build.Flags);
                    bmHandler.ApplyAll(build.Skills);
                    bmHandler.ApplyAll(build.Upgrades);
                }
            }
            catch (Exception) { }
        }
Пример #15
0
            public void Load()
            {
                foreach (var item in _content.AmmunitionObsoleteList)
                {
                    if (!item.Disabled && !_database._ammunitionObsoleteMap.ContainsKey(item.Id))
                    {
                        AmmunitionObsolete.Create(item, this);
                    }
                }
                foreach (var item in _content.ComponentList)
                {
                    if (!item.Disabled && !_database._componentMap.ContainsKey(item.Id))
                    {
                        Component.Create(item, this);
                    }
                }
                foreach (var item in _content.ComponentModList)
                {
                    if (!item.Disabled && !_database._componentModMap.ContainsKey(item.Id))
                    {
                        ComponentMod.Create(item, this);
                    }
                }
                foreach (var item in _content.ComponentStatsList)
                {
                    if (!item.Disabled && !_database._componentStatsMap.ContainsKey(item.Id))
                    {
                        ComponentStats.Create(item, this);
                    }
                }
                foreach (var item in _content.DeviceList)
                {
                    if (!item.Disabled && !_database._deviceMap.ContainsKey(item.Id))
                    {
                        Device.Create(item, this);
                    }
                }
                foreach (var item in _content.DroneBayList)
                {
                    if (!item.Disabled && !_database._droneBayMap.ContainsKey(item.Id))
                    {
                        DroneBay.Create(item, this);
                    }
                }
                foreach (var item in _content.FactionList)
                {
                    if (!item.Disabled && !_database._factionMap.ContainsKey(item.Id))
                    {
                        Faction.Create(item, this);
                    }
                }
                foreach (var item in _content.SatelliteList)
                {
                    if (!item.Disabled && !_database._satelliteMap.ContainsKey(item.Id))
                    {
                        Satellite.Create(item, this);
                    }
                }
                foreach (var item in _content.SatelliteBuildList)
                {
                    if (!item.Disabled && !_database._satelliteBuildMap.ContainsKey(item.Id))
                    {
                        SatelliteBuild.Create(item, this);
                    }
                }
                foreach (var item in _content.ShipList)
                {
                    if (!item.Disabled && !_database._shipMap.ContainsKey(item.Id))
                    {
                        Ship.Create(item, this);
                    }
                }
                foreach (var item in _content.ShipBuildList)
                {
                    if (!item.Disabled && !_database._shipBuildMap.ContainsKey(item.Id))
                    {
                        ShipBuild.Create(item, this);
                    }
                }
                foreach (var item in _content.SkillList)
                {
                    if (!item.Disabled && !_database._skillMap.ContainsKey(item.Id))
                    {
                        Skill.Create(item, this);
                    }
                }
                foreach (var item in _content.TechnologyList)
                {
                    if (!item.Disabled && !_database._technologyMap.ContainsKey(item.Id))
                    {
                        Technology.Create(item, this);
                    }
                }
                foreach (var item in _content.CharacterList)
                {
                    if (!item.Disabled && !_database._characterMap.ContainsKey(item.Id))
                    {
                        Character.Create(item, this);
                    }
                }
                foreach (var item in _content.FleetList)
                {
                    if (!item.Disabled && !_database._fleetMap.ContainsKey(item.Id))
                    {
                        Fleet.Create(item, this);
                    }
                }
                foreach (var item in _content.LootList)
                {
                    if (!item.Disabled && !_database._lootMap.ContainsKey(item.Id))
                    {
                        LootModel.Create(item, this);
                    }
                }
                foreach (var item in _content.QuestList)
                {
                    if (!item.Disabled && !_database._questMap.ContainsKey(item.Id))
                    {
                        QuestModel.Create(item, this);
                    }
                }
                foreach (var item in _content.QuestItemList)
                {
                    if (!item.Disabled && !_database._questItemMap.ContainsKey(item.Id))
                    {
                        QuestItem.Create(item, this);
                    }
                }
                foreach (var item in _content.AmmunitionList)
                {
                    if (!item.Disabled && !_database._ammunitionMap.ContainsKey(item.Id))
                    {
                        Ammunition.Create(item, this);
                    }
                }
                foreach (var item in _content.BulletPrefabList)
                {
                    if (!item.Disabled && !_database._bulletPrefabMap.ContainsKey(item.Id))
                    {
                        BulletPrefab.Create(item, this);
                    }
                }
                foreach (var item in _content.VisualEffectList)
                {
                    if (!item.Disabled && !_database._visualEffectMap.ContainsKey(item.Id))
                    {
                        VisualEffect.Create(item, this);
                    }
                }
                foreach (var item in _content.WeaponList)
                {
                    if (!item.Disabled && !_database._weaponMap.ContainsKey(item.Id))
                    {
                        Weapon.Create(item, this);
                    }
                }

                foreach (var item in _content.Images)
                {
                    if (!_database._images.ContainsKey(item.Key))
                    {
                        _database._images.Add(item.Key, item.Value);
                    }
                }

                foreach (var item in _content.AudioClips)
                {
                    if (!_database._audioClips.ContainsKey(item.Key))
                    {
                        _database._audioClips.Add(item.Key, item.Value);
                    }
                }

                foreach (var item in _content.Localizations)
                {
                    if (!_database._localizations.ContainsKey(item.Key))
                    {
                        _database._localizations.Add(item.Key, item.Value);
                    }
                }

                if (_database.DatabaseSettings == null)
                {
                    _database.DatabaseSettings = DatabaseSettings.Create(_content.DatabaseSettings ?? new Serializable.DatabaseSettingsSerializable {
                        ItemType = Enums.ItemType.DatabaseSettings
                    }, this);
                }
                if (_database.ExplorationSettings == null)
                {
                    _database.ExplorationSettings = ExplorationSettings.Create(_content.ExplorationSettings ?? new Serializable.ExplorationSettingsSerializable {
                        ItemType = Enums.ItemType.ExplorationSettings
                    }, this);
                }
                if (_database.GalaxySettings == null)
                {
                    _database.GalaxySettings = GalaxySettings.Create(_content.GalaxySettings ?? new Serializable.GalaxySettingsSerializable {
                        ItemType = Enums.ItemType.GalaxySettings
                    }, this);
                }
                if (_database.ShipSettings == null)
                {
                    _database.ShipSettings = ShipSettings.Create(_content.ShipSettings ?? new Serializable.ShipSettingsSerializable {
                        ItemType = Enums.ItemType.ShipSettings
                    }, this);
                }
            }
Пример #16
0
 public void AddShipBuild(int id, ShipBuild item)
 {
     _database._shipBuildMap.Add(id, item);
 }
Пример #17
0
        public void LoadBuild(ShipBuild build)
        {
            LOG.Debug("LoadBuild(" + build.ID + ")");
            Ship findShip = Program.AllShips.Find(x => x.ID == build.ID);

            SelectShip(findShip);

            foreach (string flag in build.Flags)
            {
                foreach (Control ctrl in panelFlags.Controls)
                {
                    if (ctrl is PictureBox box)
                    {
                        if (box.AccessibleName != null && box.AccessibleName.ToString().Equals(flag))
                        {
                            int count = int.Parse(combatFlagsCount.Text);
                            if (box.AccessibleRole == AccessibleRole.Alert)
                            {
                                count++;
                                combatFlagsCount.Text = count.ToString();
                            }
                            box.AccessibleDescription = "X";
                            box.Refresh();
                            bmHandler.PerformAnimation(false);
                            bmHandler.ApplyValue(box.AccessibleName);
                        }
                    }
                }
            }

            foreach (string skill in build.Skills)
            {
                if (skill.Equals("Camoflage"))
                {
                    cbCamoflage.Checked = true;
                }
                else
                {
                    foreach (Control ctrl in panelCaptainSkills.Controls)
                    {
                        if (ctrl is PictureBox box)
                        {
                            if (box.AccessibleName != null && box.AccessibleName.ToString().Equals(skill))
                            {
                                AddSkillPoints(skill);
                                box.AccessibleDescription = "X";
                                bmHandler.PerformAnimation(false);

                                Skill currentSkill = FindSkillByAccessibleName(box.AccessibleName);
                                if (currentSkill != null)
                                {
                                    foreach (Perk perk in currentSkill.Perks)
                                    {
                                        bmHandler.ApplyValue(perk.ID, perk.Value);
                                    }
                                }

                                box.Refresh();
                            }
                        }
                    }
                }
            }

            foreach (long upgradeId in build.Upgrades)
            {
                Consumable consumable = Program.Upgrades.Find(x => x.ID == upgradeId);

                PictureBox box = new PictureBox();
                box.Name           = "Upgrade";
                box.AccessibleName = consumable.Name;
                box.Tag            = consumable.ID;
                box.Load(consumable.ImageUrl);
                box.SizeMode = PictureBoxSizeMode.AutoSize;
                box.Location = new System.Drawing.Point(20, 15);
                box.Click   += upgradeSlot1_Click;

                ToolTip ttip = new ToolTip();
                ttip.SetToolTip(box, consumable.Name);

                if (consumable.GetSlotNumber() == 1)
                {
                    upgradeSlot1.Controls.Add(box);
                    ttip.SetToolTip(upgradeSlot1, consumable.Name);
                }
                else if (consumable.GetSlotNumber() == 2)
                {
                    upgradeSlot2.Controls.Add(box);
                    ttip.SetToolTip(upgradeSlot2, consumable.Name);
                }
                else if (consumable.GetSlotNumber() == 3)
                {
                    upgradeSlot3.Controls.Add(box);
                    ttip.SetToolTip(upgradeSlot3, consumable.Name);
                }
                else if (consumable.GetSlotNumber() == 4)
                {
                    upgradeSlot4.Controls.Add(box);
                    ttip.SetToolTip(upgradeSlot4, consumable.Name);
                }
                else if (consumable.GetSlotNumber() == 5)
                {
                    upgradeSlot5.Controls.Add(box);
                    ttip.SetToolTip(upgradeSlot5, consumable.Name);
                }
                else if (consumable.GetSlotNumber() == 6)
                {
                    upgradeSlot6.Controls.Add(box);
                    ttip.SetToolTip(upgradeSlot6, consumable.Name);
                }
                applyUpgradeValues(consumable.ID.ToString(), false);
            }
            if (cbCamoflage.Checked)
            {
                bmHandler.ApplyValue("Camoflage");
            }
            bmHandler.PerformAnimation(true);
        }
    // Update is called once per frame
    void Update()
    {
        //Debug.Log(m_numOfShipsDebug);

        if(Input.GetKey(KeyCode.Space))
        {
            string hull = "basicShip";
            List<string> hardpoints = new List<string>();
            hardpoints.Add("basicEngine");
            hardpoints.Add("basicShield");
            hardpoints.Add("basicTurretCannon");
            hardpoints.Add("basicTurretCannon");
            hardpoints.Add("basicTurretCannon2");
            List<int> controlGroups = new List<int>();
            controlGroups.Add(0);
            controlGroups.Add(0);
            controlGroups.Add(0);
            controlGroups.Add(0);
            controlGroups.Add(0);
            float cost = 100.0f;
            ShipBuild tempBuild = new ShipBuild(hull, hardpoints, controlGroups, cost);

            CreateShip(tempBuild, IFFGROUP.TEAM1, new Vector3(Random.value * 100, 0, 0));

            m_numOfShipsDebug++;
        }
    }
    // Use this for initialization
    void Start()
    {
        //debug
        string hull = "basicShip";
        List<string> hardpoints = new List<string>();
        hardpoints.Add("basicEngine");
        hardpoints.Add("basicShield");
        hardpoints.Add("basicTurretCannon");
        hardpoints.Add("basicTurretCannon");
        hardpoints.Add("basicTurretCannon2");
        List<int> controlGroups = new List<int>();
        controlGroups.Add(0);
        controlGroups.Add(0);
        controlGroups.Add(0);
        controlGroups.Add(0);
        controlGroups.Add(0);
        float cost = 100.0f;
        ShipBuild tempBuild = new ShipBuild(hull, hardpoints, controlGroups, cost);

        CreateShip(tempBuild, IFFGROUP.TEAM1, new Vector3(-5, 0, 0));
        CreateShip(tempBuild, IFFGROUP.TEAM1, new Vector3(-5, 7, 0));
        CreateShip(tempBuild, IFFGROUP.TEAM2, new Vector3(5, 0, 0));
        CreateShip(tempBuild, IFFGROUP.TEAM2, new Vector3(5, -7, 0));
    }
Пример #20
0
        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LOG.Debug("SaveBuild()");
            ShipBuild build = new ShipBuild();

            build.ID   = selectedShip.ID;
            build.Name = selectedShip.Name;

            List <string> skills = new List <string>();

            foreach (Control ctrl in panelCaptainSkills.Controls)
            {
                if (ctrl is PictureBox box)
                {
                    if (box.AccessibleDescription != null && !box.AccessibleDescription.ToString().Equals(""))
                    {
                        skills.Add(box.AccessibleName.ToString());
                    }
                }
            }
            if (cbCamoflage.Checked)
            {
                skills.Add("Camoflage");
            }
            build.Skills = skills;

            List <string> Flags = new List <string>();

            foreach (Control ctrl in panelFlags.Controls)
            {
                if (ctrl is PictureBox box)
                {
                    if (box.AccessibleDescription != null && !box.AccessibleDescription.ToString().Equals(""))
                    {
                        Flags.Add(box.AccessibleName.ToString());
                    }
                }
            }
            build.Flags = Flags;

            List <long> Upgrades = new List <long>();

            if (upgradeSlot1.Controls.Count > 0)
            {
                PictureBox box = (PictureBox)upgradeSlot1.Controls[0];
                if (!box.Tag.ToString().Equals(""))
                {
                    Upgrades.Add(long.Parse(box.Tag.ToString()));
                }
            }
            if (upgradeSlot2.Controls.Count > 0)
            {
                PictureBox box = (PictureBox)upgradeSlot2.Controls[0];
                if (!box.Tag.ToString().Equals(""))
                {
                    Upgrades.Add(long.Parse(box.Tag.ToString()));
                }
            }
            if (upgradeSlot3.Controls.Count > 0)
            {
                PictureBox box = (PictureBox)upgradeSlot3.Controls[0];
                if (!box.Tag.ToString().Equals(""))
                {
                    Upgrades.Add(long.Parse(box.Tag.ToString()));
                }
            }
            if (upgradeSlot4.Controls.Count > 0)
            {
                PictureBox box = (PictureBox)upgradeSlot4.Controls[0];
                if (!box.Tag.ToString().Equals(""))
                {
                    Upgrades.Add(long.Parse(box.Tag.ToString()));
                }
            }
            if (upgradeSlot5.Controls.Count > 0)
            {
                PictureBox box = (PictureBox)upgradeSlot5.Controls[0];
                if (!box.Tag.ToString().Equals(""))
                {
                    Upgrades.Add(long.Parse(box.Tag.ToString()));
                }
            }
            if (upgradeSlot6.Controls.Count > 0)
            {
                PictureBox box = (PictureBox)upgradeSlot6.Controls[0];
                if (!box.Tag.ToString().Equals(""))
                {
                    Upgrades.Add(long.Parse(box.Tag.ToString()));
                }
            }

            build.Upgrades    = Upgrades;
            build.Modified    = DateTime.Now;
            build.GameVersion = Program.Settings.GameVersion;

            string         def     = Program.Settings.SaveLocation;
            SaveFileDialog saveDlg = new SaveFileDialog();

            saveDlg.InitialDirectory = def;
            saveDlg.DefaultExt       = "bld";
            saveDlg.FileName         = selectedShip.Name + ".bld";
            saveDlg.Filter           = "Randomizer Ship Build (*.bld)|*.bld";
            if (saveDlg.ShowDialog() == DialogResult.OK)
            {
                string file = saveDlg.FileName;
                if (!file.EndsWith(".bld"))
                {
                    file += ".bld";
                }
                BinarySerialize.WriteToBinaryFile(file, build);
            }
        }