protected void BuildDeignDataList(ShipHullData hullData)
    {
        DesignDataList.Clear();
        DeselectDesignData();

        float EntrySize = DesignScrollWindowRect.height / 5f;

        if (ResourceManager.shipDesigns.ContainsKey(hullData.Name))
        {
            if (ResourceManager.shipDesigns[hullData.Name].Count > 0)
            {
                foreach (KeyValuePair <string, ShipDesign> keyVal in ResourceManager.shipDesigns[hullData.Name])
                {
                    if (!keyVal.Value.Deleted)
                    {
                        Rect                rect           = new Rect(0, EntrySize * DesignDataList.Count, DesignScrollViewRect.width, EntrySize);
                        ShipDesignData      shipDesignData = ResourceManager.GetShipDesignData(keyVal.Value);
                        DesignDataListEntry DLE            = new DesignDataListEntry(rect, shipDesignData, LoadDesignData);
                        DesignDataList.Add(DLE);
                    }
                }
            }
        }

        ResizeViewListWindow(ref DesignScrollViewRect, DesignScrollWindowRect, DesignDataList.Count, EntrySize);
    }
Esempio n. 2
0
    public float ExperienceRatio()
    {
        ShipHullData hullData = designData.Design.GetHull();

        if (hullData != null)
        {
            return(Experience / ((Level + 1) * hullData.BaseCommandPoints));
        }
        return(0);
    }
Esempio n. 3
0
    public HullListEntry(Rect rect, ShipHullData HD, int index, ButtonPress callBack, ChangeSelectedIndex changeIndex)
    {
        baseRect             = rect;
        hullData             = HD;
        Index                = index;
        buttonCallBack       = callBack;
        changeSelectionIndex = changeIndex;

        //Icon = hullData.GetIcon();
    }
Esempio n. 4
0
    public void SetShipHullData(ShipHullData data, ButtonPress callBack, Select select)
    {
        shipHullData   = data;
        buttonCallBack = callBack;
        selectCallBack = select;

        HullName.text           = shipHullData.Name;
        HullClassification.text = shipHullData.Classification.ToString();
        HullDescription.text    = "Temp Description";

        HullIcon.overrideSprite = shipHullData.GetIcon();
        HullIcon.preserveAspect = true;
    }
Esempio n. 5
0
 public void AddToSelection(ShipHullData hull)
 {
     foreach (Ship ship in Ships)
     {
         if (ship.isDestroyed())
         {
             continue;
         }
         if (ship.GetHull() == hull)
         {
             AddToSelection(ship);
         }
     }
 }
Esempio n. 6
0
    public void AddExperience(float experienceValue)
    {
        Experience += experienceValue + experienceValue * GetExperienceBonus();

        //Check if enough experience to go to the next level
        ShipHullData hullData = designData.Design.GetHull();

        if (hullData != null)
        {
            if (Experience >= (Level + 1) * hullData.BaseCommandPoints)
            {
                Experience -= (Level + 1) * hullData.BaseCommandPoints;
                Level++;
            }
        }
    }
    protected virtual void ChangeHull(ShipHullData data)
    {
        selectedShipHull = data;

        if (selectedShipHull != null)
        {
            BuildShipDesigns(selectedShipHull);

            ShipSlotLayout slotLayout = ResourceManager.instance.GetShipSlotLayout(selectedShipHull.Name);

            if (slotLayout != null)
            {
                FormatSlotLayout(slotLayout);
            }
        }
    }
Esempio n. 8
0
    void LoadScenarioShip(Scenario.ShipEntry shipEntry, int layer, Dictionary <GameObject, ScenarioShipData> Container, Color miniMapColor)
    {
        ShipHullData hullData = ResourceManager.instance.GetShipHull(shipEntry.Hull);

        if (hullData != null)
        {
            GameObject newShip = ResourceManager.instance.CreateShip(hullData, shipEntry.Position, shipEntry.Rotation);
            if (newShip != null)
            {
                newShip.transform.GetChild(0).gameObject.layer = layer;
                ScenarioShipData data = new ScenarioShipData(shipEntry.Hull, shipEntry.Design, shipEntry.Name, shipEntry.Level);
                Container.Add(newShip, data);
                PlacedObjects.Add(newShip);
                attachMiniMapObject(newShip, miniMapColor);
            }
        }
    }
Esempio n. 9
0
    public GameObject AddShipMesh(ShipHullData hullData)
    {
        Bounds bounds;
        float  MaxDimension;

        GameObject ship = ResourceManager.CreateShip(hullData, transform.position, transform.rotation);

        //Assign as child
        ship.transform.parent = transform;
        //Get size of ship for scaling
        bounds = ship.GetComponentInChildren <MeshFilter>().mesh.bounds;
        //bounds = ship.GetComponent<MeshFilter>().mesh.bounds;
        MaxDimension = Mathf.Max(bounds.size.x, bounds.size.z);
        //Scale to a particular size no matter original size
        ship.transform.localScale = new Vector3(2.3f / MaxDimension, 2.1f / MaxDimension, 2.1f / MaxDimension);
        return(ship);
    }
Esempio n. 10
0
 protected virtual bool CheckHullAllowed(ShipHullData hull)
 {
     return(true);
 }
Esempio n. 11
0
        protected override void Seed(CodeFighter.Data.CodeFighterContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.
            //
            //    context.People.AddOrUpdate(
            //      p => p.FullName,
            //      new Person { FullName = "Andrew Peters" },
            //      new Person { FullName = "Brice Lambson" },
            //      new Person { FullName = "Rowan Miller" }
            //    );
            //

            #region ACTIONS
            var repairPart = new ActionData()
            {
                Id = 1, Type = "RepairPart", Name = "Sheild Regeneration", Description = "Shields regenerate 2HP each round", TargetSelfPart = true, ActionValuesJSON = "{\"RepairAmount\":2}"
            };
            var repairShip = new ActionData()
            {
                Id = 2, Type = "RepairShip", Name = "Damage Control Teams", Description = "Damage Control teams repair the ship for 5HP per round", TargetSelfShip = true, ActionValuesJSON = "{\"RepairAmount\":5}"
            };

            context.ActionData.AddOrUpdate(x => x.Id,
                                           repairPart,
                                           repairShip
                                           );
            #endregion

            #region PARTS
            // weapons
            //** laser beam
            var laserBeam = new PartData()
            {
                Id = 1, Type = "Weapon", Name = "Laser Beam", Description = "Freaking Lasers", MaxHP = 1, DamageType = "Energy", FiringType = "Beam"
            };
            //** plasma cannon
            var plasmaCannon = new PartData()
            {
                Id = 2, Type = "Weapon", Name = "Plasma Cannon", Description = "BURNNNNN!", MaxHP = 1, DamageType = "Plasma", FiringType = "Cannon"
            };
            //** torpedo
            var torpedoLauncher = new PartData()
            {
                Id = 3, Type = "Weapon", Name = "Torpedo Launcher", Description = "All Tubes, Fire!", MaxHP = 1, DamageType = "Explosive", FiringType = "Launcher"
            };

            // defenses
            //** shield generator
            var shieldGenerator = new PartData()
            {
                Id = 4, Type = "Defense", Name = "Shield Generator", Description = "Regenerative Shielding", MaxHP = 15, DefenseType = "Shield", ActionData = new List <ActionData>()
                {
                    repairPart
                }
            };
            //** armor plate
            var armorPlate = new PartData()
            {
                Id = 5, Type = "Defense", Name = "Armor Plating", Description = "Reactive Armor", MaxHP = 15, DefenseType = "Armor"
            };
            //** point defense
            var pointDefense = new PartData()
            {
                Id = 8, Type = "Defense", Name = "Point Defense Pod", Description = "Close In Weapons System", MaxHP = 15, DefenseType = "PointDefense"
            };

            // actions
            //** damage control
            var damageControl = new PartData()
            {
                Id = 6, Type = "Action", Name = "Damage Control", Description = "Repair 5HP per round, 50% chance to repair a destroyed part", MaxHP = 1, ActionData = new List <ActionData>()
                {
                    repairShip
                }
            };

            // engines
            //** thruster
            var thruster = new PartData()
            {
                Id = 7, Type = "Engine", Name = "DU-1 Thruster", Description = "Make It Go Faster!", MaxHP = 1
            };

            context.PartData.AddOrUpdate(x => x.Id,
                                         laserBeam,
                                         plasmaCannon,
                                         torpedoLauncher,
                                         shieldGenerator,
                                         armorPlate,
                                         pointDefense,
                                         damageControl,
                                         thruster
                                         );
            #endregion

            #region SHIPHULLS
            var hullIowa = new ShipHullData()
            {
                Id = 1, ClassName = "Iowa", HullSize = "CO", MaxHitPoints = 40
            };
            var hullBunker = new ShipHullData()
            {
                Id = 2, ClassName = "Bunker", HullSize = "CO", MaxHitPoints = 40
            };

            context.ShipHullData.AddOrUpdate(x => x.Id,
                                             hullIowa,
                                             hullBunker
                                             );
            #endregion

            #region SHIPS
            var missouri = new ShipData()
            {
                Id       = 1,
                Name     = "UNSC Missouri",
                ShipHull = hullIowa
            };
            missouri.Parts = new List <ShipPartData>()
            {
                new ShipPartData()
                {
                    Id = 1, PartData = laserBeam, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 2, PartData = laserBeam, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 3, PartData = plasmaCannon, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 4, PartData = torpedoLauncher, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 5, PartData = shieldGenerator, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 6, PartData = shieldGenerator, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 7, PartData = armorPlate, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 8, PartData = damageControl, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 9, PartData = thruster, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 10, PartData = thruster, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 11, PartData = thruster, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 12, PartData = thruster, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 13, PartData = thruster, ShipData = missouri
                },
                new ShipPartData()
                {
                    Id = 14, PartData = thruster, ShipData = missouri
                }
            };
            var alpha = new ShipData()
            {
                Id       = 2,
                Name     = "Alpha-01",
                ShipHull = hullBunker
            };
            alpha.Parts = new List <ShipPartData>()
            {
                new ShipPartData()
                {
                    Id = 15, PartData = laserBeam, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 16, PartData = laserBeam, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 17, PartData = plasmaCannon, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 18, PartData = torpedoLauncher, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 19, PartData = shieldGenerator, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 20, PartData = shieldGenerator, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 21, PartData = armorPlate, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 22, PartData = damageControl, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 23, PartData = thruster, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 24, PartData = thruster, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 25, PartData = thruster, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 26, PartData = thruster, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 27, PartData = thruster, ShipData = alpha
                },
                new ShipPartData()
                {
                    Id = 28, PartData = thruster, ShipData = alpha
                }
            };

            context.ShipData.AddOrUpdate(x => x.Id,
                                         missouri,
                                         alpha
                                         );
            #endregion

            #region FEATURES
            var asteroid = new FeatureData()
            {
                Id = 1, Name = "Asteroid", IsBlocking = true, Type = "asteroid"
            };

            context.FeatureData.AddOrUpdate(x => x.Id,
                                            asteroid);
            #endregion

            #region SCENARIOS
            var scenario = new ScenarioData()
            {
                Id = 1, ScenarioGUID = new Guid("508E62F3-5B0E-4716-8B8D-FBCA000317A2"), Name = "One on One", Description = "1v1 fight to the death in an asteroid field", RoundLimit = 30
            };

            context.ScenarioData.AddOrUpdate(x => x.Id,
                                             scenario
                                             );
            #endregion

            #region SCENARIOSHIPS
            context.ScenarioShipData.AddOrUpdate(x => x.Id,
                                                 new ScenarioShipData()
            {
                Id = 1, StartingPositionX = 5, StartingPositionY = 5, ShipName = "UNSC Missouri", IsPlayer = true, Ship = missouri, Scenario = scenario
            },
                                                 new ScenarioShipData()
            {
                Id = 2, StartingPositionX = 20, StartingPositionY = 20, ShipName = "Alpha-01", IsPlayer = false, Ship = alpha, Scenario = scenario
            }
                                                 );
            #endregion

            #region SCENARIOFEATURES
            context.ScenarioFeatureData.AddOrUpdate(x => x.Id,
                                                    new ScenarioFeatureData()
            {
                Id = 1, PositionX = 0, PositionY = 0, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 2, PositionX = 0, PositionY = 2, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 3, PositionX = 0, PositionY = 4, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 4, PositionX = 0, PositionY = 22, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 5, PositionX = 1, PositionY = 10, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 6, PositionX = 1, PositionY = 11, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 7, PositionX = 2, PositionY = 17, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 8, PositionX = 2, PositionY = 20, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 9, PositionX = 2, PositionY = 22, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 10, PositionX = 3, PositionY = 1, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 11, PositionX = 3, PositionY = 7, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 12, PositionX = 4, PositionY = 1, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 13, PositionX = 4, PositionY = 2, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 14, PositionX = 4, PositionY = 4, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 15, PositionX = 5, PositionY = 0, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 16, PositionX = 5, PositionY = 6, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 17, PositionX = 5, PositionY = 13, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 18, PositionX = 6, PositionY = 0, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 19, PositionX = 7, PositionY = 1, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 20, PositionX = 7, PositionY = 5, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 21, PositionX = 7, PositionY = 11, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 22, PositionX = 7, PositionY = 20, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 23, PositionX = 8, PositionY = 1, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 24, PositionX = 8, PositionY = 2, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 25, PositionX = 8, PositionY = 16, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 26, PositionX = 9, PositionY = 2, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 27, PositionX = 9, PositionY = 7, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 28, PositionX = 9, PositionY = 18, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 29, PositionX = 10, PositionY = 5, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 30, PositionX = 10, PositionY = 8, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 31, PositionX = 10, PositionY = 15, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 32, PositionX = 10, PositionY = 18, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 33, PositionX = 10, PositionY = 19, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 34, PositionX = 11, PositionY = 5, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 35, PositionX = 12, PositionY = 0, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 36, PositionX = 12, PositionY = 5, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 37, PositionX = 12, PositionY = 10, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 38, PositionX = 12, PositionY = 11, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 39, PositionX = 13, PositionY = 3, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 40, PositionX = 14, PositionY = 23, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 41, PositionX = 15, PositionY = 0, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 42, PositionX = 15, PositionY = 2, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 43, PositionX = 15, PositionY = 7, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 44, PositionX = 15, PositionY = 14, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 45, PositionX = 16, PositionY = 7, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 46, PositionX = 17, PositionY = 6, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 47, PositionX = 17, PositionY = 9, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 48, PositionX = 17, PositionY = 15, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 49, PositionX = 18, PositionY = 15, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 50, PositionX = 18, PositionY = 23, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 51, PositionX = 19, PositionY = 5, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 52, PositionX = 19, PositionY = 6, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 53, PositionX = 19, PositionY = 9, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 54, PositionX = 19, PositionY = 10, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 55, PositionX = 19, PositionY = 21, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 56, PositionX = 20, PositionY = 0, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 57, PositionX = 20, PositionY = 10, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 58, PositionX = 20, PositionY = 24, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 59, PositionX = 21, PositionY = 11, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 60, PositionX = 21, PositionY = 18, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 61, PositionX = 22, PositionY = 2, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 62, PositionX = 22, PositionY = 3, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 63, PositionX = 22, PositionY = 23, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 64, PositionX = 22, PositionY = 24, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 65, PositionX = 23, PositionY = 4, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 66, PositionX = 23, PositionY = 13, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 67, PositionX = 23, PositionY = 16, Feature = asteroid, Scenario = scenario
            },
                                                    new ScenarioFeatureData()
            {
                Id = 68, PositionX = 24, PositionY = 3, Feature = asteroid, Scenario = scenario
            }
                                                    );
            #endregion

            #region PLAYERS
            context.PlayerData.AddOrUpdate(x => x.Id,
                                           new PlayerData()
            {
                Id = 1, PlayerGUID = new Guid("550D672D-F40A-4A13-9212-DEB4CFE27F2D"), Name = "ArenaDave"
            });
            #endregion
        }
Esempio n. 12
0
 public override void BuildShipDesigns(ShipHullData hullData)
 {
     shipHullPanel.SetShipDesigns(ResourceManager.instance.GetShipDesigns(hullData, false), LoadShipDesign, DeleteShipDesign);
 }
Esempio n. 13
0
 protected virtual bool CheckHullValid(ShipHullData data)
 {
     return(true);
 }
Esempio n. 14
0
 protected abstract void ChangeHull(ShipHullData hullData);
Esempio n. 15
0
 protected void BuildDeignDataList(ShipHullData hullData)
 {
 }
Esempio n. 16
0
    public ShipDesignData(ShipDesign design)
    {
        Design = design;
        Hull   = Design.GetHull();

        float EngineFTL             = 0;
        float Power                 = 0;
        int   CommandPointReduction = 0;
        float PowerEffiency         = 0;
        float CloakingPowerPerMass  = 0;

        int            ForeSlotCount      = 0;
        int            AftSlotCount       = 0;
        int            PortSlotCount      = 0;
        int            StarboardSlotCount = 0;
        int            CenterSlotCount    = 0;
        ShipSlotLayout slotLayout         = Hull.GetSlotLayout();

        if (slotLayout != null)
        {
            ForeSlotCount      = slotLayout.ForeSlots.Count;
            AftSlotCount       = slotLayout.AftSlots.Count;
            PortSlotCount      = slotLayout.PortSlots.Count;
            StarboardSlotCount = slotLayout.StarboardSlots.Count;
            CenterSlotCount    = slotLayout.CenterSlots.Count;
        }

        //Set base stats from hulldata
        CommandPoints                 = Hull.BaseCommandPoints;
        Research                      = Hull.BaseResearch;
        Repair                        = Hull.BaseRepair;
        Sensor                        = Hull.BaseSensor;
        LongRangeSensor               = Hull.BaseLongRangeSensor;
        AdvancedSensor                = Hull.BaseAdvancedSensor;
        Fuel                          = Hull.BaseFuel;
        Crew                          = Hull.BaseCrew;
        Supplies                      = Hull.BaseSupply;
        FTLSpeed                      = Hull.BaseFTL;
        ForeQuadrant.Health           = Hull.BaseHealthPerSlot * ForeSlotCount;
        ForeQuadrant.ArmorHealth      = Hull.BaseArmorPerSlot * ForeSlotCount;
        AftQuadrant.Health            = Hull.BaseHealthPerSlot * AftSlotCount;
        AftQuadrant.ArmorHealth       = Hull.BaseArmorPerSlot * AftSlotCount;
        PortQuadrant.Health           = Hull.BaseHealthPerSlot * PortSlotCount;
        PortQuadrant.ArmorHealth      = Hull.BaseArmorPerSlot * PortSlotCount;
        StarboardQuadrant.Health      = Hull.BaseHealthPerSlot * StarboardSlotCount;
        StarboardQuadrant.ArmorHealth = Hull.BaseArmorPerSlot * StarboardSlotCount;
        CenterQuadrant.Health         = Hull.BaseHealthPerSlot * CenterSlotCount;
        CenterQuadrant.ArmorHealth    = Hull.BaseArmorPerSlot * CenterSlotCount;

        //Get stats from each module
        AddQuadModuleStats(ForeQuadrant, Design.ForeModules, ref Power, ref CloakingPowerPerMass, ref CommandPointReduction, ref PowerEffiency, ref EngineFTL);
        AddQuadModuleStats(AftQuadrant, Design.AftModules, ref Power, ref CloakingPowerPerMass, ref CommandPointReduction, ref PowerEffiency, ref EngineFTL);
        AddQuadModuleStats(PortQuadrant, Design.PortModules, ref Power, ref CloakingPowerPerMass, ref CommandPointReduction, ref PowerEffiency, ref EngineFTL);
        AddQuadModuleStats(StarboardQuadrant, Design.StarboardModules, ref Power, ref CloakingPowerPerMass, ref CommandPointReduction, ref PowerEffiency, ref EngineFTL);
        AddQuadModuleStats(CenterQuadrant, Design.CenterModules, ref Power, ref CloakingPowerPerMass, ref CommandPointReduction, ref PowerEffiency, ref EngineFTL);

        //Last stat calcs
        CommandPoints  -= CommandPointReduction;
        FTLSpeed       += EngineFTL / Mass;
        PowerGenerated -= Power * (1 - PowerEffiency);
        CloakingPower   = CloakingPowerPerMass * Mass;
        MinCrew         = (int)(Crew * ResourceManager.gameConstants.MinCrewPercent);

        maxRange = CalculateMaxRange();
        BuildDamageGraph();
    }
Esempio n. 17
0
 protected override void ChangeHull(ShipHullData data)
 {
     base.ChangeHull(data);
 }
Esempio n. 18
0
 protected override void ChangeHull(ShipHullData hullData)
 {
     BuildDeignDataList(hullData);
     DesignScrollPostion = Vector2.zero;
 }
 public virtual void BuildShipDesigns(ShipHullData hullData)
 {
 }