public DesignDataListEntry(Rect r, ShipDesignData design, ButtonPress callback) { rect = r; Design = design; buttonCallBack = callback; Name = Design.Design.Name + " "; Command = new GUIContent(); Money = new GUIContent(); GameManager.instance.UIContent.image = null; GameManager.instance.UIContent.text = Name; Command.image = ResourceManager.GetIconTexture("Icon_CommandPoint"); Command.text = ":" + Design.CommandPoints.ToString("0") + " "; Money.image = ResourceManager.GetIconTexture("Icon_Money"); Money.text = ":" + Design.GetTotalValue().ToString("0.#"); float nameWidthMax; float nameWidthMin; float commandWidthMax; float commandWidthMin; float moneyWidthMax; float moneyWidthMin; GameManager.instance.largeLabelStyle.CalcMinMaxWidth(GameManager.instance.UIContent, out nameWidthMin, out nameWidthMax); GameManager.instance.largeLabelStyle.CalcMinMaxWidth(Command, out commandWidthMin, out commandWidthMax); GameManager.instance.largeLabelStyle.CalcMinMaxWidth(Money, out moneyWidthMin, out moneyWidthMax); float indent = (rect.width - (nameWidthMax + commandWidthMax + moneyWidthMax)) / 2f; NameRect = new Rect(rect.x + indent, rect.y, nameWidthMax, rect.height); CommandRect = new Rect(NameRect.xMax, rect.y, commandWidthMax, rect.height); MoneyRect = new Rect(CommandRect.xMax, rect.y, moneyWidthMax, rect.height); }
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); }
bool CanAffordDesign(ShipDesignData design) { if (design.CommandPoints <= CommandLimit - CommandUsed) { if (design.GetTotalValue() <= MoneyLimit - MoneyUsed) { return(true); } } return(false); }
public void SetShipDesign(ShipDesign design, ButtonPress callBack, DeleteButtonPress deleteMethod) { shipDesign = design; buttonCallBack = callBack; deleteCallBack = deleteMethod; ShipDesignData designData = shipDesign.GetShipDesignData(); DesignName.text = shipDesign.Name; CommandValue.text = designData.CommandPoints.ToString(); CostValue.text = designData.GetTotalValue().ToString("0.#"); CommandIcon.overrideSprite = ResourceManager.instance.GetIconTexture("Icon_CommandPoint"); CommandIcon.preserveAspect = true; CostIcon.overrideSprite = ResourceManager.instance.GetIconTexture("Icon_Money"); CostIcon.preserveAspect = true; }
protected override void LoadDesignData(ShipDesignData designData) { selectedDesign = designData; CreateDummyShips(); if (PlayerSelected) { DummyUnit.transform.GetChild(0).gameObject.layer = 9; } else if (EnemySelected) { DummyUnit.transform.GetChild(0).gameObject.layer = 10; } else if (AllySelected) { DummyUnit.transform.GetChild(0).gameObject.layer = 11; } else if (NeutralSelected) { DummyUnit.transform.GetChild(0).gameObject.layer = 13; } }
public void Draw(ShipDesignData selected) { if (selected == Design) { if (GUI.Button(rect, "", GameManager.instance.SquareButtonGreenStyle)) { buttonCallBack(Design); AudioManager.instance.PlayUIClip("SelectButtonClick"); } } else { if (GUI.Button(rect, "")) { buttonCallBack(Design); AudioManager.instance.PlayUIClip("SelectButtonClick"); } } GUI.Label(NameRect, Name, GameManager.instance.largeLabelStyle); GUI.Label(CommandRect, Command, GameManager.instance.largeLabelStyle); GUI.Label(MoneyRect, Money, GameManager.instance.largeLabelStyle); }
protected override void LoadDesignData(ShipDesignData designData) { selectedDesign = designData; CreateDummyShips(); DummyUnit.transform.GetChild(0).gameObject.layer = 9; }
public ShipData(ShipDesignData shipDesignData) { designData = shipDesignData; DisplayName = designData.Design.Name; ForeSection = new ShipQuadrant(this, designData.ForeQuadrant, QuadrantTypes.Fore); AftSection = new ShipQuadrant(this, designData.AftQuadrant, QuadrantTypes.Aft); StarboardSection = new ShipQuadrant(this, designData.StarboardQuadrant, QuadrantTypes.Starboard); PortSection = new ShipQuadrant(this, designData.PortQuadrant, QuadrantTypes.Port); CenterSection = new ShipQuadrant(this, designData.CenterQuadrant, QuadrantTypes.Center); //Add Fighters foreach (KeyValuePair <FighterDefinition, int> keyVal in shipDesignData.Fighters) { Fighters.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } foreach (KeyValuePair <FighterDefinition, int> keyVal in shipDesignData.HeavyFighters) { HeavyFighters.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } foreach (KeyValuePair <FighterDefinition, int> keyVal in shipDesignData.AssaultPods) { AssaultPods.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } fuelMax = designData.Fuel; fuel = fuelMax; ammo = designData.Ammo; ammoMax = designData.Ammo; power = designData.PowerStorage; powerMax = designData.PowerStorage; crew = designData.Crew; crewMax = designData.Crew; supplies = designData.Supplies; suppliesMax = designData.Supplies; troops = designData.Troops; troopsMax = designData.Troops; commandPoints = designData.CommandPoints; mass = designData.Mass; powerGenerated = designData.PowerGenerated; FTLSpeed = designData.FTLSpeed; research = designData.Research; mining = designData.Mining; repair = designData.Repair; ammoGenerated = designData.AmmoGenerated; transporter = designData.Transporter; medical = designData.Medical; cloakingPower = designData.CloakingPower; stealth = designData.Stealth; boardingDefense = designData.BoardingDefense; colonies = designData.Colonies; diplomacy = designData.Diplomacy; sensor = designData.Sensor; longRangeSensor = designData.LongRangeSensor; advancedSensor = designData.AdvancedSensor; CalculateEngines(); AttackDirection = designData.Design.attackDirection; AttackStyle = designData.Design.attackStyle; if (designData.Design.attackRange != -1) { attackRange = designData.Design.attackRange; } else { attackRange = designData.maxRange; } SetCrewEffeciency(); }
protected abstract void LoadDesignData(ShipDesignData designData);