feat: Add initial SpaceTrader project files, forms, resources, and image assets.

This commit is contained in:
fez5587 committed 2025-11-19 12:25:17 -05:00
1 parent 9ba901e228
commit 9318e5dd2d
208 files changed
+51916

No files matched your search

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,58 @@
using System.Reflection;
using System.Runtime.CompilerServices;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: AssemblyTitle("Space Trader for Windows 2.01")]
[assembly: AssemblyDescription("Ported from the Palm version by Jay French, with additional coding by David Pierron. Palm version by Pieter Spronck.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("Copyright 2008 Jay French")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("2.01.*")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// (*) If no key is specified, the assembly is not signed.
// (*) KeyName refers to a key that has been installed in the Crypto Service
// Provider (CSP) on your machine. KeyFile refers to a file which contains
// a key.
// (*) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the key
// in the KeyFile is installed into the CSP and used.
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory which is
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
// located in the project directory, you would specify the AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
// documentation for more information on this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
+399
View File
@@ -0,0 +1,399 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class Commander : CrewMember
{
#region Member Declarations
private int _cash = 1000;
private int _debt = 0;
private int _killsPirate = 0;
private int _killsPolice = 0;
private int _killsTrader = 0;
private int _policeRecordScore = 0;
private int _reputationScore = 0;
private int _days = 0;
private bool _insurance = false;
private int _noclaim = 0;
private Ship _ship = new Ship(ShipType.Gnat);
private int[] _priceCargo = new int[10]; // Total price paid for trade goods
#endregion
#region Methods
public Commander(CrewMember baseCrewMember): base(baseCrewMember)
{
// Start off with a crew of only the commander and a Pulse Laser.
Ship.Crew[0] = this;
Ship.AddEquipment(Consts.Weapons[(int)WeaponType.PulseLaser]);
}
public Commander(Hashtable hash): base(hash)
{
_cash = (int)GetValueFromHash(hash, "_cash", _cash);
_debt = (int)GetValueFromHash(hash, "_debt", _debt);
_killsPirate = (int)GetValueFromHash(hash, "_killsPirate", _killsPirate);
_killsPolice = (int)GetValueFromHash(hash, "_killsPolice", _killsPolice);
_killsTrader = (int)GetValueFromHash(hash, "_killsTrader", _killsTrader);
_policeRecordScore = (int)GetValueFromHash(hash, "_policeRecordScore", _policeRecordScore);
_reputationScore = (int)GetValueFromHash(hash, "_reputationScore", _reputationScore);
_days = (int)GetValueFromHash(hash, "_days", _days);
_insurance = (bool)GetValueFromHash(hash, "_insurance", _insurance);
_noclaim = (int)GetValueFromHash(hash, "_noclaim", _noclaim);
_ship = new Ship((Hashtable)GetValueFromHash(hash, "_ship", _ship));
_priceCargo = (int[])GetValueFromHash(hash, "_priceCargo", _priceCargo);
Game.CurrentGame.Mercenaries[(int)CrewMemberId.Commander] = this;
Strings.CrewMemberNames[(int)CrewMemberId.Commander] = (string)GetValueFromHash(hash, "_name",
Strings.CrewMemberNames[(int)CrewMemberId.Commander]);
}
public void PayInterest()
{
if (Debt > 0)
{
int interest = Math.Max(1, (int)(Debt * Consts.IntRate));
if (Cash > interest)
Cash -= interest;
else
{
Debt += (interest - Cash);
Cash = 0;
}
}
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_cash", _cash);
hash.Add("_debt", _debt);
hash.Add("_killsPirate", _killsPirate);
hash.Add("_killsPolice", _killsPolice);
hash.Add("_killsTrader", _killsTrader);
hash.Add("_policeRecordScore", _policeRecordScore);
hash.Add("_reputationScore", _reputationScore);
hash.Add("_days", _days);
hash.Add("_insurance", _insurance);
hash.Add("_noclaim", _noclaim);
hash.Add("_ship", _ship.Serialize());
hash.Add("_priceCargo", _priceCargo);
hash.Add("_name", Name);
return hash;
}
public bool TradeShip(ShipSpec specToBuy, int netPrice, IWin32Window owner)
{
return TradeShip(specToBuy, netPrice, specToBuy.Name, owner);
}
public bool TradeShip(ShipSpec specToBuy, int netPrice, string newShipName, IWin32Window owner)
{
bool traded = false;
if (netPrice > 0 && Debt > 0)
FormAlert.Alert(AlertType.DebtNoBuy, owner);
else if (netPrice > CashToSpend)
FormAlert.Alert(AlertType.ShipBuyIF, owner);
else if (specToBuy.CrewQuarters < Ship.SpecialCrew.Length)
{
string passengers = Ship.SpecialCrew[1].Name;
if (Ship.SpecialCrew.Length > 2)
passengers += " and " + Ship.SpecialCrew[2].Name;
FormAlert.Alert(AlertType.ShipBuyPassengerQuarters, owner, passengers);
}
else if (specToBuy.CrewQuarters < Ship.CrewCount)
FormAlert.Alert(AlertType.ShipBuyCrewQuarters, owner);
else if (Ship.ReactorOnBoard)
FormAlert.Alert(AlertType.ShipBuyReactor, owner);
else
{
Equipment[] special = new Equipment[]
{
Consts.Weapons[(int)WeaponType.MorgansLaser],
Consts.Weapons[(int)WeaponType.QuantumDistruptor],
Consts.Shields[(int)ShieldType.Lightning],
Consts.Gadgets[(int)GadgetType.FuelCompactor],
Consts.Gadgets[(int)GadgetType.HiddenCargoBays]
};
bool[] add = new bool[special.Length];
bool addPod = false;
int extraCost = 0;
for (int i = 0; i < special.Length; i++)
{
if (Ship.HasEquipment(special[i]))
{
if (specToBuy.Slots(special[i].EquipmentType) == 0)
FormAlert.Alert(AlertType.ShipBuyNoSlots, owner, newShipName, special[i].Name,
Strings.EquipmentTypes[(int)special[i].EquipmentType]);
else
{
extraCost += special[i].TransferPrice;
add[i] = true;
}
}
}
if (Ship.EscapePod)
{
addPod = true;
extraCost += Consts.PodTransferCost;
}
if (netPrice + extraCost > CashToSpend)
FormAlert.Alert(AlertType.ShipBuyIFTransfer, owner);
extraCost = 0;
for (int i = 0; i < special.Length; i++)
{
if (add[i])
{
if (netPrice + extraCost + special[i].TransferPrice > CashToSpend)
FormAlert.Alert(AlertType.ShipBuyNoTransfer, owner, special[i].Name);
else if (FormAlert.Alert(AlertType.ShipBuyTransfer, owner, special[i].Name, special[i].Name.ToLower(),
Functions.FormatNumber(special[i].TransferPrice)) == DialogResult.Yes)
extraCost += special[i].TransferPrice;
else
add[i] = false;
}
}
if (addPod)
{
if (netPrice + extraCost + Consts.PodTransferCost > CashToSpend)
FormAlert.Alert(AlertType.ShipBuyNoTransfer, owner, Strings.ShipInfoEscapePod);
else if (FormAlert.Alert(AlertType.ShipBuyTransfer, owner, Strings.ShipInfoEscapePod,
Strings.ShipInfoEscapePod.ToLower(), Functions.FormatNumber(Consts.PodTransferCost)) == DialogResult.Yes)
extraCost += Consts.PodTransferCost;
else
addPod = false;
}
if (FormAlert.Alert(AlertType.ShipBuyConfirm, owner, Ship.Name, newShipName,
(add[0] || add[1] || add[2] || addPod ? Strings.ShipBuyTransfer : "")) == DialogResult.Yes)
{
CrewMember[] oldCrew = Ship.Crew;
Ship = new Ship(specToBuy.Type);
Cash -= (netPrice + extraCost);
for (int i = 0; i < Math.Min(oldCrew.Length, Ship.Crew.Length); i++)
Ship.Crew[i] = oldCrew[i];
for (int i = 0; i < special.Length; i++)
{
if (add[i])
Ship.AddEquipment(special[i]);
}
if (addPod)
Ship.EscapePod = true;
else if (Insurance)
{
Insurance = false;
NoClaim = 0;
}
traded = true;
}
}
return traded;
}
#endregion
#region Properties
public int Cash
{
get
{
return _cash;
}
set
{
_cash = value;
}
}
public int CashToSpend
{
get
{
return _cash - (Game.CurrentGame.Options.ReserveMoney ? Game.CurrentGame.CurrentCosts : 0);
}
}
public int Days
{
get
{
return _days;
}
set
{
_days = value;
}
}
public int Debt
{
get
{
return _debt;
}
set
{
_debt = value;
}
}
public bool Insurance
{
get
{
return _insurance;
}
set
{
_insurance = value;
}
}
public int KillsPirate
{
get
{
return _killsPirate;
}
set
{
_killsPirate = value;
}
}
public int KillsPolice
{
get
{
return _killsPolice;
}
set
{
_killsPolice = value;
}
}
public int KillsTrader
{
get
{
return _killsTrader;
}
set
{
_killsTrader = value;
}
}
public int NoClaim
{
get
{
return _noclaim;
}
set
{
_noclaim = Math.Max(0, Math.Min(Consts.MaxNoClaim, value));
}
}
public int PoliceRecordScore
{
get
{
return _policeRecordScore;
}
set
{
_policeRecordScore = value;
}
}
public int[] PriceCargo
{
get
{
return _priceCargo;
}
}
public int ReputationScore
{
get
{
return _reputationScore;
}
set
{
_reputationScore = value;
}
}
public Ship Ship
{
get
{
return _ship;
}
set
{
_ship = value;
}
}
public int Worth
{
get
{
return Ship.Price + _cash - _debt + (Game.CurrentGame.QuestStatusMoon > 0 ? SpecialEvent.MoonCost : 0);
}
}
#endregion
}
}
+397
View File
@@ -0,0 +1,397 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
using System.Drawing;
using System.IO;
namespace Fryz.Apps.SpaceTrader
{
public class Consts
{
#region Individual Constants
// Directory structure and File constants.
public static string BaseDirectory = Environment.CurrentDirectory;
public static string CustomDirectory = Path.Combine(BaseDirectory, "custom");
public static string DataDirectory = Path.Combine(BaseDirectory, "data");
public static string SaveDirectory = Path.Combine(BaseDirectory, "save");
public static string CustomImagesDirectory = Path.Combine(CustomDirectory, "images");
public static string CustomTemplatesDirectory = Path.Combine(CustomDirectory, "templates");
public static string HighScoreFile = Path.Combine(DataDirectory, "HighScores.bin");
public static string DefaultSettingsFile = Path.Combine(DataDirectory, "DefaultSettings.bin");
public const string CurrentVersion = "2.00";
// Price paid by government for each negative PoliceScore point
public const int BountyModifier = 1000;
public const int GalaxyWidth = 154;
public const int GalaxyHeight = 110;
public const int MinDistance = 7;
public const int CloseDistance = 13;
public const int MaxRange = 20;
public const int WormDist = 25;
public const int DebtWarning = 75000;
public const int DebtTooLarge = 100000;
public const double InsRate = 0.0025;
public const double IntRate = 0.1;
public const int MaxNoClaim = 90;
public const int SkillBonus = 3;
public const int CloakBonus = 2;
public const int MaxSkill = 10;
public const int StartClicks = 20;
public const int MaxFuelTanks = 20;
public const int FuelCompactorTanks = 3;
public const int HullUpgrade = 50;
public const int MaxShip = 9;
public const int MaxSlots = 5;
public const int FleaConversionCost = 500;
public const int PodTransferCost = 200;
public const int ImagesPerShip = 4;
public const int ShipImgOffsetNormal = 0;
public const int ShipImgOffsetDamage = 1;
public const int ShipImgOffsetShield = 2;
public const int ShipImgOffsetSheildDamage = 3;
public const int ShipImgUseDefault = -1;
public const int EncounterImgAlien = 0;
public const int EncounterImgPirate = 1;
public const int EncounterImgPolice = 2;
public const int EncounterImgSpecial = 3;
public const int EncounterImgTrader = 4;
public const int StoryProbability = 50/8;
public const int FabricRipInitialProbability = 25;
public const int DirectionUp = 0;
public const int DirectionDown = 1;
public const int DirectionLeft = 2;
public const int DirectionRight = 3;
public const int DisruptorSystemsMultiplier = 3;
public const int MaxTribbles = 100000;
public const int PoliceRecordScorePsychopath = -100;
public const int PoliceRecordScoreVillain = -70;
public const int PoliceRecordScoreCriminal = -30;
public const int PoliceRecordScoreCrook = -10;
public const int PoliceRecordScoreDubious = -5;
public const int PoliceRecordScoreClean = 0;
public const int PoliceRecordScoreLawful = 5;
public const int PoliceRecordScoreTrusted = 10;
public const int PoliceRecordScoreLiked = 25;
public const int PoliceRecordScoreHero = 75;
public const int ReputationScoreHarmless = 0;
public const int ReputationScoreMostlyHarmless = 10;
public const int ReputationScorePoor = 20;
public const int ReputationScoreAverage = 40;
public const int ReputationScoreAboveAverage = 80;
public const int ReputationScoreCompetent = 150;
public const int ReputationScoreDangerous = 300;
public const int ReputationScoreDeadly = 600;
public const int ReputationScoreElite = 1500;
public const int ScoreAttackPirate = 0;
public const int ScoreAttackPolice = -3;
public const int ScoreAttackTrader = -2;
public const int ScoreCaughtWithWild = -4;
public const int ScoreFleePolice = -2;
public const int ScoreKillCaptain = 100;
public const int ScoreKillPirate = 1;
public const int ScoreKillPolice = -6;
public const int ScoreKillTrader = -4;
public const int ScorePlunderPirate = -1;
public const int ScorePlunderTrader = -2;
public const int ScoreTrafficking = -1;
public const string ShipTemplateSeparator = "----------------------------";
#endregion
#region Constant Arrays
#region Gadgets
public static Gadget[] Gadgets = new Gadget[]
{
new Gadget(GadgetType.ExtraCargoBays, SkillType.NA, 2500, TechLevel.EarlyIndustrial, 35), // 5 extra holds
new Gadget(GadgetType.AutoRepairSystem, SkillType.Engineer, 7500, TechLevel.Industrial, 20), // Increases engineer's effectivity
new Gadget(GadgetType.NavigatingSystem, SkillType.Pilot, 15000, TechLevel.PostIndustrial, 20), // Increases pilot's effectivity
new Gadget(GadgetType.TargetingSystem, SkillType.Fighter, 25000, TechLevel.PostIndustrial, 20), // Increases fighter's effectivity
new Gadget(GadgetType.CloakingDevice, SkillType.Pilot, 100000, TechLevel.HiTech, 5), // If you have a good engineer, neither pirates nor police will notice you
// The gadgets below can't be bought
new Gadget(GadgetType.FuelCompactor, SkillType.NA, 30000, TechLevel.Unavailable, 0),
new Gadget(GadgetType.HiddenCargoBays, SkillType.NA, 60000, TechLevel.Unavailable, 0)
};
#endregion
#region PoliceRecords
public static PoliceRecord[] PoliceRecords = new PoliceRecord[]
{
new PoliceRecord(PoliceRecordType.Psychopath, PoliceRecordScorePsychopath),
new PoliceRecord(PoliceRecordType.Villain, PoliceRecordScoreVillain),
new PoliceRecord(PoliceRecordType.Criminal, PoliceRecordScoreCriminal),
new PoliceRecord(PoliceRecordType.Crook, PoliceRecordScoreCrook),
new PoliceRecord(PoliceRecordType.Dubious, PoliceRecordScoreDubious),
new PoliceRecord(PoliceRecordType.Clean, PoliceRecordScoreClean),
new PoliceRecord(PoliceRecordType.Lawful, PoliceRecordScoreLawful),
new PoliceRecord(PoliceRecordType.Trusted, PoliceRecordScoreTrusted),
new PoliceRecord(PoliceRecordType.Liked, PoliceRecordScoreLiked),
new PoliceRecord(PoliceRecordType.Hero, PoliceRecordScoreHero)
};
#endregion
#region PoliticalSystems
public static PoliticalSystem[] PoliticalSystems = new PoliticalSystem[]
{
new PoliticalSystem(PoliticalSystemType.Anarchy, 0, Activity.Absent, Activity.Swarms, Activity.Minimal, TechLevel.PreAgricultural, TechLevel.Industrial, 7, true, true, TradeItemType.Food),
new PoliticalSystem(PoliticalSystemType.Capitalist, 2, Activity.Some, Activity.Few, Activity.Swarms, TechLevel.EarlyIndustrial, TechLevel.HiTech, 1, true, true, TradeItemType.Ore),
new PoliticalSystem(PoliticalSystemType.Communist, 6, Activity.Abundant, Activity.Moderate, Activity.Moderate, TechLevel.Agricultural, TechLevel.Industrial, 5, true, true, TradeItemType.NA),
new PoliticalSystem(PoliticalSystemType.Confederacy, 5, Activity.Moderate, Activity.Some, Activity.Many, TechLevel.Agricultural, TechLevel.PostIndustrial, 3, true, true, TradeItemType.Games),
new PoliticalSystem(PoliticalSystemType.Corporate, 2, Activity.Abundant, Activity.Few, Activity.Swarms, TechLevel.EarlyIndustrial, TechLevel.HiTech, 2, true, true, TradeItemType.Robots),
new PoliticalSystem(PoliticalSystemType.Cybernetic, 0, Activity.Swarms, Activity.Swarms, Activity.Many, TechLevel.PostIndustrial, TechLevel.HiTech, 0, false, false, TradeItemType.Ore),
new PoliticalSystem(PoliticalSystemType.Democracy, 4, Activity.Some, Activity.Few, Activity.Many, TechLevel.Renaissance, TechLevel.HiTech, 2, true, true, TradeItemType.Games),
new PoliticalSystem(PoliticalSystemType.Dictatorship, 3, Activity.Moderate, Activity.Many, Activity.Some, TechLevel.PreAgricultural, TechLevel.HiTech, 2, true, true, TradeItemType.NA),
new PoliticalSystem(PoliticalSystemType.Fascist, 7, Activity.Swarms, Activity.Swarms, Activity.Minimal, TechLevel.EarlyIndustrial, TechLevel.HiTech, 0, false, true, TradeItemType.Machines),
new PoliticalSystem(PoliticalSystemType.Feudal, 1, Activity.Minimal, Activity.Abundant, Activity.Few, TechLevel.PreAgricultural, TechLevel.Renaissance, 6, true, true, TradeItemType.Firearms),
new PoliticalSystem(PoliticalSystemType.Military, 7, Activity.Swarms, Activity.Absent, Activity.Abundant, TechLevel.Medieval, TechLevel.HiTech, 0, false, true, TradeItemType.Robots),
new PoliticalSystem(PoliticalSystemType.Monarchy, 3, Activity.Moderate, Activity.Some, Activity.Moderate, TechLevel.PreAgricultural, TechLevel.Industrial, 4, true, true, TradeItemType.Medicine),
new PoliticalSystem(PoliticalSystemType.Pacifist, 7, Activity.Few, Activity.Minimal, Activity.Many, TechLevel.PreAgricultural, TechLevel.Renaissance, 1, true, false, TradeItemType.NA),
new PoliticalSystem(PoliticalSystemType.Socialist, 4, Activity.Few, Activity.Many, Activity.Some, TechLevel.PreAgricultural, TechLevel.Industrial, 6, true, true, TradeItemType.NA),
new PoliticalSystem(PoliticalSystemType.Satori, 0, Activity.Minimal, Activity.Minimal, Activity.Minimal, TechLevel.PreAgricultural, TechLevel.Agricultural, 0, false, false, TradeItemType.NA),
new PoliticalSystem(PoliticalSystemType.Technocracy, 1, Activity.Abundant, Activity.Some, Activity.Abundant, TechLevel.EarlyIndustrial, TechLevel.HiTech, 2, true, true, TradeItemType.Water),
new PoliticalSystem(PoliticalSystemType.Theocracy, 5, Activity.Abundant, Activity.Minimal, Activity.Moderate, TechLevel.PreAgricultural, TechLevel.EarlyIndustrial, 0, true, true, TradeItemType.Narcotics)
};
#endregion
#region Reputations
public static Reputation[] Reputations = new Reputation[]
{
new Reputation(ReputationType.Harmless, ReputationScoreHarmless),
new Reputation(ReputationType.MostlyHarmless, ReputationScoreMostlyHarmless),
new Reputation(ReputationType.Poor, ReputationScorePoor),
new Reputation(ReputationType.Average, ReputationScoreAverage),
new Reputation(ReputationType.AboveAverage, ReputationScoreAboveAverage),
new Reputation(ReputationType.Competent, ReputationScoreCompetent),
new Reputation(ReputationType.Dangerous, ReputationScoreDangerous),
new Reputation(ReputationType.Deadly, ReputationScoreDeadly),
new Reputation(ReputationType.Elite, ReputationScoreElite)
};
#endregion
#region Shields
public static Shield[] Shields = new Shield[]
{
new Shield(ShieldType.Energy, 100, 5000, TechLevel.Industrial, 70),
new Shield(ShieldType.Reflective, 200, 20000, TechLevel.PostIndustrial, 30),
// The weapons below cannot be bought
new Shield(ShieldType.Lightning, 350, 45000, TechLevel.Unavailable, 0)
};
#endregion
#region ShipImageOffsets
public static Rectangle[] ShipImageOffsets = new Rectangle[]
{
// We only care about X and Width, so set Y and Height to 0.
new Rectangle(22, 0, 19, 0), // Flea
new Rectangle(18, 0, 27, 0), // Gnat
new Rectangle(18, 0, 27, 0), // Firefly
new Rectangle(18, 0, 27, 0), // Mosquito
new Rectangle(12, 0, 40, 0), // Bumblebee
new Rectangle(12, 0, 40, 0), // Beetle
new Rectangle( 7, 0, 50, 0), // Hornet
new Rectangle( 7, 0, 50, 0), // Grasshopper
new Rectangle( 2, 0, 60, 0), // Termite
new Rectangle( 2, 0, 60, 0), // Wasp
new Rectangle( 7, 0, 49, 0), // Space Monster
new Rectangle(21, 0, 22, 0), // Dragonfly
new Rectangle(15, 0, 34, 0), // Mantis
new Rectangle( 7, 0, 49, 0), // Scarab
new Rectangle( 9, 0, 46, 0), // Bottle
new Rectangle( 2, 0, 60, 0), // Custom
new Rectangle( 2, 0, 60, 0) // Scorpion
};
#endregion
#region ShipSpecs
public static ShipSpec[] ShipSpecs = new ShipSpec[]
{
// Type Size Bays W S G Cr F FC Hull RC Price % Police Pirates Traders MinTechLevel
new ShipSpec(ShipType.Flea, Size.Tiny, 10, 0, 0, 0, 1, 20, 1, 25, 1, 2000, 2, Activity.NA, Activity.NA, Activity.Absent, TechLevel.EarlyIndustrial),
new ShipSpec(ShipType.Gnat, Size.Small, 15, 1, 0, 1, 1, 14, 1, 100, 2, 10000, 28, Activity.Absent, Activity.Absent, Activity.Absent, TechLevel.Industrial),
new ShipSpec(ShipType.Firefly, Size.Small, 20, 1, 1, 1, 1, 17, 1, 100, 3, 25000, 20, Activity.Absent, Activity.Absent, Activity.Absent, TechLevel.Industrial),
new ShipSpec(ShipType.Mosquito, Size.Small, 15, 2, 1, 1, 1, 13, 1, 100, 5, 30000, 20, Activity.Absent, Activity.Minimal, Activity.Absent, TechLevel.Industrial),
new ShipSpec(ShipType.Bumblebee, Size.Medium, 25, 1, 2, 2, 2, 15, 1, 100, 7, 60000, 15, Activity.Minimal, Activity.Minimal, Activity.Absent, TechLevel.Industrial),
new ShipSpec(ShipType.Beetle, Size.Medium, 50, 0, 1, 1, 3, 14, 1, 50, 10, 80000, 3, Activity.NA, Activity.NA, Activity.Absent, TechLevel.Industrial),
new ShipSpec(ShipType.Hornet, Size.Large, 20, 3, 2, 1, 2, 16, 2, 150, 15, 100000, 6, Activity.Few, Activity.Some, Activity.Minimal, TechLevel.PostIndustrial),
new ShipSpec(ShipType.Grasshopper, Size.Large, 30, 2, 2, 3, 3, 15, 3, 150, 15, 150000, 2, Activity.Some, Activity.Moderate, Activity.Few, TechLevel.PostIndustrial),
new ShipSpec(ShipType.Termite, Size.Huge, 60, 1, 3, 2, 3, 13, 4, 200, 20, 225000, 2, Activity.Moderate, Activity.Many, Activity.Some, TechLevel.HiTech),
new ShipSpec(ShipType.Wasp, Size.Huge, 35, 3, 2, 2, 3, 14, 5, 200, 20, 300000, 2, Activity.Many, Activity.Abundant, Activity.Moderate, TechLevel.HiTech),
// The ships below can't be bought (mostly)
new ShipSpec(ShipType.SpaceMonster, Size.Huge, 0, 3, 0, 0, 1, 1, 1, 500, 1, 500000, 0, Activity.NA, Activity.NA, Activity.NA, TechLevel.Unavailable),
new ShipSpec(ShipType.Dragonfly, Size.Small, 0, 2, 3, 2, 1, 1, 1, 10, 1, 500000, 0, Activity.NA, Activity.NA, Activity.NA, TechLevel.Unavailable),
new ShipSpec(ShipType.Mantis, Size.Medium, 0, 3, 1, 3, 3, 1, 1, 300, 1, 500000, 0, Activity.NA, Activity.NA, Activity.NA, TechLevel.Unavailable),
new ShipSpec(ShipType.Scarab, Size.Large, 20, 2, 0, 0, 2, 1, 1, 400, 1, 500000, 0, Activity.NA, Activity.NA, Activity.NA, TechLevel.Unavailable),
new ShipSpec(ShipType.Bottle, Size.Small, 0, 0, 0, 0, 0, 1, 1, 10, 1, 100, 0, Activity.NA, Activity.NA, Activity.NA, TechLevel.Unavailable),
new ShipSpec(ShipType.Custom, Size.Huge, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Activity.NA, Activity.NA, Activity.NA, TechLevel.Unavailable),
new ShipSpec(ShipType.Scorpion, Size.Huge, 30, 2, 2, 2, 2, 1, 1, 300, 1, 500000, 0, Activity.NA, Activity.NA, Activity.NA, TechLevel.Unavailable)
};
#endregion
#region Shipyards
public static Shipyard[] Shipyards = new Shipyard[]
{
new Shipyard(ShipyardId.Corellian, Size.Large, ShipyardSkill.CrewQuarters),
new Shipyard(ShipyardId.Incom, Size.Medium, ShipyardSkill.ShieldSlotUnits),
new Shipyard(ShipyardId.Kuat, Size.Huge, ShipyardSkill.HullPerUnit),
new Shipyard(ShipyardId.Sienar, Size.Tiny, ShipyardSkill.WeaponSlotUnits),
new Shipyard(ShipyardId.Sorosuub, Size.Small, ShipyardSkill.FuelBase)
};
#endregion
#region SpecialCrewMemberIds
public static ArrayList SpecialCrewMemberIds = new ArrayList(new CrewMemberId[]
{
CrewMemberId.Commander,
CrewMemberId.Dragonfly,
CrewMemberId.FamousCaptain,
CrewMemberId.Jarek,
CrewMemberId.Opponent,
CrewMemberId.Princess,
CrewMemberId.Scarab,
CrewMemberId.Scorpion,
CrewMemberId.SpaceMonster,
CrewMemberId.Wild
});
#endregion
#region SpecialEvents
public static SpecialEvent[] SpecialEvents = new SpecialEvent[]
{
new SpecialEvent(SpecialEventType.Artifact, 0, 1, false),
new SpecialEvent(SpecialEventType.ArtifactDelivery, -20000, 0, true),
new SpecialEvent(SpecialEventType.CargoForSale, 1000, 3, false),
new SpecialEvent(SpecialEventType.Dragonfly, 0, 1, true),
new SpecialEvent(SpecialEventType.DragonflyBaratas, 0, 0, true),
new SpecialEvent(SpecialEventType.DragonflyDestroyed, 0, 0, true),
new SpecialEvent(SpecialEventType.DragonflyMelina, 0, 0, true),
new SpecialEvent(SpecialEventType.DragonflyRegulas, 0, 0, true),
new SpecialEvent(SpecialEventType.DragonflyShield, 0, 0, false),
new SpecialEvent(SpecialEventType.EraseRecord, 5000, 3, false),
new SpecialEvent(SpecialEventType.Experiment, 0, 0, true),
new SpecialEvent(SpecialEventType.ExperimentFailed, 0, 0, true),
new SpecialEvent(SpecialEventType.ExperimentStopped, 0, 0, true),
new SpecialEvent(SpecialEventType.Gemulon, 0, 0, true),
new SpecialEvent(SpecialEventType.GemulonFuel, 0, 0, false),
new SpecialEvent(SpecialEventType.GemulonInvaded, 0, 0, true),
new SpecialEvent(SpecialEventType.GemulonRescued, 0, 0, true),
new SpecialEvent(SpecialEventType.Japori, 0, 1, false),
new SpecialEvent(SpecialEventType.JaporiDelivery, 0, 0, true),
new SpecialEvent(SpecialEventType.Jarek, 0, 1, false),
new SpecialEvent(SpecialEventType.JarekGetsOut, 0, 0, true),
new SpecialEvent(SpecialEventType.Lottery, -1000, 0, true),
new SpecialEvent(SpecialEventType.Moon, 500000, 4, false),
new SpecialEvent(SpecialEventType.MoonRetirement, 0, 0, false),
new SpecialEvent(SpecialEventType.Reactor, 0, 0, false),
new SpecialEvent(SpecialEventType.ReactorDelivered, 0, 0, true),
new SpecialEvent(SpecialEventType.ReactorLaser, 0, 0, false),
new SpecialEvent(SpecialEventType.Scarab, 0, 1, true),
new SpecialEvent(SpecialEventType.ScarabDestroyed, 0, 0, true),
new SpecialEvent(SpecialEventType.ScarabUpgradeHull, 0, 0, false),
new SpecialEvent(SpecialEventType.Skill, 3000, 3, false),
new SpecialEvent(SpecialEventType.SpaceMonster, 0, 1, true),
new SpecialEvent(SpecialEventType.SpaceMonsterKilled, -15000, 0, true),
new SpecialEvent(SpecialEventType.Tribble, 1000, 1, false),
new SpecialEvent(SpecialEventType.TribbleBuyer, 0, 3, false),
new SpecialEvent(SpecialEventType.Wild, 0, 1, false),
new SpecialEvent(SpecialEventType.WildGetsOut, 0, 0, true),
new SpecialEvent(SpecialEventType.Sculpture, -2000, 0, false),
new SpecialEvent(SpecialEventType.SculptureDelivered, 0, 0, true),
new SpecialEvent(SpecialEventType.SculptureHiddenBays, 0, 0, false),
new SpecialEvent(SpecialEventType.Princess, 0, 0, true),
new SpecialEvent(SpecialEventType.PrincessCentauri, 0, 0, true),
new SpecialEvent(SpecialEventType.PrincessInthara, 0, 0, true),
new SpecialEvent(SpecialEventType.PrincessQonos, 0, 0, false),
new SpecialEvent(SpecialEventType.PrincessQuantum, 0, 0, false),
new SpecialEvent(SpecialEventType.PrincessReturned, 0, 0, true)
};
#endregion
#region TradeItems
public static TradeItem[] TradeItems = new TradeItem[]
{
new TradeItem(TradeItemType.Water, TechLevel.PreAgricultural, TechLevel.PreAgricultural, TechLevel.Medieval, 30, 3, 4, SystemPressure.Drought, SpecialResource.SweetOceans, SpecialResource.Desert, 30, 50, 1),
new TradeItem(TradeItemType.Furs, TechLevel.PreAgricultural, TechLevel.PreAgricultural, TechLevel.PreAgricultural, 250, 10, 10, SystemPressure.Cold, SpecialResource.RichFauna, SpecialResource.Lifeless, 230, 280, 5),
new TradeItem(TradeItemType.Food, TechLevel.Agricultural, TechLevel.PreAgricultural, TechLevel.Agricultural, 100, 5, 5, SystemPressure.CropFailure, SpecialResource.RichSoil, SpecialResource.PoorSoil, 90, 160, 5),
new TradeItem(TradeItemType.Ore, TechLevel.Medieval, TechLevel.Medieval, TechLevel.Renaissance, 350, 20, 10, SystemPressure.War, SpecialResource.MineralRich, SpecialResource.MineralPoor, 350, 420, 10),
new TradeItem(TradeItemType.Games, TechLevel.Renaissance, TechLevel.Agricultural, TechLevel.PostIndustrial, 250, -10, 5, SystemPressure.Boredom, SpecialResource.Artistic, SpecialResource.NA, 160, 270, 5),
new TradeItem(TradeItemType.Firearms, TechLevel.Renaissance, TechLevel.Agricultural, TechLevel.Industrial, 1250, -75, 100, SystemPressure.War, SpecialResource.Warlike, SpecialResource.NA, 600, 1100, 25),
new TradeItem(TradeItemType.Medicine, TechLevel.EarlyIndustrial, TechLevel.Agricultural, TechLevel.PostIndustrial, 650, -20, 10, SystemPressure.Plague, SpecialResource.SpecialHerbs, SpecialResource.NA, 400, 700, 25),
new TradeItem(TradeItemType.Machines, TechLevel.EarlyIndustrial, TechLevel.Renaissance, TechLevel.Industrial, 900, -30, 5, SystemPressure.Employment, SpecialResource.NA, SpecialResource.NA, 600, 800, 25),
new TradeItem(TradeItemType.Narcotics, TechLevel.Industrial, TechLevel.PreAgricultural, TechLevel.Industrial, 3500, -125, 150, SystemPressure.Boredom, SpecialResource.WeirdMushrooms, SpecialResource.NA, 2000, 3000, 50),
new TradeItem(TradeItemType.Robots, TechLevel.PostIndustrial, TechLevel.EarlyIndustrial, TechLevel.HiTech, 5000, -150, 100, SystemPressure.Employment, SpecialResource.NA, SpecialResource.NA, 3500, 5000, 100)
};
#endregion
#region Weapons
public static Weapon[] Weapons = new Weapon[]
{
new Weapon(WeaponType.PulseLaser, 15, false, 2000, TechLevel.Industrial, 50),
new Weapon(WeaponType.BeamLaser, 25, false, 12500, TechLevel.PostIndustrial, 35),
new Weapon(WeaponType.MilitaryLaser, 35, false, 35000, TechLevel.HiTech, 15),
new Weapon(WeaponType.MorgansLaser, 85, false, 50000, TechLevel.Unavailable, 0),
new Weapon(WeaponType.PhotonDisruptor, 20, true, 15000, TechLevel.PostIndustrial, 0),
new Weapon(WeaponType.QuantumDistruptor, 60, true, 50000, TechLevel.Unavailable, 0)
};
#endregion
#region EquipmentForSale (This comes at the end because it depends on other Constant Arrays)
public static Equipment[] EquipmentForSale = new Equipment[]
{
Weapons[(int)WeaponType.PulseLaser],
Weapons[(int)WeaponType.BeamLaser],
Weapons[(int)WeaponType.MilitaryLaser],
Weapons[(int)WeaponType.PhotonDisruptor],
Shields[(int)ShieldType.Energy],
Shields[(int)ShieldType.Reflective],
Gadgets[(int)GadgetType.ExtraCargoBays],
Gadgets[(int)GadgetType.AutoRepairSystem],
Gadgets[(int)GadgetType.NavigatingSystem],
Gadgets[(int)GadgetType.TargetingSystem],
Gadgets[(int)GadgetType.CloakingDevice]
};
#endregion
#endregion
}
}
+276
View File
@@ -0,0 +1,276 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public class CrewMember : STSerializableObject
{
#region Member Declarations
private CrewMemberId _id;
private int[] _skills = new int[4];
private StarSystemId _curSystemId = StarSystemId.NA;
#endregion
#region Methods
public CrewMember(CrewMemberId id, int pilot, int fighter, int trader, int engineer, StarSystemId curSystemId)
{
_id = id;
Pilot = pilot;
Fighter = fighter;
Trader = trader;
Engineer = engineer;
_curSystemId = curSystemId;
}
public CrewMember(CrewMember baseCrewMember)
{
_id = baseCrewMember.Id;
Pilot = baseCrewMember.Pilot;
Fighter = baseCrewMember.Fighter;
Trader = baseCrewMember.Trader;
Engineer = baseCrewMember.Engineer;
_curSystemId = baseCrewMember.CurrentSystemId;
}
public CrewMember(Hashtable hash): base(hash)
{
_id = (CrewMemberId)GetValueFromHash(hash, "_id");
_skills = (int[])GetValueFromHash(hash, "_skills", _skills);
_curSystemId = (StarSystemId)GetValueFromHash(hash, "_curSystemId", _curSystemId);
}
private void ChangeRandomSkill(int amount)
{
ArrayList skillIdList = new ArrayList(4);
for (int i = 0; i < Skills.Length; i++)
{
if (Skills[i] + amount > 0 && Skills[i] + amount < Consts.MaxSkill)
skillIdList.Add(i);
}
if (skillIdList.Count > 0)
{
int skill = (int)skillIdList[Functions.GetRandom(skillIdList.Count)];
int curTrader = Game.CurrentGame.Commander.Ship.Trader;
Skills[skill] += amount;
if (Game.CurrentGame.Commander.Ship.Trader != curTrader)
Game.CurrentGame.RecalculateBuyPrices(Game.CurrentGame.Commander.CurrentSystem);
}
}
// *************************************************************************
// Increase one of the skills.
// *************************************************************************
public void IncreaseRandomSkill()
{
ChangeRandomSkill(1);
}
// *************************************************************************
// NthLowest Skill. Returns skill with the nth lowest score
// (i.e., 2 is the second worst skill). If there is a tie, it will return
// in the order of Pilot, Fighter, Trader, Engineer.
// JAF - rewrote this to be more efficient.
// *************************************************************************
public int NthLowestSkill(int n)
{
int[] skillIds = new int[] { 0, 1, 2, 3 };
for (int j = 0; j < 3; j++)
{
for (int i = 0; i < 3 - j; i++)
{
if (Skills[skillIds[i]] > Skills[skillIds[i + 1]])
{
int temp = skillIds[i];
skillIds[i] = skillIds[i + 1];
skillIds[i + 1] = temp;
}
}
}
return skillIds[n - 1];
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_id", (int)_id);
hash.Add("_skills", _skills);
hash.Add("_curSystemId", (int)_curSystemId);
return hash;
}
// *************************************************************************
// Randomly tweak the skills.
// *************************************************************************
public void TonicTweakRandomSkill()
{
int[] oldSkills = (int[])Skills.Clone();
if (Game.CurrentGame.Difficulty < Difficulty.Hard)
{
// add one to a random skill, subtract one from a random skill
while (Skills[0] == oldSkills[0] && Skills[1] == oldSkills[1] &&
Skills[2] == oldSkills[2] && Skills[3] == oldSkills[3])
{
ChangeRandomSkill(1);
ChangeRandomSkill(-1);
}
}
else
{
// add one to two random skills, subtract three from one random skill
ChangeRandomSkill(1);
ChangeRandomSkill(1);
ChangeRandomSkill(-3);
}
}
public override string ToString()
{
return Name;
}
#endregion
#region Properties
public StarSystem CurrentSystem
{
get
{
return _curSystemId == StarSystemId.NA ? null : Game.CurrentGame.Universe[(int)_curSystemId];
}
set
{
_curSystemId = value.Id;
}
}
public StarSystemId CurrentSystemId
{
get
{
return _curSystemId;
}
set
{
_curSystemId = value;
}
}
public int Engineer
{
get
{
return _skills[(int)SkillType.Engineer];
}
set
{
_skills[(int)SkillType.Engineer] = value;
}
}
public int Fighter
{
get
{
return _skills[(int)SkillType.Fighter];
}
set
{
_skills[(int)SkillType.Fighter] = value;
}
}
public CrewMemberId Id
{
get
{
return _id;
}
}
public string Name
{
get
{
return Strings.CrewMemberNames[(int)_id];
}
}
public int Pilot
{
get
{
return _skills[(int)SkillType.Pilot];
}
set
{
_skills[(int)SkillType.Pilot] = value;
}
}
public int Rate
{
get
{
return Consts.SpecialCrewMemberIds.Contains(Id) || Id == CrewMemberId.Zeethibal ? 0 :
(Pilot + Fighter + Trader + Engineer) * 3;
}
}
public int[] Skills
{
get
{
return _skills;
}
}
public int Trader
{
get
{
return _skills[(int)SkillType.Trader];
}
set
{
_skills[(int)SkillType.Trader] = value;
}
}
#endregion
}
}
+881
View File
@@ -0,0 +1,881 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
namespace Fryz.Apps.SpaceTrader
{
#region AlertType
public enum AlertType: int
{
Alert,
AntidoteOnBoard,
AntidoteDestroyed,
AntidoteTaken,
AppStart,
ArrivalBuyNewspaper,
ArrivalIFFuel,
ArrivalIFFuelRepairs,
ArrivalIFNewspaper,
ArrivalIFRepairs,
ArtifactLost,
ArtifactRelinquished,
CargoIF,
CargoNoEmptyBays,
CargoNoneAvailable,
CargoNoneToSell,
CargoNotInterested,
CargoNotSold,
ChartJump,
ChartJumpCurrent,
ChartJumpNoSystemSelected,
ChartTrackSystem,
ChartWormholeUnreachable,
Cheater,
CrewFireMercenary,
CrewNoQuarters,
DebtNoBuy,
DebtNone,
DebtReminder,
DebtTooLargeGrounded,
DebtTooLargeLoan,
DebtTooLargeTrade,
DebtWarning,
Egg,
EncounterAliensSurrender,
EncounterArrested,
EncounterAttackCaptain,
EncounterAttackNoDisruptors,
EncounterAttackNoLasers,
EncounterAttackNoWeapons,
EncounterAttackPolice,
EncounterAttackTrader,
EncounterBothDestroyed,
EncounterDisabledOpponent,
EncounterDrinkContents,
EncounterDumpAll,
EncounterDumpWarning,
EncounterEscaped,
EncounterEscapedHit,
EncounterEscapePodActivated,
EncounterLooting,
EncounterMarieCeleste,
EncounterMarieCelesteNoBribe,
EncounterOpponentEscaped,
EncounterPiratesBounty,
EncounterPiratesExamineReactor,
EncounterPiratesFindNoCargo,
EncounterPiratesSurrenderPrincess,
EncounterPiratesTakeSculpture,
EncounterPoliceBribe,
EncounterPoliceBribeCant,
EncounterPoliceBribeLowCash,
EncounterPoliceFine,
EncounterPoliceNothingFound,
EncounterPoliceNothingIllegal,
EncounterPoliceSubmit,
EncounterPoliceSurrender,
EncounterPostMarie,
EncounterPostMarieFlee,
EncounterScoop,
EncounterScoopNoRoom,
EncounterScoopNoScoop,
EncounterSurrenderRefused,
EncounterTonicConsumedGood,
EncounterTonicConsumedStrange,
EncounterTradeCompleted,
EncounterYouLose,
EncounterYouWin,
EquipmentAlreadyOwn,
EquipmentBuy,
EquipmentEscapePod,
EquipmentExtraBaysInUse,
EquipmentFuelCompactor,
EquipmentHiddenCompartments,
EquipmentIF,
EquipmentLightningShield,
EquipmentMorgansLaser,
EquipmentNotEnoughSlots,
EquipmentQuantumDisruptor,
EquipmentSell,
FileErrorOpen,
FileErrorSave,
FleaBuilt,
GameAbandonConfirm,
GameClearHighScores,
GameEndBoughtMoon,
GameEndBoughtMoonGirl,
GameEndHighScoreAchieved,
GameEndHighScoreCheat,
GameEndHighScoreMissed,
GameEndKilled,
GameEndRetired,
GameEndScore,
GameRetire,
InsuranceNoEscapePod,
InsurancePayoff,
InsuranceStop,
JailConvicted,
JailFleaReceived,
JailHiddenCargoBaysRemoved,
JailIllegalGoodsImpounded,
JailInsuranceLost,
JailMercenariesLeave,
JailShipSold,
JarekTakenHome,
LeavingIFInsurance,
LeavingIFMercenaries,
LeavingIFWormholeTax,
MeetCaptainAhab,
MeetCaptainConrad,
MeetCaptainHuie,
NewGameConfirm,
NewGameMoreSkillPoints,
OptionsNoGame,
PreciousHidden,
PrincessTakenHome,
ReactorConfiscated,
ReactorDestroyed,
ReactorOnBoard,
ReactorMeltdown,
ReactorWarningFuel,
ReactorWarningFuelGone,
ReactorWarningTemp,
RegistryError,
SculptureConfiscated,
SculptureSaved,
ShipBuyConfirm,
ShipBuyCrewQuarters,
ShipBuyIF,
ShipBuyIFTransfer,
ShipBuyNoSlots,
ShipBuyNotAvailable,
ShipBuyNoTransfer,
ShipBuyPassengerQuarters,
ShipBuyReactor,
ShipBuyTransfer,
ShipDesignIF,
ShipDesignThanks,
ShipHullUpgraded,
SpecialCleanRecord,
SpecialExperimentPerformed,
SpecialIF,
SpecialMoonBought,
SpecialNoQuarters,
SpecialNotEnoughBays,
SpecialPassengerConcernedJarek,
SpecialPassengerConcernedPrincess,
SpecialPassengerConcernedWild,
SpecialPassengerImpatientJarek,
SpecialPassengerImpatientPrincess,
SpecialPassengerImpatientWild,
SpecialPassengerOnBoard,
SpecialSealedCanisters,
SpecialSkillIncrease,
SpecialTimespaceFabricRip,
SpecialTrainingCompleted,
TravelArrival,
TravelUneventfulTrip,
TribblesAllDied,
TribblesAteFood,
TribblesGone,
TribblesHalfDied,
TribblesKilled,
TribblesMostDied,
TribblesOwn,
TribblesRemoved,
TribblesInspector,
TribblesSqueek,
TribblesTradeIn,
WildArrested,
WildChatsPirates,
WildGoesPirates,
WildLeavesShip,
WildSculpture,
WildWontBoardLaser,
WildWontBoardReactor,
WildWontStayAboardLaser,
WildWontStayAboardReactor
};
#endregion
#region Activity
public enum Activity: int
{
Absent = 0,
Minimal = 1,
Few = 2,
Some = 3,
Moderate = 4,
Many = 5,
Abundant = 6,
Swarms = 7,
NA = 100
};
#endregion
#region CargoBuyOp
public enum CargoBuyOp: int
{
BuySystem,
BuyTrader,
Plunder
};
#endregion
#region CargoSellOp
public enum CargoSellOp: int
{
SellSystem,
SellTrader,
Dump,
Jettison
};
#endregion
#region CrewMemberId
public enum CrewMemberId: int
{
NA = -1,
Commander = 0,
Alyssa = 1,
Armatur = 2,
Bentos = 3,
C2U2 = 4,
ChiTi = 5,
Crystal = 6,
Dane = 7,
Deirdre = 8,
Doc = 9,
Draco = 10,
Iranda = 11,
Jeremiah = 12,
Jujubal = 13,
Krydon = 14,
Luis = 15,
Mercedez = 16,
Milete = 17,
MuriL = 18,
Mystyc = 19,
Nandi = 20,
Orestes = 21,
Pancho = 22,
PS37 = 23,
Quarck = 24,
Sosumi = 25,
Uma = 26,
Wesley = 27,
Wonton = 28,
Yorvick = 29,
Zeethibal = 30,
Opponent = 31,
Wild = 32,
Jarek = 33,
FamousCaptain = 34,
Dragonfly = 35,
Scarab = 36,
SpaceMonster = 37,
Aragorn = 38,
Brady = 39,
EightOfNine = 40,
Fangorn = 41,
Gagarin = 42,
Hoshi = 43,
Jackson = 44,
Kaylee = 45,
Marcus = 46,
ONeill = 47,
Ripley = 48,
Stilgar = 49,
Taggart = 50,
Vansen = 51,
Xizor = 52,
Princess = 53,
Scorpion = 54
};
#endregion
#region Difficulty
public enum Difficulty: int
{
Beginner = 0,
Easy = 1,
Normal = 2,
Hard = 3,
Impossible = 4
};
#endregion
#region EncounterResult
public enum EncounterResult: int
{
Continue,
Normal,
Killed,
EscapePod,
Arrested
};
#endregion
#region EncounterType
public enum EncounterType: int
{
BottleGood = 0,
BottleOld = 1,
CaptainAhab = 2,
CaptainConrad = 3,
CaptainHuie = 4,
DragonflyAttack = 5,
DragonflyIgnore = 6,
FamousCaptainAttack = 7,
FamousCaptDisabled = 8,
MarieCeleste = 9,
MarieCelestePolice = 10,
PirateAttack = 11,
PirateIgnore = 12,
PirateFlee = 13,
PirateSurrender = 14,
PirateDisabled = 15,
PoliceAttack = 16,
PoliceIgnore = 17,
PoliceFlee = 18,
PoliceSurrender = 19,
PoliceDisabled = 20,
PoliceInspect = 21,
ScarabAttack = 22,
ScarabIgnore = 23,
ScorpionAttack = 24,
ScorpionIgnore = 25,
SpaceMonsterAttack = 26,
SpaceMonsterIgnore = 27,
TraderAttack = 28,
TraderIgnore = 29,
TraderFlee = 30,
TraderSurrender = 31,
TraderDisabled = 32,
TraderBuy = 33,
TraderSell = 34
};
#endregion
#region EquipmentType
public enum EquipmentType: int
{
Weapon = 0,
Shield = 1,
Gadget = 2
};
#endregion
#region GadgetType
public enum GadgetType: int
{
ExtraCargoBays = 0,
AutoRepairSystem = 1,
NavigatingSystem = 2,
TargetingSystem = 3,
CloakingDevice = 4,
FuelCompactor = 5,
HiddenCargoBays = 6
};
#endregion
#region GameEndType
public enum GameEndType: int
{
NA = -1,
Killed = 0,
Retired = 1,
BoughtMoon = 2,
BoughtMoonGirl = 3
};
#endregion
#region NewsEvent
public enum NewsEvent: int
{
ArtifactDelivery = 0,
CaughtLittering = 1,
Dragonfly = 2,
DragonflyBaratas = 3,
DragonflyDestroyed = 4,
DragonflyMelina = 5,
DragonflyRegulas = 6,
DragonflyZalkon = 7,
ExperimentFailed = 8,
ExperimentPerformed = 9,
ExperimentStopped = 10,
ExperimentArrival = 11,
Gemulon = 12,
GemulonInvaded = 13,
GemulonRescued = 14,
CaptAhabAttacked = 15,
CaptAhabDestroyed = 16,
CaptConradAttacked = 17,
CaptConradDestroyed = 18,
CaptHuieAttacked = 19,
CaptHuieDestroyed = 20,
Japori = 21,
JaporiDelivery = 22,
JarekGetsOut = 23,
Scarab = 24,
ScarabDestroyed = 25,
ScarabHarass = 26,
SpaceMonster = 27,
SpaceMonsterKilled = 28,
WildArrested = 29,
WildGetsOut = 30,
SculptureStolen = 31,
SculptureTracked = 32,
Princess = 33,
PrincessCentauri = 34,
PrincessInthara = 35,
PrincessQonos = 36,
PrincessRescued = 37,
PrincessReturned = 38
};
#endregion
#region OpponentType
public enum OpponentType: int
{
Bottle,
FamousCaptain,
Mantis,
Pirate,
Police,
Trader
};
#endregion
#region PoliceRecordType
public enum PoliceRecordType: int
{
Psychopath = 0,
Villain = 1,
Criminal = 2,
Crook = 3,
Dubious = 4,
Clean = 5,
Lawful = 6,
Trusted = 7,
Liked = 8,
Hero = 9
};
#endregion
#region PoliticalSystemType
public enum PoliticalSystemType: int
{
Anarchy = 0,
Capitalist = 1,
Communist = 2,
Confederacy = 3,
Corporate = 4,
Cybernetic = 5,
Democracy = 6,
Dictatorship = 7,
Fascist = 8,
Feudal = 9,
Military = 10,
Monarchy = 11,
Pacifist = 12,
Socialist = 13,
Satori = 14,
Technocracy = 15,
Theocracy = 16
};
#endregion
#region ReputationType
public enum ReputationType: int
{
Harmless = 0,
MostlyHarmless = 1,
Poor = 2,
Average = 3,
AboveAverage = 4,
Competent = 5,
Dangerous = 6,
Deadly = 7,
Elite = 8
};
#endregion
#region ShieldType
public enum ShieldType: int
{
Energy = 0,
Reflective = 1,
Lightning = 2
};
#endregion
#region ShipType
public enum ShipType: int
{
Flea = 0,
Gnat = 1,
Firefly = 2,
Mosquito = 3,
Bumblebee = 4,
Beetle = 5,
Hornet = 6,
Grasshopper = 7,
Termite = 8,
Wasp = 9,
SpaceMonster = 10,
Dragonfly = 11,
Mantis = 12,
Scarab = 13,
Bottle = 14,
Custom = 15,
Scorpion = 16
};
#endregion
#region ShipyardId
public enum ShipyardId: int
{
NA = -1,
Corellian = 0,
Incom = 1,
Kuat = 2,
Sienar = 3,
Sorosuub = 4
};
#endregion
#region ShipyardSkill
public enum ShipyardSkill: int
{
CrewQuarters = 0, // Crew Quarters take up 2 fewer units
FuelBase = 1, // Fuel Base is 2 greater
HullPerUnit = 2, // Number of Hull Points per unit is 5 greater
ShieldSlotUnits = 3, // Shield Slots take up 2 fewer units
WeaponSlotUnits = 4 // Weapon Slots take up 2 fewer units
};
#endregion
#region Size
public enum Size: int
{
Tiny = 0,
Small = 1,
Medium = 2,
Large = 3,
Huge = 4,
Gargantuan = 5
};
#endregion
#region SkillType
public enum SkillType: int
{
NA = -1,
Pilot = 0,
Fighter = 1,
Trader = 2,
Engineer = 3
};
#endregion
#region SpecialEventType
public enum SpecialEventType: int
{
NA = -1,
Artifact = 0,
ArtifactDelivery = 1,
CargoForSale = 2,
Dragonfly = 3,
DragonflyBaratas = 4,
DragonflyDestroyed = 5,
DragonflyMelina = 6,
DragonflyRegulas = 7,
DragonflyShield = 8,
EraseRecord = 9,
Experiment = 10,
ExperimentFailed = 11,
ExperimentStopped = 12,
Gemulon = 13,
GemulonFuel = 14,
GemulonInvaded = 15,
GemulonRescued = 16,
Japori = 17,
JaporiDelivery = 18,
Jarek = 19,
JarekGetsOut = 20,
Lottery = 21,
Moon = 22,
MoonRetirement = 23,
Reactor = 24,
ReactorDelivered = 25,
ReactorLaser = 26,
Scarab = 27,
ScarabDestroyed = 28,
ScarabUpgradeHull = 29,
Skill = 30,
SpaceMonster = 31,
SpaceMonsterKilled = 32,
Tribble = 33,
TribbleBuyer = 34,
Wild = 35,
WildGetsOut = 36,
Sculpture = 37,
SculptureDelivered = 38,
SculptureHiddenBays = 39,
Princess = 40,
PrincessCentauri = 41,
PrincessInthara = 42,
PrincessQonos = 43,
PrincessQuantum = 44,
PrincessReturned = 45
};
#endregion
#region SpecialResource
public enum SpecialResource: int
{
NA = -1,
Nothing = 0,
MineralRich = 1,
MineralPoor = 2,
Desert = 3,
SweetOceans = 4,
RichSoil = 5,
PoorSoil = 6,
RichFauna = 7,
Lifeless = 8,
WeirdMushrooms = 9,
SpecialHerbs = 10,
Artistic = 11,
Warlike = 12
};
#endregion
#region StarSystemId
public enum StarSystemId: int
{
NA = -1,
Acamar = 0,
Adahn = 1,
Aldea = 2,
Andevian = 3,
Antedi = 4,
Balosnee = 5,
Baratas = 6,
Brax = 7,
Bretel = 8,
Calondia = 9,
Campor = 10,
Capelle = 11,
Carzon = 12,
Castor = 13,
Cestus = 14,
Cheron = 15,
Courteney = 16,
Daled = 17,
Damast = 18,
Davlos = 19,
Deneb = 20,
Deneva = 21,
Devidia = 22,
Draylon = 23,
Drema = 24,
Endor = 25,
Esmee = 26,
Exo = 27,
Ferris = 28,
Festen = 29,
Fourmi = 30,
Frolix = 31,
Gemulon = 32,
Guinifer = 33,
Hades = 34,
Hamlet = 35,
Helena = 36,
Hulst = 37,
Iodine = 38,
Iralius = 39,
Janus = 40,
Japori = 41,
Jarada = 42,
Jason = 43,
Kaylon = 44,
Khefka = 45,
Kira = 46,
Klaatu = 47,
Klaestron = 48,
Korma = 49,
Kravat = 50,
Krios = 51,
Laertes = 52,
Largo = 53,
Lave = 54,
Ligon = 55,
Lowry = 56,
Magrat = 57,
Malcoria = 58,
Melina = 59,
Mentar = 60,
Merik = 61,
Mintaka = 62,
Montor = 63,
Mordan = 64,
Myrthe = 65,
Nelvana = 66,
Nix = 67,
Nyle = 68,
Odet = 69,
Og = 70,
Omega = 71,
Omphalos = 72,
Orias = 73,
Othello = 74,
Parade = 75,
Penthara = 76,
Picard = 77,
Pollux = 78,
Quator = 79,
Rakhar = 80,
Ran = 81,
Regulas = 82,
Relva = 83,
Rhymus = 84,
Rochani = 85,
Rubicum = 86,
Rutia = 87,
Sarpeidon = 88,
Sefalla = 89,
Seltrice = 90,
Sigma = 91,
Sol = 92,
Somari = 93,
Stakoron = 94,
Styris = 95,
Talani = 96,
Tamus = 97,
Tantalos = 98,
Tanuga = 99,
Tarchannen = 100,
Terosa = 101,
Thera = 102,
Titan = 103,
Torin = 104,
Triacus = 105,
Turkana = 106,
Tyrus = 107,
Umberlee = 108,
Utopia = 109,
Vadera = 110,
Vagra = 111,
Vandor = 112,
Ventax = 113,
Xenon = 114,
Xerxes = 115,
Yew = 116,
Yojimbo = 117,
Zalkon = 118,
Zuul = 119,
Centauri = 120,
Galvon = 121,
Inthara = 122,
Meridian = 123,
Qonos = 124,
Rae = 125,
Weytahn = 126,
Zonama = 127
};
#endregion
#region SystemPressure
public enum SystemPressure: int
{
None = 0,
War = 1,
Plague = 2,
Drought = 3,
Boredom = 4,
Cold = 5,
CropFailure = 6,
Employment = 7
};
#endregion
#region TechLevel
public enum TechLevel: int
{
PreAgricultural = 0,
Agricultural = 1,
Medieval = 2,
Renaissance = 3,
EarlyIndustrial = 4,
Industrial = 5,
PostIndustrial = 6,
HiTech = 7,
Unavailable = 8
};
#endregion
#region TradeItemType
public enum TradeItemType: int
{
NA = -1,
Water = 0,
Furs = 1,
Food = 2,
Ore = 3,
Games = 4,
Firearms = 5,
Medicine = 6,
Machines = 7,
Narcotics = 8,
Robots = 9
};
#endregion
#region VeryRareEncounter
public enum VeryRareEncounter: int
{
MarieCeleste = 0,
CaptainAhab = 1,
CaptainConrad = 2,
CaptainHuie = 3,
BottleOld = 4,
BottleGood = 5
};
#endregion
#region WeaponType
public enum WeaponType: int
{
PulseLaser = 0,
BeamLaser = 1,
MilitaryLaser = 2,
MorgansLaser = 3,
PhotonDisruptor = 4,
QuantumDistruptor = 5
};
#endregion
}
+190
View File
@@ -0,0 +1,190 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
using System.Drawing;
namespace Fryz.Apps.SpaceTrader
{
public abstract class Equipment : STSerializableObject
{
#region Member Declarations
protected EquipmentType _equipType;
protected int _price;
protected TechLevel _minTech;
protected int _chance;
#endregion
#region Methods
public Equipment(EquipmentType type, int price, TechLevel minTechLevel, int chance)
{
_equipType = type;
_price = price;
_minTech = minTechLevel;
_chance = chance;
}
public Equipment(Hashtable hash): base(hash)
{
_equipType = (EquipmentType)GetValueFromHash(hash, "_equipType");
_price = (int)GetValueFromHash(hash, "_price");
_minTech = (TechLevel)GetValueFromHash(hash, "_minTech");
_chance = (int)GetValueFromHash(hash, "_chance");
}
public abstract Equipment Clone();
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_equipType", (int)_equipType);
hash.Add("_price", _price);
hash.Add("_minTech", (int)_minTech);
hash.Add("_chance", _chance);
return hash;
}
public override string ToString()
{
return Name;
}
public abstract bool TypeEquals(object type);
#endregion
#region Properties
protected int BaseImageIndex
{
get
{
int baseImageIndex = 0;
switch (EquipmentType)
{
case EquipmentType.Gadget:
baseImageIndex = Strings.WeaponNames.Length + Strings.ShieldNames.Length;
break;
case EquipmentType.Shield:
baseImageIndex = Strings.WeaponNames.Length;
break;
case EquipmentType.Weapon:
// baseImageIndex should be 0
break;
}
return baseImageIndex;
}
}
public int Chance
{
get
{
return _chance;
}
}
public EquipmentType EquipmentType
{
get
{
return _equipType;
}
}
public System.Drawing.Image Image
{
get
{
return Game.CurrentGame.ParentWindow.EquipmentImages.Images[BaseImageIndex + (int)SubType];
}
}
public TechLevel MinimumTechLevel
{
get
{
return _minTech;
}
}
public virtual string Name
{
get
{
return "";
}
}
public int Price
{
get
{
Commander cmdr = Game.CurrentGame.Commander;
int price = 0;
if (cmdr != null && cmdr.CurrentSystem.TechLevel >= MinimumTechLevel)
price = (_price * (100 - cmdr.Ship.Trader)) / 100;
return price;
}
}
public int SellPrice
{
get
{
return _price * 3 / 4;
}
}
public virtual object SubType
{
get
{
return 0;
}
}
public int TransferPrice
{
get
{
// The cost to transfer is 10% of the item worth. This is changed
// from actually PAYING the buyer about 8% to transfer items. - JAF
return SellPrice * 110 / 90;
}
}
#endregion
}
}
+139
View File
@@ -0,0 +1,139 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormAbout : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Label lblTitle;
private System.Windows.Forms.Label lblAbout;
private System.Windows.Forms.PictureBox picLogo;
private System.ComponentModel.Container components = null;
#endregion
#region Methods
public FormAbout()
{
InitializeComponent();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout));
this.btnClose = new System.Windows.Forms.Button();
this.lblTitle = new System.Windows.Forms.Label();
this.lblAbout = new System.Windows.Forms.Label();
this.picLogo = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.picLogo)).BeginInit();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// lblTitle
//
this.lblTitle.AutoSize = true;
this.lblTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblTitle.Location = new System.Drawing.Point(172, 8);
this.lblTitle.Name = "lblTitle";
this.lblTitle.Size = new System.Drawing.Size(187, 13);
this.lblTitle.TabIndex = 33;
this.lblTitle.Text = "Space Trader for Windows 2.01";
//
// lblAbout
//
this.lblAbout.Location = new System.Drawing.Point(172, 32);
this.lblAbout.Name = "lblAbout";
this.lblAbout.Size = new System.Drawing.Size(272, 160);
this.lblAbout.TabIndex = 34;
this.lblAbout.Text = resources.GetString("lblAbout.Text");
//
// picLogo
//
this.picLogo.Image = ((System.Drawing.Image)(resources.GetObject("picLogo.Image")));
this.picLogo.Location = new System.Drawing.Point(8, 8);
this.picLogo.Name = "picLogo";
this.picLogo.Size = new System.Drawing.Size(160, 160);
this.picLogo.TabIndex = 35;
this.picLogo.TabStop = false;
//
// FormAbout
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(446, 191);
this.Controls.Add(this.picLogo);
this.Controls.Add(this.lblAbout);
this.Controls.Add(this.lblTitle);
this.Controls.Add(this.btnClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormAbout";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "About Space Trader";
((System.ComponentModel.ISupportInitialize)(this.picLogo)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
#endregion
}
}
+583
View File
@@ -0,0 +1,583 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblAbout.Text" xml:space="preserve">
<value>Copyright © 2005 by Jay French
spacetrader@frenchfryz.com
Palm version copyright © 2000-2002 by Peter Spronk
space_trader@hotmail.com
Pictures copyright © 2000 by Alexander Lawrence
This game is freeware under a GNU General Public License.
http://spacetraderwin.sourceforge.net/</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="picLogo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
Qk02aAAAAAAAADYEAAAoAAAAoAAAAKAAAAABAAgAAAAAAAAAAAATCwAAEwsAAAABAAAAAQAA///////M
////mf///2b///8z////AP//zP///8zM///Mmf//zGb//8wz///MAP//mf///5nM//+Zmf//mWb//5kz
//+ZAP/////M///MzP//mcz//2bM//8zzP//AMz/zP/M/8zMzP/Mmcz/zGbM/8wzzP/MAMz/mf/M/5nM
zP+Zmcz/mWbM/5kzzP+ZAMz///+Z///Mmf//mZn//2aZ//8zmf//AJn/zP+Z/8zMmf/MmZn/zGaZ/8wz
mf/MAJn/mf+Z/5nMmf+ZmZn/mWaZ/5kzmf+ZAJn///9m///MZv//mWb//2Zm//8zZv//AGb/zP9m/8zM
Zv/MmWb/zGZm/8wzZv/MAGb/mf9m/5nMZv+ZmWb/mWZm/5kzZv+ZAGb///8z///MM///mTP//2Yz//8z
M///ADP/zP8z/8zMM//MmTP/zGYz/8wzM//MADP/mf8z/5nMM/+ZmTP/mWYz/5kzM/+ZADP///8A///M
AP//mQD//2YA//8zAP//AAD/zP8A/8zMAP/MmQD/zGYA/8wzAP/MAAD/mf8A/5nMAP+ZmQD/mWYA/5kz
AP+ZAAD/Zv///2bM//9mmf//Zmb//2Yz//9mAP//M////zPM//8zmf//M2b//zMz//8zAP//AP///wDM
//8Amf//AGb//wAz//8AAP//Zv/M/2bMzP9mmcz/ZmbM/2YzzP9mAMz/M//M/zPMzP8zmcz/M2bM/zMz
zP8zAMz/AP/M/wDMzP8Amcz/AGbM/wAzzP8AAMz/Zv+Z/2bMmf9mmZn/ZmaZ/2Yzmf9mAJn/M/+Z/zPM
mf8zmZn/M2aZ/zMzmf8zAJn/AP+Z/wDMmf8AmZn/AGaZ/wAzmf8AAJn/Zv9m/2bMZv9mmWb/ZmZm/2Yz
Zv9mAGb/M/9m/zPMZv8zmWb/M2Zm/zMzZv8zAGb/AP9m/wDMZv8AmWb/AGZm/wAzZv8AAGb/Zv8z/2bM
M/9mmTP/ZmYz/2YzM/9mADP/M/8z/zPMM/8zmTP/M2Yz/zMzM/8zADP/AP8z/wDMM/8AmTP/AGYz/wAz
M/8AADP/Zv8A/2bMAP9mmQD/ZmYA/2YzAP9mAAD/M/8A/zPMAP8zmQD/M2YA/zMzAP8zAAD/AP8A/wDM
AP8AmQD/AGYA/wAzAP8RERH/IiIi/0RERP9VVVX/d3d3/4iIiP+qqqr/u7u7/93d3f/u7u7/wMDA/wAA
gP+AAID/AIAA/4CAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/764
vr++uNi+uL7Yvti+uNi4vri+0L64vri+uNi+vtC+vr6+uL7YuNi+vrjY0L7Kvr6+uNi+vr7QuL6+vri+
yr6+vr7Q2bi+vrjY2L6+2L6+vti42Li+uNi+v7jYvr++vr7YuL7YvrjY2L7Qvr642Nm+vr65vr64vr6+
vr6+vti+vri+vri+vrm+vti+vr6+2Ni+uNi+2LjYvrm+2LjYvr6+vti+0LjYuL6+uL64vr64vr642bi+
vri+uL6+uL6+uL6+uL6+uNi+yr6+vri+vri+uL64vri+uL64vtDZvr6+0Li+vri+vr6+vri+vri+vti4
2L7Yvti+2L7YvtC+vtG4vr6/uNjYvr65vr7Qvr/Qvri+vr6+vri+vri+vr64vr7Yvr++vti+vr++yr6+
v7642L7Yvr6/vr6+2L6+vtjY2Ni/vr6+2L6+2LjYvrjYuL64vr6+2dq4paW+uL64uL64vri+uL64uNm4
t7i3uLfZuNm32bjZuL642bjZuL64vrjZvrjQvr7Kvtm+vtC+vr64vr64vr642Li+uNi5vti+vti+vti+
uNjYvr6+ub6+uL6+vr64vri+uL6+vri+vtm+uL6+uL6+uNi+vr7YuL6+2L7YuL6+vtG+vr/Y2L++vti+
ytjYvr7RuL7YuNi+vr++2L7L2rjYvr642b6+uL642bjZuL64uL64uLjZuNm4uLe4uLi3uLjZuLjZuNm4
2bi4vri+uL64vri+uL64vri+vr6+0L64vr6+2L6+vr7YuNi42Ljavr7YuNi42L6+vr6/vrjYvr6/vr6+
vrjYvri+uL6+vr6/vr7Qvr++vtG+vr642L6+v77YvtC+uL7ZvtjY2Ni+uL64vri4vri+uL64uL64vri+
uLi+uL64vri4vri+uL64uL64vri+uLi42remt7i3prfauLe4t7jauLe42bi4uLjZuL6+vri+vri+vri+
uL642L642LjYuL7YuL7Yvr6+pbi+vr6+vr6+vri+vr7Yvri+vrjYuNi+uL6/vr6+uL64vr6+v77Qvti+
vr7RvtjRvtC+2L6/vtjRvtG+2L6+vrjYuL642L642Li+uNi+uNi4vrjYvrjYuL642L642Li+uNi+uNi4
vrjY0L+40L64vsq4uNm4vri4uNm4t7jauLemt7jauLfa2bja2bi+vr6+vr642L6+vr6+uL6+vrjYuL6+
vrjYuNi+uL6+v9C+uL6+vr6+vr64vr6+vr64vr6+vr6+vti+v7642L++vr7Yvr6/vr6+2L7Yvti+2L64
2L7Rvr7Yvti+0b6+2L7YvtG+vti+2L7Rvr7Yvti+0b6+2L7YvtG+vti+2L64vr642L6+vr7YuNi+vti4
2L6+uNi+vri+uLi+0LjZ2bi42bjZuNm4vr6+vrjYuL6+vri+vri+vri+vr64vr7Qvr642Ni+uL6+vri+
vr6+vri+vr64vr64vti42L6+2L6+0L6/vr7Yvr65vtC+v76+v9C+vti+vrjYuNi4vr642LjYuL6+uNi4
2Li+vrjYuNi4vr642LjYuL6+uNi42LjYvti+2L6+vrjYvti+vri+vrm+vr6+vrjYuNi+vri+uL64vr64
uL64vrjZuNm+uL6+uL6+vr6+vri+vr64vri+vri+vr64vr6+uL6+uL64vrjYvri+vr6+v764vr6+2LjY
vr++0L642L7Yvr6/vtC42Ni+2bjYvti+vr6+vr7Yvr6+vr6+2L6+vr6+vti+vr6+vr7Yvr6+vr6+2L6+
vr6+vri+uL7YuNi+2LjYuNi+2L6+vrjYvrjYvr6+vrjYvr64vr642L6+uL64vri+uL6+uNm+uL64uL64
vrjYuNjQv77Qv7i+vrjYuL6+uNi+vr6+vri+vrjYvri+vr6+uL6+vr6+vr++vr65vtjYvti+vti+2L7Y
v7642LjYuNi+uNi42NnZ2b7YuNi42L642LjYuNi+uNi42LjYvrjYuNi42LjYvr642dq+vrjYvti+vrjY
vr6+vr6+vrjYuL6+uNi4vr6+vri+uNi+vr6+vr6+uL++uL64vr6+vr6+uNi4uNi4vr6+vr/Qvr7Yvti+
2LjYvrjYvr6+yr7Yvr6/vr6+vr642L6+uNi+vr6+uNi+2L6+v77YvtC+2L6+vr6+vti+vr7b3EW+vr6+
vr6+2L6+vr6+vti+vr6+vr7Yvr6+vr7Yvr642L7Yvti+vr6+uL6+0LjYuNi42L6+vr6+vr6+vrjYuL6+
vr6+uL64vr64vr6+vr6+vr6+vrm+uNi4uNq4vr7QuL6+uL6+uL642LjYvr7YvtG+vr++vri+vri+v7i+
vrjYvr6+uNi+uNi+ub6+0L6+2L/Yvti42LjYvr7YuNi4vtrZ2bjYuNi+vti42LjYvr7YuNi42L6+2LjY
uNi+uNi+2L6+uNi42L642L6+v76+vti+vr64vr6+vr6+vr6+vr6+vr64vr6+vrjZvri+uL64vtm4vr7Z
vti+uLi4pbi4vr7Yvti+vr6+2L6+vrjYuNi+uNi+vr6+vr6lvr6+vr6+vri+vti+vr6+vr6+ub6+uL7Q
vr642L7Yvti+uNi+2Nna2bjZvti+2L642L7Yvti+uNi+2L7YvrjYvti+2L7YuNi+vr6+vr64vr7Kvr6+
vr+42LjY2L6+uNi+uL6+vr642Li+vr6+vri+uNi+vr6+v76+vtm4vr64vr64pbemuLi+uL65vtC5vr64
2LjY2L6+vtjYuNi4vr64vr6+vrjYuL642L6+vrjYvtjYvtjYvr7YvrnQv77QuL6+0b7Yvril2dvcRb6+
2L7a3dq+vr642bi+vr7Lvr6+vr6+y76+uNi4vri+vr6+2L6+vr6+yti+vr6+vri+uNi+uNnauL6+vri+
vr64vr6+vr6+uL6+uL6+uL64vrjYvr+4uKW4paW4uL6+vti+vtjYvti+vrjYv764vr6+uL6+vti4vr7Y
vr6+2L6+uL6+vr+4vr7Yvr++vr7Y2L7Yvr6+vti+uNi+29m+2tnZvtm43Nu4vr6+uL6+vtG+vti4vti4
2L6+vti+vti+vr64vr6+uL642L6+uL6+uL6+vr6+uNi4vr6+uL6+vr64vr6+uL64vr6+vr6+uL6+vr6+
vsq4uLilt323pre4uNi4vr6+uNi42L6+0L6+v76+2L7Yvti42L6+uNi+uNi+ptnYvr6+vr/QuNi+vr7Y
2NC/vri+uNjYvtHZvrjZ2drZuNm+vtrZvtnZvr7Yvr6+vti42L64vr6+vr6+uNi42LjYvr6+vti+vr6+
vtC+vr7QuL64vr6+vr64vr6+vr642L6+uL6+vr64vri+uL6+vri+vrm+uKa3Rtq3preluKW42Ni42Ni+
vr6+v7640L6+vri+uL642L6+2Ni+vr++vr6+uNi/vtC+vti+vr7YvrjYvtC+2L642Ni+v7jZvtm+29xF
vtm3vr64vr6+vri+vr6+vr6+vr7YuL64vti+vr6+vrjauL6+vri+uL6+vri+vr6+vr6+vri+vr64vtnZ
vr64vti+vr6+vr7Zvr6+vri+vtC42aWlRaW4paa3faW4pbi4vr64vrjYuL6+vr++0L6+v77Yvr6/uNi4
vti+vr6+vti+vr6/vr++0L7Zvri+vtG+2LjYvtm+2Ni+vr64vr7a2dnavri+2ri+vr6+uL7Yvr++uL6+
uL6+vr64vr6+uL6+vr64vr6+2b64vr6+vr64vri+uL6+2b64vr6+uL6+vr64vr64vrjZvtm+uL6+2Li4
2duT26Wmt6Xat6a3pbiluLi+vr/Yvti+vr6+vrm+vr6+uL6+vr6+vti+uL6+v77Kvr642L7Qvr+42di+
uNi+vr7QvrjYvr6+2Li+vr7Z2tm4pb6+vri+2ri+vrjYvsq+vr6+2L6+uL7Z2b64vr64vri+vr64vri+
vr6+uL6+vr6+vtrauL7Zvr64vr7ZuL6+2bi+vr6+vri+vr642Li42duTeJPbV6bat6alt6Z9pdq4uL6+
uL642Nm4vr6+2Li+vr7YvrjYvr++uL6+vti+2Ni+2L6+v77Yvr6+vr7RvtC/vrjavtG+0b6+vri+2dm+
vtm4vr6+0NrZvtm+vr6+vri+v7i+vtm+uL6+vr6+0L6+vri+2b6+vr64vr64vri+uL642b64vri+vtm4
vtm+vri+vr64vri+vri+v7i42tuTeHmTpUXaWNqluKW4paZXpre4uNi+vrjYvr6+vr6+vr6+uL6+vti+
2L6+vr7Yvti5vr7Yvr6+0L6+2L7Rvr6+vr6+uL6+vr642b6+uL63uNna3KW+vr642bjavti+vr7Qvr63
uNi+uL6+uL64vr6+uL6+uL6+uL64vr64vsq+vtG+uL6+uL6+2bi+vri+vrjZvtq4vr6+vrjYuL64ppOT
eHmT20XaRaVFuKW3pqW3pn2lprfYuNi+vrm+vr64vr6+uL7a2Li+uNi+vr7Yvtm+vtC/0Li/vr+4vti+
2L6/uL6+uL6+vrjYvr64vr7Z2b6+t9vb2b6+vtm+vr64vr6+vr6+vr642L6+2b6+vr64vr6+uL6+uL6+
vr6+vr6+uLi+uNi+uL6+uL6+vri+vtm+2bil2b64vri+yr64pduSeHmTpUWlRaVFpUW3ptq3prelprem
uL7YuNi+vti42Ni42L642LjYvti+2L7Yvr+4vti+2L6+0L6+vr7YvtG+vti+vrjYvtjY2L7Rvti4vtnZ
2bjZuNm+vr64vri+vr64vri+vri+vr64vri+vri+vr64vr6+vr6+vri+vri+uLi4vtjYuNi+uL6+uL6+
vri+uL6+uL64vri+vri4pduTeHmT20WlRaVFt0WlRaVX2qa3premt7i+vr6+2L6+vr64vr7Yvr7Yvr64
2Li+vrjYuNi42LjYvr++2NG+vr6+v9C4vr6+vri+vrjYvr6+vrilRdravr6l2dm+vtm+2b64vr6+vri+
vri+vr6+uL6+vri+vr6+2bjZuL7Zvtm+0L64pbjY19jQub7QuL6+uL6+uL6+uL64vri+uLi4pZOSeHmT
20WlRaVFpUWlRaVFpUW3preluKW4uL642Li+uNi+vr7YuNi42LjYvr6+v77Qvr7Yvr/YvtC+vti42L7R
vr7Yv9C/vr6+0L6+2Li+vri+vtrZ2dnZ2rjZ2ri+vrjZ2b6+vr6+vri+vr64vr6+uL6+2b64vrja2b7Z
vri+uL64uKW4vtjYv9jYuNi4vr6+yr6+ub64vri4uLimpdyTeHnc26VFpUWlRaVFpUWlRaVFpUW3ptql
uLi+vti+v76+ub6+uNi+vr6+vrjYvr6+v76+2L7YuNi/0L++2NjYvr7YuNi+vri+2L++vr7YvqXb2bjZ
uNm3uL6+2dvauL6+pb6+uL64vr6+0Nm4pdq4vr6+vrjZvr7Zvri+uL7Zvr6+uLilRdm42b6+vri+uLi4
uL64uLi4uKa4paVFpduTeHmT26VFpUWlRaVFpUWlRaVFpUWlRaVX2rjauNi42L6+vr7Yvr6+vr7YuL6+
vrjYuNi+2Lm+2Ni+2L642L6+vti4vr7Y2ty4vti+uL64vtnauL7Qvr6+vtm+vrjb2tnZvri+2dm+vtm4
vr7Z0NnQ2dm+2bjZvrjZuL6+2b6+uL64vsraRaVF2qXbpaWmpdrauKa4uKW3Rdvbk9yT26bbeHmT20Wl
V6VFpUWlRaVFRaVFpUWlRaVFpUWlRrjYvr642LjYvrjYvr+4vr6+uNi+2L7YuNi+0LjYvrjY2NjYuL6+
v9C+vrjavr642Li+2b64vr6+vr640Nm42aXb2rfZuL7Zvri+vri+vr642b6+2b64vrjZvr632b6+2bi+
uNm+2dm+uLdF20WlkoHckpPck9vbRaWTk5OSknh4eJLb23nck6VFpUWlRaVFpUWlRaVFpUWlRaVFRaVF
pbe4vrjYvr6+v76+2Li+vr++vr6/vrjYvtC/vr6+v76+2Ni42NC+vti+v7i+vrjYvr6+vrjYvr7auL6+
vr6+2dq42dnZ2tm+vri+vtm+uL64vr64vr64vtm+vri+2b64vri+2b6+2bi+uNm4t0XcRdt4eHgggIDc
26XbeXh4eHh4eHh426Xb26VFpUWlRaVFpUWlRaVXpUWlRaVFpUWlRaVFuLjYuNi+vr642LjY2Nq42bi+
2L6/vr6+vr7Rvr7Rvr++2L++vr6/0L6+vti+vr642Ni+0b6+vr6+uNm42dm32aW42rjZvr7a2b6+uL6+
vr64vri+2dm4vrjZvrjZvtm32bjZ2bjZuNm+vri+RTJERduTeHh4eJNFpXl4eHh4eHh4eJNFpaVFpUWl
RaVFpUWlRaVFpUWlRaVFpUWlRaVFpbi+vtq+uL6+vr6+vri+vr6+uNm+vtjRvtjYvti+vtC+vtjY2L7R
vr6/uNi4vrjYvr6+2L6+uL64vtm+vr642be+2dnavrjZvri+uL6+vri+vr6+2bjZ0NnZvrjZvtm4vr7Z
uL7ZvtnZt7jZuLi43N0s3EWT3IDb29t5eHh4eHl5eXnbRdpFpUWlRaVFpUWlRaVFpUWlRaVFt0WlRaVF
pVjZuLjauL6+vr6+0L6+vri+2Li+v76+vr642L/Yvti/vtG+uNe+vr7Yvr7Y2Ni+vr7R2bjZvr6+vtm3
2bjZ2b64vtm42rel2dnZ2r7ZuL7Z2b64vrjZvtnZuNnauNm42b642dnZuL642b7Z2dm+vri4MiveLNvb
k0Wl3Hl5eXmSk9yT29tFpUWleKVFpUWlRaVFpUWlRaVFpUWlRaVFpUXauNC+vr6+vsq+vtm+uL7Qvr6+
0Li+vr++2L7QuL6+2L6+vti+vr7RuNjYuL6+uNi+vr6+vrjYvrjapdnZpbi+vtm+2b7bRdm+uNnZuL64
vtm42b7Zvri+t9m42dnat9m42bjauNnZ2bjZuNm42bjZvrjaMhkT3URFpaXbk9vb20XbRUVF20WlRaVF
pUWlRaVFpUWlRaVFpUWlRaVXpUWluLi+uNm42bjZvrjQ2b6+vri+vr6+2LjYvti/vr7Rvr7Qv77Yv76+
vti+vr+42L6+uNi+vrjYvri+vrjZ2dm+2tq4pbjZ2dm32dnZt9rZ2b642dm+uNnZuNm42bfauNnZt9na
t9m42bjZ2dm32bfauL64vri3Mt/fGSxF20VF3EVF3EVF3EVF20WlRaVFpUWlRaVFpUWlRaVFpUWlRaVF
pbi4vri+uNnQ2bi+uL64vri+vtC4vr7Qvr642L7Yvr++2L7YvtC+uL6+uNi+2L6+vr6+uNm+vri+vri+
vril2relt9na3LjZ2tq42drZuNm32tvauL7ZuNm42dq4uNq4uNq42rjauNq42rjauNmluNq32bjZvril
LODgGSxF3EXcLEUyMj4zRUXbpUWlRXhFpUWlRaVFpUWlRaVFpUWlRbe4uL642bjZuNm4vri+uL64vri+
uL64vr6+vti+v9C+uNi+uNi/2L6+2L7YuL6+uNzZvti+vr7Z2dnZvrjZvrjb2dml2zKluNml2rjauNnZ
uNnauNnZuNm32rjat9q4pbemt7jauLfa2ri32rjat9nauNnZuNm4vri33eDgGSzcLEXcLEUyMtw+RUWl
RaVFpUWlRaVFpUWlRaVFpUWlRaVGuL64vri+uL64vri+uL64vr642b64vr642L64vr6+vr++vti+vr6/
0LjYvrjYvr6mvti42L642re42tnZt9rZuNq32bfapdql2dm32trauNm42bem2reluKW32rilt6a3t9q3
pbfauLe42rilt7jauNq42tnZuNm+uLjbK+DfKzLcLNzcLEUs3EXcRUWlRaVFpUWlRaVFpUWlRaVFpUWl
t7i+uL64uL64vri+uL64vri+uL64vri+vri+vr6+uL6+uNi4vr6+vr6/vr7Qvr642L6+vrjYvri+vtm4
vtm42tm42trZt6XauNq42dq42bil2remt7ilt6W3pbelt6W3t6VXpbelt6W3pbelt6a32tq42rjauNnZ
uL6+uL5F3uDfLDJELdwyRNws3EXbRdtFpUV4RaVFpUWlRaVFpUWlRbi4vr6+vr6+uL642L6+2LjYuL6+
uL6+v76+vrjYuNi+vti42L6+2L6+vri+vrjQvr6+uL6+vri+vr642bjZ2qW42tq4pdnZpbfapdq42rfZ
2ri3prfat6W3pbdEpbdFt9vbt9u327dFpLelt9q3pbdF2rfauNq42tnZuNm+uNlFGd8ZLNw+MzIsRdws
RUVFpUWlRaVFpUWlRaVFpUWlRaW4vsq/vrjYuNi+vr64vrjYvri+uL6+0Li+uNm+uL6+uNi4vr642Nq4
vti+0L++vr6+uNi+vr64vri+2dnZ2bfZ2dq32trauKXapbfapdqluNq32re3RbelV6VFt9tWpdtXpVfb
RbdEpUWkt0W3pVelpbemt7i32rjZuNm+uL64vrhEGd/eMkQtRDIs3CxF3EXbRaVFpUWlRaVFpUWlRaVF
uLi+vr6+vr6+uL6+v76+2L6+vti+v76+0L6+vr6+v76+vti+vr7Zvr6+uNi+uNi4vr7Y2LjYvr6+uNnZ
uNq42bja2bjZuNq3RaXZt9vauNq4pbi3pbelV9tWpaVFpdtX20VEpVbb20WkV6Xbt9u3pVfat6W3pbja
t9m42dm4vr64vrjcGRMs3NwsRTIzRDJFRdtFpUWleKVFpUWlRaVFt7i+vtC4vti42L/Qvr6+vr642Li+
vr64vr++uL6+vr6+uNi40b7Yvr+4vti+vtja29m+vrjYuNi+uL7ZuNnZ2dm32bja2rfapdpF2tult9q3
pbelt0W3RaWlRURERERE20RE20TbREVE20VE21ekRdu2paW3pbjauLil2rjZ2dm4vr7K2bjcGRks3Nw+
3DIt3EVF20WlRaVFpUWlRaVFpUa42Lm+vr6+vr6+vrjYuL6mvti+vr6+vr7YvrjYuNi42L6+vr6+2Ni+
0b7YvtG+vri+uNi+vr6+uL642b7ZvrjZ2dm3pbemt6W3paVF2qW3paW3pUWkRaRERETcRCwyMSwx3Ssy
LDFE3ETcREXbV9u3RdtX27elt7elpbjZ2ri+2b64vr7Kvtos3iws3CxFMkQs3EVF20WlRaVFpUWlRaW3
uL6+vr++vr++vr7Yvr6+vr64v764vr++uNi+vti+2L6/vtjYv9C+vr6+vrjYuLi+2Ni+ub6+uL6+vr64
2bjZuNm33KWlpbfa2kWl2ri3pdtEMkTc3CwxRN0yKzIxKyvdKzHeMSvdKysyRERERNtERdtWpbfbt7el
27fZuNnZuL7Zvr64vtnKvrcy3iwy3CzcMz4yRUXbRaVFpXilRaVFuLjYvri+vrjYuNi/uNi42LjYvtC4
2L6+vr6+v77YuL6+vr7YuL6+vtm+vtG+2L7Y2L64vr6+uL7QuL64vtna2tq42qVFpbfa27elpbemt6VE
3EQyRETcRDIxKzHdKzIx3Ssr3isxKzHdK94xMkTc20TbRUXbV9vbRaW32tq42b642bi+2b64vr6+uLfc
LCzcPtwyRTJERdtFpUWlRaVFpbi42LjYvr6+vr6+vr6+vr6+v76+vr7Qv76+vr6+uNi+0L++2L6+vr64
0b7Y2L642LjYvr6+vti+2b7Q2dm32rfapbilt6VFt9ult6Xat6VF3ETbpbfbRETcREQyRESl20Tc3d0x
MkQyRN0rMRkrMkPcRNtE20W3RLdFt6W42tq42b6+uL7Z0Nm+uNm4uKXcLNwsRSzcLdxFRaVFpUWlRdq4
uNi+vrjYvri+vr++vtG+vti+vr++vr7QuNjYvti+v76+uL6+vti+vr6+2LjYvr6+vrjYuL64vrjZvr64
2bil2yult6XapdsypdrZuL7Q2bjZ2dm3t0WlRKWlpbel2bjZt6VERTIsMkMy3SsxK94ZKzHcRNtE20Xb
t9u3pbja2dnZuL7Z2bi+2b64vr7QuKXcLNwy3DI+M0RF20WlRaVGuL7YuNi+0L6+vr642L6+vrjYuNi+
vr6/vr6/uL6+uNi+vr++uL6+vtjY0b7YvrjYvti+uNm+vr6+uL642be+2rilpaW326W3pbjY2NHY2Li+
2bjZuNm3RaVX2re42lfbRETct9q320TdRCvdMd0rGSsZKzEyRNxE20W3pbfauNrZuNnZuL7ZuL64vtm+
uL64uLfcPzI+MzJELUXbpUWlt7jYuNi+v764vti+2L6+vr7Yvti42LjYvr6+vr6+vr7YuNi+0b6+vti+
2LjYuNi+0LjZ0dnYvri+uL6+2b642rfZ2qW3Rbel29rY0djY2L642bi+yr64t6VXpbi42bfaRUQyRNvZ
0L64pUPdMSwx3jEZGBkZKzLcRNtX21elt9q42tm42dm4vtm+t764vtm+vr6+uKVF3Nw+MzJERUWlRbi4
vr6+vr6+2Nq42Li+v7i+vr6+0L7Y2L6/0Li+vr++vti+2L6+v9jYuNjYvr6+vr++vr7YuNi+vr6+uNnZ
vrfZ2rfapdulpdnX19jY0dm42b7Yvri+uLdFRbdF27i4t0TdK9xE3Lilpb1E3d0xK94r3jEZMBkYMUTc
20W3pbfbRdm42tm42dm42b7Zvr64vri+uL64vkVFMtw+MyzcRaW4uNi+2LjYuL6+vr6+0L6+v76+v764
2LjYvr6+2L6+vti42L6/0L6+2NjYvqW4vti+uNi+vtC4vrjY2b642bjZ2rilpUWlpbjY19fR2Ni+uNjK
2LjYuMrZt7fcRNu32sq9VzEyRNzcK91E3DEr3t0rGTEx3hkY3hneRNzbRKVX26W42tm42dm4vtm+uL64
vtm+2dm+vrjYuLhFMtzcP9xFuLi/uL6+vr6/uL6+vr++vr7Kvr6+vr6+vr6/vrjYuNi+0b6+vr6/0L6+
vri+uNi+vr6+uL6+vti+uNm3vr7Zt9mlt6WlptnX19fX19i/0L6+vrjY0Li+uLe3RdtFpbe+2bilt9tE
20QyRN1E3TEr3RkZGRkxGRkeK94yRNult6W32re42rjZ2dm4vtm+2b6+uNm42bi+2b6+uLhFRaVFuLi+
vr7Yvri+vr6+vr6+uNi+v76+vr++vr/Qvti+vr++vr6+2LjY2NjZuNi+2L7Q2bi+vr64vr6+uNnZuNm4
vrjat9qlt77Y19fXv9fY0L64vri+vri+uLi4pbe4t7jauLi+2LjZpUWkRdtE3UTcMjErGSsZKzHeGRkZ
GDJE20W3pdq42rjauNm42b64vr642b7Z2b6+vri+uL7QuLi4uL640LjYvrjYvti42Li+vr7Zvr6+uNi+
uL6+vrjY2L6+0L6/2L7Yvr6+vtjQv9C+v7i+vr6+vrjY0L6+uNm+2b632dnc2tnR19fY19jY2L+4vri/
vtC+vsq+uL64uL7QuKW+vtC+uNq3Rbe3pUTcRNtEMjHeMd4r3iseGRkYMkSlRdq32rja2rjZ2bjZvri+
2b64vri+uL7Zvr6+uL6+0L64v76+vr6+vr642L6/vtC/uL6+vtC+vti+vr++vri/vr6+2LjYvr/Y2NjY
v76+v9C+2Li42L6+vr64vr7ZuL632dm42r7Y19fXv9fX0djQvr7Y0L6/uNjQv9C/0L6+vri42dC+yri4
2bi320VE3ETcRNsyRDEsMd0ZGRkfKxkxRaVXpbfat7jauNnZ2dnZuL6+2b7Zvr64vri+vr6+vrjYvr6+
v7jYvti+vti+vr6+vr6+v76+uNi+vtjYvti+0L6/vr7Yvti+uNi+uNi+0b6+uNi+2L64vtq42Nm+uNm4
2dm4vr7R19fX2NfX2Ni+uL642L/QvtjYuNi+vr64t7i32bjYuNqlt0W3RdtW20TbRDErMSsyKzErMd4Z
GRjeGTHb27dFt6a32rjZ2bi+uNm+uL64vri+2b6+2bi+uL6+uL6+uL6+vrjYuNi+uL6+v77QuL6+v76+
yr64vr6/vr7Y2L7R2b7YvtjYvr6+vr7Qvr6+2Li+vrjYvri+uL6+vrjZ2b7Y19fX0dfX0djYvri+2Ni+
vsvYuNi+uNi40Li3RUW4t9m3t7jaRaVX27elV9wsMd0x3THdKxkZMBkZHhkZ3EW3pbfat7jZ2bjZ2b64
2b7Z2b7Zvr64vri+vr6+vr6+vr6+vr6+vti+vtG+0L6+v77Qvr6+v77Yvr/Qvr6/vri+vr/Qv76+2Ni+
vr/Qv7642Li+uL6+vrjYvr6+vrfZ2ri+19HX19fX19jY2Ni/0L/KvtG+vr7QuL7Kvri4t9q3t7i42bja
t9q4pUWlt0WkRDJE3UQyRN0x3hkeGRkYGd6kpUW3pbi42rjZ2bi+2b64vri+vri+vtm+2dm4vr6+vr64
2L6/uNq+vr6+vr++0L6+v77Rvr7Y2L7Yvr/Qvr7Y2L7Y2L7Rvti+uNjY2L6+2L7Yvr7Rvr6/0L6+uNm4
2tvY19fX17/X19HY2NG+0Ni+vtG+2MvYuLi+uL7QuLi3uNm4vri+t7jZt9m3uLdFRUTcKzEs20QxK93e
KxkYHxkY3du327elRdq32rjZ2bjZvtDZvri+vri+vr64vr64vri+vr6+vr6+v7i+vti+vr++2L6+vr7R
vrjYvr6+2L/Qv77Qv77Y2NjYvti+uNjY2LjYuKW+vr7Qvti42dna2tnZ0dfX19fX2NfY2NG+0di/yr64
vsrYvrjYuNjQuL64vri+yr6+uLjZuLi+uLelRbdFRDIr3URFRN0rMTLdGRkY3t4ypbelt9q3ptnZuL63
vtm4vr7Zvtm+uL642tm+2b6+vr64vr64vr6+v764vti+2LjYvtG+2L6+0b642L6+vr6+v9C+v77Y2L7Y
uNi+uL632r642L64vr642Li+uNnZ2NfX19fR19fY0djY2L7Y0L/Y2Li+vrjQvrjYvr7Q2b64vr7QuL6+
uL6+ytm4t9q3t0UyKzFE3ETdMd7dQ94ZGBkY3qSlRbel2rfauNnZvri+2b64vri+uNm+2b6+vri+uL6+
2b6+2b6+vr6+vr64vr7Yvr6+vr6+2L7Yv76+0L++vti+2L6+2L7Yvti+v9C/uL6+0L64vr++vr6+uL6+
uNfX19fX19fX2NjYvtHY0b6+yti4uNm42Li+0Li+vrjQ2bi+t76+yr6+uNm42bdF2rdEMivdREQyKxkZ
Md0rMRkfGRnd27dFt7fauNrZuNnZuL64vr6+vr6+vri+uL6+vr6+uL642L64vr64vti+vr++uNi+v76/
uL7YuNi+v9i+vtG+vr/Qv9jYvtG42L6+2L6+0L++0L6+0Li+uL6+vtjX19fX0dfX19G+2NG+2L7Rvr6+
uL7QuL64vri+vri+2b64vri+uL7YuL64vre32rdF20TbREQsMSseGSvdKx8qHxkY3kRFpbelt9q42tq4
2b7Zvr64vri+uL7Z2b64vtm+vr6+vri+vr6+vr64vr6+vr6+vri+vr6+vr6+vr6+vti+vtjYvr7Q2L7Y
2L6+0b6+uNi+uL6+vti+vr6+uL7X19f/19fX19fY2NG+2LjYvr/QuNi+uL7Qvsq+uNC42bi4vri+uNm+
0NjYuNm42bi3pUTbRaVEMt0rKxkx3d4rHxkeGRkx29ulV9qluNq42dnZuL64vr7Zvtm+vri+vr6+vri+
vr6+vr64vri+vr64vr6+uNi+vr6+vrjYvrjYvr64vti+vr7Yv76+2L642L642Ni+2L7YuL642b6+2b7Y
0dfX19fX19e/19jY2NjY2NDY2L/QuL64uL64vri4vrjZt764uNC42LjYuL642bfat7dFRKW320REMjEr
Md4rMd4rGBkY3jKlV6Wlt9q32dm42dm+2b7ZuL64vtnZvri+uL6+vri+uL64vti+vr7avr64vr6+vri+
vr++vrjYvsu+2L+4vti4vr6+2dq+vti+2L6+vsu+2L64vtm4vrjZ19fX19fX19HX19jR2NjR2NHY0dfQ
vr64vrjQuNi42be+uL642b642Li32NC+uLjZuLelRaW3t0VE3UQyK90rMTIrMRkZGRkx29ulV6WluNq4
2rjZ2bi+uL6+vr64vr7Zvtm+uL6+vr6+vr642bi+uL6+vr6+uNi+uNi+vr6+v76+vr6+vr64pdjYvr64
uL6+uNm+uNi+2LjYvtq42dnZ2NHX/9fX19fX2NHX19jX19jX19fY2L/QuL64t9C+vrjZuL7K2dnQuL64
Rb642ri+0L64vreluNtERNxERDJE29sxK97eMRgZGaTbV6W3uNrauNm+uNnZvtm+uL64vr6+uL64vr7Z
vri+uL6+vr6/vr642L6+vr642L6+vrjZvtC+vr/Q2L/Yvr7YuNfZvr6+2LjZuKW+vri+2Li+vtm42b7X
19fR/9fX19jX2NfY0dfR2NHY0djQvri+uNm4vsq+uL242bjZuNjQuKW3V6W4vr640LjauNlE3TJE3CxE
3NtEMiveMRkZGRkyRNvbt6W3uNrZt9m+uL64vtm+2dm+uL7Zvtm4vr6+vtnZvr6+vti+vri/vr6+vtC+
uNq+v9i+vr6+2LjYuL6+2Ni+vr642Ni+vti+2L6+vr6+uL64vr7X19fX19fX19HX2NfY19jX19i+2NjY
uNC4uLfK2bi4vbi42bfZuNDYvsqlt6VX2ri+0b640L642UQsRNxE3USlpUQrMRkrHhkq3dtFt6WluNq4
2rjZ2bi+vrjZpbjZvtnZ2bi+vr64vtm4vri+uL64vtC+vr6/vr6/vr6+vti42L/Qv76+2L6+v76+2L6+
2r64uNi+vrjYuNi/vtC+vr6/19HX19fX0dfXv9fX0dfX0djY2NHYuL7ZuNm42bi42bi4vri4uNm/uNC+
t7i32ri3vrjYvr7QuNDbRKW3RDJXpETcKxkrHxkZGTHcRKVFt9q32rjZuNnZvri+t6XZuL64vri+uL6+
vri+vr6+2L6+v76/vtC+uNi+vr642LjYvr6+vr6+2L642L7Qv77buL7Yvr6+uNi+2b6+vr6/vrjY2NfX
19fX19fX19fX19fX19jY0djYuL64uL64t7jZt7i42bi+vtG+2NC/uLi3uLfZuLfZ2LnQ2NnbRNvZ0NtE
290yPd0rHysfGN4ZRNtEt0XauNq42dm42bi+uL642b6+vr6+vr6+uL6+vr64vri+vr6+vr6/vtC+uNi+
vti+vr642L7Rvti42b6/vrjYvr7Rvti4vr7QuL64pdnYvr6+vtjX19fX0dfX2NHY19HY0djY0di+yr6+
uL64uNm4uL64vri4vrjY0b7Y2LjYuL63uLfauL7Y2Li3MkXZuLfbRDIrMd0r3isfKxkY3txE29u3pbel
uNq42dm42Xh4vr642Xh4uL6+eHi+uHh4vr6+eHi+vnh4eHh4eLi+vnh4eHh4eHi+vnh4vr7YeHjYvr7Y
2L64vti+vti+2LjZuNi4vr7R19fX19fY2NHY2NjY2NG+0b6/0L64vsq+uL64vrjY2NC+vr6+2NjKv8q+
uL64uMrZuNnX0djRvkTcuNm3RDJE3SsyMSsZ3h4ZGSsyRNtXpbe3prfauNq42tl4eNm4vrh4eL6+uHh4
vr54eNi+uHh4vrh4eNi+vnh4vr94eL7Rvr7Rvr54eNi+vnh4vti+vrjYvr++vti4vr642L7Yvr7Y19fX
19HYv9jY19fR2L7Yvr7QuL64yr6+0b7QuL7Q0djY0djY0b642L7Yvti4vrjZuLi+0dfY0NC33Nu42UTb
RN0xMjErGRjeGR7eK9tE20W3pbe42rjZt9q4eHi4vtm+eHi+2Xh4vri+eHi4vr54eLjaeHi4vr54eL6+
eHjYvti+2Li+eHi4vnh42L/Qvr/Qvr7QuL6/vr6+vr6+vri+2NfR19fX2NjY2NHY17/YvtjRvtG+uNi4
vri+uNC42dDKvtjR19jRvtDY0b7YuNi+yri3uNjK2bi42bdE27ilpUQx3iveKx8rGR8ZGN1E20W3t6W4
pbfZ2bjZuHh42b642Xh4uL54eLi+vnh4vr6+eHjYvnh42L6/eHjQvnh4uNi42L++v3hyvth4eNi+2L6+
vr7R2b642L6+uNm+v77avtHX19fX2NjX0dfX19fX2NHY2NG+yr6+ytjYvtG+yri42b7R2NjRvrjYuNjQ
uL64uL63uLdF2rilt0XbRdy3t9oyMRkZMd4rGR8qGRkr3ETbRdu3t9q42rjZ2b54eLjZ2b54eL64vtm+
2b54eL64pXh4vrh4eL642Hh4v7h4eL6+2L7Qvr54eNi42L7Rvti+2Nm+2b642L7Zvri+vti+uNjX19fX
0djX2NfX19fR19fX0djY2L7Kvr++yr/Qubi3uLe40NjQv77Qv76+v77QuNm4uLe4pbe4V7dFpbdF3DIs
KxjeKzHdMRkrHxkeGUTbRaW3pbiluLfZuNm4vrjZuL7ZeHh4eHh4uL64eHh4eHh4eL7YuNi+vr6+vr6+
eHh4eHh4vr7ReHh4eHh4vti+vr64vri+2r7QuL6+vrjYvr7Y19fR19fX0dfY19fX2NfX19jY0djRvtC4
2NjYyti4uLe4t7642NjQv9DYv9C+vri32re4t1i3V6VFt7jat6VXMSsZGTHdRCsZGR8rGRkyRKVXpbel
uNrZuNm3vnh4vtm+uHh42dm+eHi+vnh4vti4eHi+vnh4vr64eHjYvnh40b6+udi+2Hh4vti/eHi+0b64
vr642Li+vr6+uL6+vrjYv9fX19f/19fX19HX19fX19fY2Ni+vri+vri+yti40Li4uNm42bi+0di+0b6+
vsvZuFeluLfaV6VFpbjKpbe42kXdK94x3THdKxgZGR8Y3dtFt6VX2rjauNm42dl4eL64vtl4eLjZvnh4
uL54eL6+vnh4vr54eLi+vnh4uL54eL6+2Ni+0b54eL/Qvnh42L6+26W+vr6+vr+4vti4vtm+vr7R19fX
19HX2NfX19HX19fR19jY2NG+2LjYuL64vri40Li4vrjQvr6+0b6+0b7YvrjZpbdXt7i3RbfZuL63pVel
RN0r3jHdKxkrHxgZGTFERdu3paW32rjZ2bjZeHi4vr64eHi+2bh4eL6+eHi42Lh4eNi4eHi+vr94eNC/
eHjYvr642L6+eHi+vtF4eL7YvkXZvti+uL6+vr6+vrjZvr6+19fR19fX19HX19jX19fX2NjY0di/0NHY
vti40Li+yr7Kvr642L642L6+vr642Mq+uERF27e3t7dFt7i+uLdEpdsxGSveMRkZGBkZHhnd29tEt6VY
pdq42rjZuHh42b64vnh42bi+eHi+uHh4v76+eHi42Hh4uL6+eHi+vnh42L64vti+2Hh42NjYcnjY2Nnb
2rjYv9C+uNnZ2b6+2Nm42dfX1//X19fX19HY2NjR19jY0djY0Ni+vsq+uL6+uL64vrjKvrjYvrjYuL7Q
2L6+2Ljb26VFRbfbRNy3t7cyLETcKxkxGRgr3jEZMBkZMdtXpaW3pbe42rfZeHh4eHh4vtl4eHh4eHi+
2di+eHh4eHjYvr54eHh4eHi+vrl4eHh4eHh4vthyeHh4eHjYvr7ZuL7Y2L6+vr64vr642bi+vrjX19fX
19HX/9fX19HX19jR2NjYuL642LjYuL7YuNi4vri+vr6+0L6+uL64vrjYyti+0L6420RFRBks26UxKxlE
MisZGN4ZGTHeGRkZGTFF21elt6W42rjZuNnZ2bjZvrjZ2bi+2b64vri+vr6+vri+uL6+vr6+0b6+2L6+
2Li+2LjYvtG+2NC/vr7Yvr/Q2r6+uNi42LjYvri+2travr7Y19fR19fX19fR19f/19fY2NG+uL++0bjY
vtG+uL6+vr7YvtG42Li+yr64vr6+2L6+0b7Y0LfcRNxEMkTc3Ssr3ETdKxkrMSvdKxke3hndpbfbt9q3
uNq42dm42bjZuNnZvri+2dm4vr6+uL64vr6+vr6+uNi+2di+uL642L65vr7Yv9i+2Ni/2L7RvtjQv764
2Ni+vr6+vrja2NG4vri+vtfX/9f/19H/1//X19HY2NjYvr7Y2Ni+vti+2NG+vtG+vti+2L642ri+vri+
2NG+2L7Y0b64pbe3RaVEREQyRbdE3CsZMSwyMd0rGRkYMttXpVelpbjauNm42dml2r7auL7Z2dq4vr6+
uNm+vr64vr64vr6+uL64vr6/vti+vtC+uL642LjYvrjY2L6/vtjY2L6lvrjYvri+2b6+2Li+uL7X19fR
19fX19fX0dfX2NHY2NjY0dfX2NG+0djY2NG+2NG+vsvYytqluLjQuL6+0L/Qv77YuLi3pVelRdtE21ZF
2zEr3SsxKzErHyofGTLbt9u3t0XZt9q42dm42tm4vtm4vrjZ2dm+uL6+vri+vr64vr++uNi+vr/Qvr64
2L6/vr6+vtC/vtC+vr/Y0Ni+vtjYuNi+uL6+vri+2Li+vr6+0dfX/9fX19H/19fXv9jY2NHX19fR19fY
19fY2NfY2Ni+vr6+vr++t7i+vtC+udjYvtC+uL63Rbelt0W3REXbtjIr3jEyMiveGd4ZGRkyREWlRdu3
2rjat9m32ri+vr64vtnZvri+2b6+uL6+2bi+vr6+uNi+uL6+vr7Yvr/Qvti42L++vr6/0L/Qvr/Yvti4
vrjYvr6+uL7Zvr6+vrjY2NfX19fR/9fX19fR19jY0dfX19fX19fX2NfR2Ni4vr642dm42b7Kvr642bi+
0L7QuL6+uNi4t9q4V6VXpURX2ysrHive3UTdKxkYHxkrMtult6WluNq42bjZ2bi+2b642tm4vri+uL64
vr64vri+vri+vr6+uNi+vrm+uNi+vrjYvr6+vr/Qvr7Y2L/QvtjY2L7Y2LjYuL6+uNi42L6+uL7X19fX
19fX19fX19fY19fX1//X19fR19fX2NjY2Ni+uNq42bi+vrjZuLel2rjZ2b6+uNjYvri+t9qlRdu3pSve
GRkZMdykRBkqGRke3ty3RaVX2re42bjZuL7Zvri+vr64vr6+vr6+vri+vrjYvri+vri+vr6+uKW+vti+
vri+vr/QuNi+2L/Qv77Qv77RvtG+2NjYvr/Qvr7Y0Li4vr6+0dfX/9fR19fR19fX0dfX19fX19fX19fY
2NHY2NHY0L6+2Li+vti4vrjZt7i4t7i+uL6+vri+uLfbV6RE2UTdK94x3jLb3DHdGRkxGd5E23h4eHh4
eNq42Xh4uL6+2bjZ2Xh4uL64eHi+vr54eHh4eHjYuHh4eHh4eHi+uNjYvtjY2L64vti+vtC/vtC/vti+
vtG42djQv77YuNi+0L7Zvr7X0dfX19fX19fX19fX19HX/9fX19fX0djY2NHYvr++uL7Y2NG42Li+uL64
vbi+yr64vr6+uLelt9tFpUVERNxEMjErRETdKx4ZHyve20Xbt9qluHh42dl4eNm+uL6+2bh4eNm+vnh4
vrh4eL6+uL6+uNh4eL642L6+v76+uL7YvrjYvr642Ni/2NjY2NjY2NG+vr7Yvr6+vr64vr6+uNm+19f/
19fR19fR19fR19fX19fX19HX19fY2NjYuNjQvtC+uNi42Ni+yr64vri+uL640L640L6420Xbt9tERNtE
3CsyMjEyK94ZMRkZMUQy3Lelt6V4eNq4eHjZuNm+uL7ZeHjZvrh4eL6+eHi4vr642L64eHi+vr642L64
vr6/uNC+v9C/vtHY2L7Y2NG+2Ni+2Ni42NG+uL6+2Nm+uNm+vtHX19HX2NfX17/X19fX0dfX0dfX19jY
0djQvti+vr64vr6+vr7RvtG40Li40Li+uL642L+4uLfbRKW3RCzbRETcRDJEK90r3RgfGTKkLETapUW4
eHi42nh4pbi+2b64vnh4uNm+eHi42Hh4vr6/vri+vnh42LjYvr642L++0L6/vti+2L7YuNjQv77Y2L6+
0b6+vr7YuNi+uL64vtm4vr6+19fX19fX19fX19fX19fX1//X19fRvr6+uL64vri4vr7YuNjY0Ni+vri4
uL6+yr++vrjY0NqlRUW3pUTcREXaRNxEMjEsMd4ZGRjcRbdF27fa2nh4t7h4eNm+vri+vr54eL6+vnh4
vrh4eNi+uL6+vth4eL7Yvr7Rvr7Qvr++vr7Qv77RvtjYv9i4vr7Y2NjRvte+0L6+uNi+2dq4vr7ZuNfX
19fR2NfR19jX0dfX/9fX19HXvr/Kvr6+vsq+vr6+uNi+uL642LjK2bjQub7QuL/QvrjaV9ult1fbRKW3
RUSk3T3dMd4rGR8r29uleHh4eHh4eNq4eHh4eHh4uNm4eHh4eHh4eL6+vti42L6+v764eHh4eHh4vr6+
v77YvtG+v77Qvri+2NjQvtG+2NjY2L652Ni+vtG+uLiluNi+uL7Y0dfX19fX2NfX19fX0dfX19fX19i+
vr64vri+uL64vr642L64vtC4vrjKvtC+v9DZvrjZt6VF29vbRNu320TbRUQyMjEr3hkYMtu3RHh4t0Xa
t9q32nh4uL7ZeHi+vnh4uL64eHi+uHh4vti42L642Hh4uNi4vr6/0L6+uNi+2L7Yvr++uNi+v76+2NjY
0djY2Ni42NjYvr7Yvti+uL6+2NfX19fX0dfX0dfX19fX0dfX19HYvti42L64vr6+0b642NC4vri40Li4
uNi+0b640Ljat7fbRDK3RdtX2kVE29tEMjEr3hgZGdykRaV4eEWl2kWluNp4eNm+uHh4vrh4eL6+vnh4
vr54eL64vr6+2L54eNi+uNjYvri+vr7YvrjYuNjYvtjY2NjY0b7Y2NjY2Ni+vr6+uL7YvrjYvr64vr7R
19fX19fX19fX0dfX19fX2NfX2Ni+v764vri+uL6+2L64vri+0L64uL7Qv77Q2Li320XbRDIr3Lelt6VE
RaVERDIx3hkxGSvb21fbeHi3pbdFpaW4eHi42dl4eLi+eHi+vrh4eLjaeHi+vtC/vti4eHjYvr7YuNi+
v9C/vr7Yvti+uNi/yr7YvtjY2LjY2NG+uNi+pbi+yr6+vri+2dm+2NfX0dfXv9fX2NfX19HX19HX19HY
2L7Y2NjY2Ni+vri+uL7K2bi4uL642L6+2Li4t0VEMkQyLNvbRKVFRNtE2zIr3jEZGRkyRKWlpXh4paW3
paW32nh42rjZeHi+2Xh4vri+eHi+2nh4vr++vr642Hh4vrm+2L6+2L6+uNi+uL64vr7Yvti/0L/Y2Nnb
2L6+2NjYv9C+vr7YuL6+vril2djR19fX19fX0dfX19fX19fX19fX19jY0djRvr64vrjY2L6/uNjR2dC4
2Li+vrjZt6a3RaVFpETb3EW329ulpUTeKzEZMRkx3EWlRNu3eHh4eHh4pdp4eHh4eHjZuL7ZeHh4eHi4
vrjYeHh4eHh4vr54eHh4eHh4vri+vti+uNi+vr7Rvti+vr6+2L++2di42bjY2di+v9i+vr6+uL6+uL6+
2NfX19HX2NfX0dfX19fR19fX19HY2NfY2NG+vti+2L/Y0Ni+vsq/vsq+vrjZt9q3pbi32kVE3ERF20W3
2UQyK97eKx8Z3ETbVqVEpUWlRbel2qVF2rfauNq42dm+2bi+vri+vr6+vri+vrjYuL642L6+vr642L7Y
uNjZvtG+vr/Y2LjYv9DYv9C+2NG+2NjYvtG+2L7QuNi42Li+vr6+vtjR19fY19HX2NjX19HX19fX19fX
2NHY0djYvr++2NHY2L6/0L++yti+vrjat0WluNq3pbdFMkTcRNy3uNpE3SsxKx8ZRNulRdtFRNulpbel
Rdq32dq42rfZ2bjZuNnZvri+vr64vri+vr6+vr7Yvr64vri+vr+4vrjauL6+v9C+uNjYvtC/vti+0djY
2NjRvti+ytjYv77Q2L6+2Li+vri+2Ne/19fX2NfR19fX/9fX0df/19fY19fY2NHY2Ni+2Ni/0Ni+0b6+
uLdE3Nult9m32belRNwyRNtEpdtE3THdMd4ZMdult9u3RNu3Rdm327fapbjZpaXauNq+2dm42b6+2dm4
vr6+vr642Li+2LjYvr6/vtC+vr6+2L7Y2Ni+2L7Yvr/Y2NHY2NjY2NHY2NjY2Ni/vtC+v77Rvr642L7Z
2r7X19fY19jR2NjX19f/19fX0dfX0dfY0djY2NG+2NHY0L++2L7YuNm33CzcuNm4vrjZt9tERDJEpdxE
Misx3SveK9zbt9tFpdu326VE2kWlRaW32dq32dq42dm42dm4vrjZ2b6+vri+vr6+2b6+vr7Qvti+v9C/
2L7L2L6/2NC/vtC+2Ni+vr/Q2NjY2NjY0djYvtC/vtC+vrjYvr6+uKW+0djX0dfY2NjR19fX19fX19fX
19fX2NfY2NG+v76+2L7Q2Mq+uNm4t9xEpb6+uL63uNm33DIr26U+3TJEMisx3t1E27elt6VFt6W327el
2tq4paW42rja2bja2tm4vti+uNm+uL6+vr64vrjYvri+v7jYvti42Ni+2L7Qvr6/2L6/vtG+vtjY2NjY
2Ni42NjY2NjY2NC/vr6+2Li+vtjZvtjX19fX0djY2NHX19fX19HX19HY2NfR2NfY2NC4vtq42b6+uL7Z
t7fbRNm+uNm42rilRETdMkTbMTJE3N0x3Svc20VF27dF2qW3pUXbRNq32tq42aWluNq32dm4vtjYvri+
pb6+uL6+vr6+2LjY2Ni+0b7Yvti42Ni/2NjRvtDYvtjYvtG+2NjY0djYvtjR2LjYv76+vtG+uL6+vr64
vr6+0dfXv9fX2NHY19HX19fY17/Y2NG+19jY0b7Yvri42dm40Nm4t6VF20XbRKW32rdFt6XbRNxE3TJE
3EQxK91E27elpUWlt6W3RdrbpUXa2trat9na2qXZ2bjZ2tq4vtm+uNm+2bjZuL6+uL7Yvti42L64v77Y
2Ni42L7Yvti/vtG+0di+uNjY2NjY0djY2Ni+vtC4v9jY2L7Rvri42r7R2b7Y19fXv9fY19fX19HX2NfY
2NjY19jR2NjY2Li+vr642b64t7jZt6Xat9uluLelpbdFREREMt1E3EQy3d1E3KW3pbhFt9qluKW4t9tF
2rdG20Xat9q42bjat9nZvtm42b6+uL6+vr6+uNm+vr64vti+0L7YuL6+vtjRvr/Q2NjY2L7Y2NjR2NjR
2NjY2NG+2L6+vtDYvtjYuNi+2L7Yvr6+uNfY0dfY2NfR19fX19fR19fY0djY19jY2NjY0L64vr642bjZ
uNnZuNml27i9uLfbRdu33DJE3ETd3UQyRaVFpaW3pdq4pbfapUXbpaXat6WlpbjapdnZpdq42tm42b64
vr6+uL642Li+vrjYvti+v77Yv9C/vtG+vr7Yvti/0L/Y0L/Y2NjY2NjY0djY0L/Y0b6/2LjY2L7YvrjY
vr642L6+2NfY0djY2NjY0djX19fY2Ni+2NHX19HY2L64vr64vrjZt9m4uL642kWluNm3t9xFpUTcRNwr
MkQyRKW3pbe42rdF2kXat6W32re42tqlRdvauKW42kXZ2rjZ2dm+vr64vr6+vr7Yvri+vti42di42L6+
vr6+2NjRvtHY2NjQv9jY2NjR2NjR2NnZv6Xa2L7Y2NC+0b7YuL6+vri+vr6+uL7X19jXv9fY0djY2NHY
2NjY0djX2NfY2L/Y2L/Qvr64uLe42di+0L63pbhF20VEt6VE3EQyRNzb27elRbelpUXapbil2qW42qWl
t7elt6W3pbfaptnauNra2rjZuL7Z2bi+vri+vri+vti+vri+vti+2Li+2L++vti+2NjYv9jY0L/Y2NjY
2NhF3NiluNHY2Ni/2Ni+2L6+0b7RvtC/uNi+uNfX2NfY19jX19jX2L/Y19jX2NHY2NfY2NC+2Ni4vrfZ
t764vr642aW3pUXbt6W3REVE3ETcRbfapVeluLfapaW3pbjapbelt6VFpEVERdtEpbe32qXauNnZ2dm+
uNna2tm+vr6+vri+uL7YvtG+uL7buL6+vtG+2LnQ2L7Y2NjY0djY2NHYvtnYvr7Y2NHY2NC/0L++0b6+
vr7Yvr6+vr6+0dfY17/Y0di/19jX2Ne/2NjX2NjR2Ni/vrjYvrjZuL64vtC+vre42bfat6VXpUTbREXb
RdraV9vapbelRbel29vat0WlRUTcRDJE3TFEMkRE26W32rjZ2bjZuL6+vtq4vr64vr64vr7YuNi+vr/Q
vr7RvtjY2NjY2L/Q2L/Y2NjY19jY2NjR2NjY0djY2L++2L/Qvr7YvtC/uNi42ri+vr7X0dfX19jX19jX
19HY19fXv9fX2NfY2Li+vri+uNm42b6+vri+2b64t9tFpUSlRNtEpaW3t6W3pbja2tqlt0Xat6XcRNxE
MitE3d0r3Ssx3UTcRKW32rjZvtm+uL7Z2b64vr6+vr6+vti+v77Qv77Yvti+v9C/2L7Y2NHYvtHY2NjR
2NjY2NjX2NjYvtG+2NjY2L7Rvr++2L6+0L7QvrjZ2djX17/X2NHX2NfY19HX19fX2Ne/2NjYvri+uL64
2bi+uNC+uNm4t0XbRLfbRUTbRdq3pqW3pbjat9q3uKWluL6+t9m3RdulpbelRNvcMivdK91E3KW32bjZ
vtm4vri+vqWluL64vril277Y2L7RvrjY0b7YvtjY0djY2NjY0djY2NfY0djR2NjRvtjYvti/0L7YvtC+
uNjY2Ni+vr7ZvrjY2NHY2NfY19HY19jX19HY19HX19jRvti+2L6+uLjZuL6+uNm3t6W3RKVF20RF27e4
2re42re42rjauKXavtjYuLi+uLe3t7jbREXat0QyMd4rHyvc27fZ2bjZ2dnZvril2r6+2di+2kXYvr6+
2L7Y2L7Y2NG+0b7Y2NHY2NjR2NHYv9jY2NjR2NjRvtjRvti/uL7Yv77YuL643DKluL6+uNi+0djY0djY
v9fR2NfX19fX2NjRvtjR2NjR2NjQv76+uLe4t6VERdtERNu3pbilt6a3pbi32bfa2qWl2NfRvr7Yvsra
Rdu3t9xE3ETcK90rHysZMTJFt6XZuL64vtm+uL642kXZ2L7Yvr+4vti+2L/Qv9jY2NjYv9jY2Ni/2NjX
2NjY17/X2NjY2NjY2NjY2Ni/0L7RvtjYvtwr29m4vr7Yvr7R2NjY2NfY2NfY17/X2NHY2L7RvtC/2NDY
vr7K2bjZt6VF20RE3EXat9q32qW42dq3ptm42bfa2NfY2Ni4vri4uLe3uNnQ2qVFpDJE3iveMRkZMaVF
pdu+2rjYvtm+vtnavri+vr7Yvr6429nY2L7Y2NjR2NjRvtHY2NjX2NHX0djY0di/19jR2NjY0djYvr6/
vr7Y2NHZ27i+vtjY2Li+2L7R2NHY0djY0djY2NfY2NG+vr6/0Li+uNm42dm42bel20SlpbfZt9q42bfa
t9q32re42tnZ2NHY19i4vtjQvr++vrjZvri3t0VE20TdMSve3t4yt9rauNm/2aW4vr64vr7auL7YuNi+
2EXa2L7RvtG+2NjY2NjY2NHY19jXvtjY19fY19jX2NjR2NjY0djY0NjY2NjYvr7Qvti+vri+vti+vr6+
2NjY19jX2NfYv9jYvr/Q2L6+vrjZuNm42di42re42UWlt9q32bjauKW42dm42dm42NfX19G+vtC/vtC+
uLi3uLi32qVFpUQyMSwx3hkY3tylt9nZ2b64vtnZvr6+uL7Yvr6/0L7YuNjY2Ni+2L/Qv77Y0djY2NjR
19jY0dfY0djXv9fY17/Y2NfY2L7RvtG+uNi+vrnYuLi+2Li+uNrZvr/Y0djR2NHY19jYv9DY2Li+uLi+
uL642NjQ2MrapbfauNq42bi32bfZuNm4t9m42dfX19fY2NG+vsu+uNC42be4vri32bdFRN1EMisxGRkx
27fauNm+vrjZuL7ZuNi+uNnYvti/2Ni+v9C/0Ni+2NjQ2NjY0djY2NfR2NfY19jR19jR2NjY2NHY2NjY
vtjYvr7RvtjY2Ni+vrjYvr6+0L6+2b6+vtjY19jR2NjY2L++0b6+2NDY2NjYuNqlpbfa2aXauNnZ2bjZ
t9m42drZ2dfX0de/2NG+2Li+vrjYvrjQ2b64vri3t6UxMkTd3jEZGTKlt77auL6+vr642r7Y2KUyuL6+
2NjY2NjY2L/Yvti/2NjY0djY19HY19jR2NHX2NfY2NjR2NjY2NHYvtjR2NjY2Ni42L7YuNi+vtC/vti+
2bi+vr64vrjZ2NjY0b7Y0Ni+0bi+2bjat9ra2rjZuNrZuNm42rjZ2bjat9m4vtjX19fX2NDYvsu+vrjQ
vri+uL640L64t9pFREQx3ivdKx4ZRKW42dnZ2bi+vri+2L64vr7Qv9C42tjR2NjY2NHY2Ne/19jY2NjX
vr/X2NjX2NjY0djR2NjR2NjYv9jY2NjY0di+2L7RvtjY0b6+vtjZuNm+vr64vtm+2tq42b6+2dnZ2dql
pUWlpbjb2relpdq42dm32dm32rjZt9q4vr7R19fX19i/2NjY0Li+uLi+uNm4vrjYuNm3pUWlRCsx3jEZ
GTGlt9m42bjZvtm+vr/Qv77Y2L7YvrjYvtjY0b7Y2NHY2NjR2NHY19jX0djY0djR2NfY2NjY19HYvtjY
0djYvtjY0djYuNjYvti+uL5F3L642L7YvqW4vtq32b7ZpbjZuLelRaWl27elpbfc26W42tm42tm4vbja
2trauNm+1//X0djX2NfR2Ni+uNC+t764vtDauLi+uLe320QyMkTdKxne3KWlpb7avrjauL6+vti+0b7R
vtG+2NG+v9jY0djY2NHY177Y19HX19e/19jX17/X2L7Y0djY19HY2NjY2NHY2NjY2NjYuNi+2L6/2tm+
vr642ri+vti+27i32dnZ2qXbpaW3RaXa2rfaRdy3pdq42tm42tm4t9m3uL6+2NHX19fX0dfY2NG+uLjZ
uL642bjYt7fauNi4vkVE3ETbRBkwGTK3Rdu+2ri+2b6+vtG+vrjYvti+2NjY2NDY2NjY0djY2L/Y2NfY
0djX19jY0djY0dfY2L/Y0djY2NjR2NjY2NHY2LjYuL6+0b7Qvti4vti+uL6+0LjZ2bi+vre+RaVF2trb
paVFpbil2tul2rjbRb7ZuNq4vr64vr6+vtfX19fX19fY0djYuLjZuLi4uL6+0bi4t7i+vri3pbdEMivd
GSvd26Wl2tq4vri+uL6+uNi+vti40L/Y2Ni/2NG+2NjY0djY17/Y2NfR2NjR2NjY19jR2NfY2NjY2NHY
2NHY0djY2NjY2Ni/0L6/vtjYvtG+vtjYuNi+0LjZvri+t9ra2aW3RaW3pbel27ja2bfapaW42tm42b64
vr64vr7R19fY0djY0di+uL7QuL6+vtC/0L64vrjZ0NHZ27el3N0xKxke3US3vrjZvr7auNjYvr7R2ri+
2L++0L/Q2NjY2NHY2NjY0djY19HY19fX2L7R2NfY19jR2NjR2NjX2NjY2L7Y2NHY0djYvti/0L7R2NjY
vtHZvr++2LjYvri+vr63uNq42dra2qVF2rfa2qWlt6Xa2rjZ2b64vr642L7Y19fY2NjR2L7Yyr6+udC4
0NjY2LjRvr64uNm+uLdFt0QxK94ZGd5Epdnc2ri+uL6+uNi+vqWlvtjY0L/Y2NG+0di+v9jR2NfY19fX
2NHY2NHX19HY0djX19jX2L7R2NjR2NjY0djY2NjY2NHY2Ni+vtjY2Ni+2L7Q2L7Zvri+vrjZ2drZt9ml
t6Xbt9pFpbfaRdzbuNnavrjZ2bi+vr6419fR19fX19fR2Ni+yti+uLjQvtG+2L64uLe4t0WlpUUyGd4x
Kx8YRKW4t9u+vri+2Ni+uNm+uNjRvr7YvtjY2NjY2NjR2NjY0djX2NfXv9fX2NfXv9fY2NHY0b7Y2NjY
2NfY2NjR2NjY0b7Y2L640b7Y2NG+0b6/2LjZuNi+2dm+uNm42dq3pdpF29vapbjZpbfbt9q4vrjZuNm+
uL6+2NjX19fR19fX2NjYuNi+yri4uL7Y2Ni40Le4t0W3uLe3MisxMRkZGTKl2b7Z2b7avti42L7YvtjY
2NHY2NG+2NjY0djYvtjY0djX2NHX2NfX2NHY19fX2NHX2NjY0djY0b7R2NHY2NjR2L7RvrjY2NjYuL6+
2L7QvtjY0b642L642dm+2tq42tq3pbfat9tFpaWlRdrauNm+vr64vr6+uL7X19HX19fX19jR2NG+uNi4
vri+yti+v76427e327jZRaTdK94ZKhkyt7i+t7i+uL6+vr64vtjY2NjYv9i+2NHY2NjY0djY0b7Y2NfX
19jR2NfX2NHY19jX2NfX2NjXv9jY2NjY2NHY2Ni+2Ni+2Ni+0b7Y0b7Y2NG+2r7YvtHZ2bja2bjZ2aW4
2qW42drb26W3pdqluNnZ2bjZvr64vr642Nf/19fR19HY2LjYuNC4vsq+vr64vtC42Li3RUTbRN3cKxne
Kx8Z3EXZvri+vr7RvrjY3Nq4vtHY2NjY2L/Y2NHY2NjY177Y2NHX2NHY19jR19jX19fR19jR19fR2NfY
2NHY2NHY2NHY2NjY2NjRvtjY2L7YuL++uNjYuNi+uNm+uNrZuNrat9pF2dq3pbjbprfa2rjZuL6+2bjZ
2b64vtfX19fX19fY2L7Y2L7Yv77Yv9C4vri+2NjYvkXbRERERN0rMd0ZMDK32b7Qvri+vr6+vrilvtjY
uNjR2NjY2Ni/2NHY19HYvtjX19fX19jX19jX2Ne/19jX2NjX2NfY0djYv9jY19jY2NHY2NG+2NjY0di4
2NjQvti+uNi+v9DZuNjZt9m42aWl27fZuKWlt6WlpbjZ2dm42bi+uL6+vr7R19fR/9fY19fR19jR2NjY
vr6+uNm+2NC42Li3t0XbRUQx3d0r3hncpbi+vr7QvqW4vr7ZvrjY2NjY2NjR2NHY2NjX2Ne/19jR2NjX
19HX2NHY19HX176/19jY0djY0djY19jY0djY19jY0djY2NjRvti42L7YvrjY2Ni+0Ni+vr6+uNnZt9na
uNq42tq32tq32rjapbjZ2b6+vrjYvrjY2P/X19fR17/X/9fX19jYvri4vr64t7i+vr6+uLfbt0Te3jFE
GRje3LfauL7Z2L5Fvr63pb7Y2NjRvtHY2NjY2NjR2NHY2Ne/19jX19jY2NfX19fY19jY19jR19jY2NjY
2NHYvtjRvtHY2Ni+2NjRvr7Y2NjY0djY2LjY2Ni50LjZvtnauNm+t6Wlpbel2rjapdq4pbfZuNm42bi+
vr6+uNjX19fX19fX19fX19jR2NC+vti4vri+uL64vril20VEMjEyMisfGUWl2b6+uL6+uL6+2rjYvr6+
2NjY19jR2NHY2NfY2NHY2NHX19HX2L7R2NfR19jR19jX2NfY0djXv9fY2L6/2NjX2NG+vtG+vtnY2NG+
2Ni+0b7Y0b7Yvr6+vsra2tm42bjZ2kWlpUXapbfa2qWluNq+vr6+vti4vr6+0dfX0dfX19fX19HY2Ni+
uNi42Ni4uL7Kvti4t0WkRETcRCveGTFEpbi+vr7Rvr6+uL6+2dm4vtC/0L/Y19jX2NHY2NjY19jX2NfX
19fX2NfY2NjX19jR19fX2NfY19jR2NjX19jR2NjY2NfY2NjR2NjY2NHY2NjY2Ni+0b6+0b6+2bjZt9ra
t9zat6Wlt6XauNrZt9ra2bi+0L6+ub64vtjX19fX0dfX19fY2Li+uL6+0L64vsq+vri+uNu3RUSlRDIx
3hkxpbe+uL7Yvr642Li+vrjc26a+2L7Y0djY0djX2NHY0dfY0djX19fR19fXv9jQ19jX2Ni/19HX2NHY
19fR2NjR19jR2NHY2NG+2Ni/0L/Qv77Rvr642L642L64vri+2bfat9nauNrbuNm32drZuNq+27i+vr64
2L6+vr7Y0dfX19fX19HX2L6+uL6+v7640Li40L/QuKXbRKWlRdtE3SsZ3KW42b6+vri+2L7YvtC+uKWl
vtjY0djY19jYv9jX2Ne/19jX19HX2NjR19fYv77R19e+19fX2NfY19HY2NfY19jX2NjYv9fY2NjRvtjY
2L64vtjY0di+vr7Rvr7Rvrja2dnZuNnauKXauNm42drZ2bi+vri+2b7Y0b64vtfX19HX19fX19HY2L/Q
uL64vr64vr6+uKVFRNzbV9tEMjEZMdu3vr642dG+0Ni40djY2L7Y0L/RvtjY2NHX2NnY0djX2NfR2NjY
2NfX19fX19fX19fR19fX2NHX17/X19jY0djY0djZ2NjY2NfY2NjY0djYvti42L6+uNi+2Ni+vr64vrjZ
t9rZt9rauNrZ2bjZvri+vr7Zvri+vr6+uL6/19fX19HX19fX2NjXvr7Y2NC50Li+uLfat0XcRKW33Cve
K9xF2dnavr6+vr++vti+0djavtjY2L7Y0djY2NHY19jR19fY19fY2P/R19fX19HX19fY19fR2NfX0djX
2NfR19jX19jX0b6+2NHY19jY2L7R2Ni+2NjY2L6+0b7Zvri+vr642bi+uNrbt9rZt7jZuNm+vti4uL7R
vtHYvtC+vtHY19fX19fR19fR2NjY2L/Y2Ni+t9u32rfbRNzbV90x3jK3pdCl3Nq+2Li+vri+vr/Qv77Y
2Nja2L/Y0dfY19fX2NjX0djY2NfX19fR19jX19HX0dfX2NfY19jX2Ne/19jX2NHY2NjY0djY2NHY0b6m
vtjYvtHY2NHauL6+uNnZvrjYvr6+t9nZt7jZuKXZvr6+uNm+2L7Y2L6+uNi/vtnY19HY2NfX19fX19jR
2L7Y0L64uNvbuNm4pUTcRDIx3Svb2tnZ2kXY2L7Y2Ljav9C+vti4pdi4vtjY2NjY19jRvkW+2NjY0dfX
0dfX19fX0djY2NjX19fR19fX19HY19jR2NjY19fY19jX2NjYvr7Y2NjR2L/Y2NjYvr7Y2L64vti+2LjZ
uNnZuNnZ2b6luL6+uNm+0b7YuNjYuL7YvtC42NfX2NHX19fX2NHY2NG+uNm+vrelRdq4t6VEMkQyMivc
pbe4uL6+vrjYvtjY2r6+2Li+29zY2dm+uNjR2NHY2L4y2tHY2NfX19fX19HX19fY2NjX19HX19fR19fY
2NfX19jY0djY0djY19HY19jY2NHY2NjY2NjR2NHYuL64vr642bjZ2drZuL6+2bjZpdq+vti42L642NjY
2NjYuNi+2L6/2NfY19fR19jX2NfY2Li+uLe4t9mlt6VF20TcRDJE27i+2L6+2LjY0L7b276+0di/0EWl
vti42tnY2NjY0djXvtfY19fX19fR19fY19fX19fR19fX19fX19fX2L7R2Ne/19fY19fYv9jY19jR2NjY
2NHY2NHY2Ni+vti+2L642L7YuNjZuNq4vrjZ2be+uL6+vtjYvr642NHYvtjYuL7QuNjR2NfY2NfYv9jX
2NjYv7642b6+t6a3RaVE3DJEpbe42Ni42NG+vr/aLN2+2Ni+2NjY2NHY2L/Y19HYvtjX0djX19i4vtfX
19fX19HX19HX1//X19fR19fR19fX19fX2NfX0djY176+2NHY19fY0djX2Ni/2NjY0djYvtG+vti42L7R
uL6+vr63vrjZuNq+0L++vtG+vr6+2NHYvrjY2L7YvtHY19jR2NjY0djY2L6+uNm40Nm32rfbRUTbpbjZ
vtDYvti+uNjQvqW42NjY2NjR2NjY2NjY0djY16bZ0NjX0djY2NHX2NHX19fX1//X19fR19fX19fX19fR
19fR19jR2NfX0dfYv9fY19e/2NjX2NHY19jR2NjY2NG+vtHYvr++vti+0b64vtm+2b7Zvr7YuNi+uL6+
0b7Y2NjY2L6+uNjY0djX19fX19fY0di+uL642b642bfbV6Tbt7i+vr++0b7R2L6/vr7Y2NjRvtHY2NjR
2NjR2Ni+uNfY2L/X2NfY19jX19fX19HX19fR2NfX19fR19fR19fX19fX19fX19fX2NfX2NfY0djX2NfR
2NfY0di+v9DR2NjYvtjYvtjQvrjY2b6+vrjZvrjauL642NC+2L7RvtjRvtjR2NjRvti+uNjR2NjR2NfR
19jQv9jYuNi+uLfbRNtFt9m+2MrY2L7YvtjQ2NjR2dHYvtjY0djY2NjX2NrY2NjY0djY19HY19HX19f/
0f/X19fX/9fX0dfX19fX19fR19fR19fX0dfY0dja2NHX2NfX19HY2NHY2NfYvr7Y2L++2NG+2bjYv7jY
vri42bjYvri+vr7Yvti+vtHYvr7Y2L/Qv9DY2NjY2L7YvtjX2NjX2NfYv77Q2L64uLelRdu32bja2L7Y
2L7R2LjY2NG+2NjY2NHY2Ni42LjX2Ne/2NHY19fX0djX19i+19fX19fX1//R19f/19fX19fR19fX19fX
19fX19fX19e+29jX2NHY19jX19fY2NHY2NHY2NHY0djY2LjZ2NjYvtDYvtjYvtG+vriluNjRvtm+vr/Q
uL7Yvr6/2NHX0djY2LjYuNjR2NHY2NjRvri4vr6+t7jauL7Y2NjRvtjRvtjY2NjY2NjY0b6+2L7Y2NjY
0djY2NfX2NHX19jYv9i+0dfY1//X/9fX19fX0df/19HX19fX0dfX19HX19HX19fX0djX19fY2NjR19fY
19fY19jY19jY2NjY2Ni+2NG+v9C/vtjRvr642NC4vr7Rvr642djYvr/QvtjY0b7Y2NjY2L/Y2L++vr7Y
vtjY2L6+vr6+uNnZ2NjR2NHZvtjY2NjY0djYvtjR2NjYv9HY2NjY2NfY0dfY0dfY19HY19fY2NfX2NfX
19H/1//X2NjX19fX1//X19fX19fX19fX19HX19fX0dfX0djX19HY19jR19jX2NHY2L6+0djY2NfYvtjY
2NjYvrjY2Ni+vr7Y2L642NjRvti+v9i/0Ni+17/Y0djQ2NjY2L6+uL64vri+uNrauL7Y2NjY19jY2NHY
2NHY0djY0djYvtjR19jX2NHX2NHY19fY19e/19fY19HY19HY2NnX1//X/9jR19fX0f/X19fR19HX19HX
19fR19fX19HX19fX19fX2NfX19HX19jR2NfX2NHYv9fY0djY2NjY0djR2NjYv7jYvr64vrjYvti42L7Q
v9C+vti/0LjY2NjYv7642dG+2NHY2LjY2L7R2NjY0di/2NjR2b7YvtjY2L6419nZ3Nu+2NjY0di/19fY
0dfY0dfY19HX0djX19fX19HY1//X19f/19f/19fX0f/X19f/19f/19fX2NfX19fX19fX0dfX19HY19fX
19jY19fY0dfY19jYv9jR2NHY0b6+2NjRvr7QvtG+2NDYvti+0djYv9jY2NHY2Ni+2L/Yvti+2NjYvtHY
2L7Y2NjZ2NjR2NjYvtHY2NjYvri+2Ni+2r63pSzbvte/2djY19jR19i/19jR19fX19fX2NHX19jX19f/
0df/19f/0df/1//X1//X19fR19fR19jR19fX19fR19fX19fX19HX2NjR19jR19jY2NHY0djY2NfY2NjY
0djY2NHY2L/YuNi/2LjY2Ni+2NjRvti+0b7Y0djQ2NHY2NHYv9i+2NjY0djY0b7R2NjY0djY2NHY2NHY
19jR2NHY2NjavtHY177R19fX19jR19jX19HY17/X0dfY19fR19fX19f/19H/19f/0dfX19fR/9f/19fX
/9fX19fR19f/19fX2NH/19fX19fY19fX19fY0djY2NjY19jR2L642Ni+uNi+2NjQvr7Y0NjR2NjR2NHY
vr6/0L7Y2NjYv9jY2NjY2NjR2L/R2NjYv9jZ2NfY19jY19jX2NjX2NfY2NjY2NjX2NfY2NfY19jR2NfX
19jX0djX19jX2Ne+uNfY19fY/9f/1//X/9f/19f/19HX/9fR19f/0dfX19HY19fR19fX0dfX19HX19HX
19HX19HX19jY0de+0djR2NjR2NjRvtjY0djRvtjQv77Y2NC/2NjY2NjRvr6/vtHY2L7RvtjR2NHY2NjY
19jR2NjRvtjR2NHY0djR2NfR2NHY0djX2NHY0djR19jR2NHX19HY0dfX0djY0dfR19HX2NjR2NfX0df/
1//X1//X/9f/1//X/9fX/9f/19f/19fY19fX19fX19fX19fX19fX2NfX19jX19jY2NfY2NfY2NfX2NfY
2NjY2NjY2NjY2NjR2NjY2NjY0djY2L7Y2NjY2NjY19jY2NfY2NjY0di+2NfY2NjY19jX2NjX2NfY19fY
19jY0dfY19fX2NfR2NfX2NfX19fY19fX2NfY19fY19fX19fX19c=
</value>
</data>
</root>
+859
View File
@@ -0,0 +1,859 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormAlert : System.Windows.Forms.Form
{
#region Constants
private const int SPLASH_INDEX = 4;
#endregion
#region Control Declarations
private System.Windows.Forms.Label lblText;
private System.Windows.Forms.Button btn1;
private System.Windows.Forms.Button btn2;
private System.Windows.Forms.ImageList ilImages;
private System.Windows.Forms.Timer tmrTick;
private System.ComponentModel.IContainer components;
#endregion
#region Methods
private FormAlert()
{
InitializeComponent();
}
public FormAlert(string title, string text, string button1Text, DialogResult button1Result,
string button2Text, DialogResult button2Result, string[] args): this()
{
Graphics g = this.CreateGraphics();
char sepChar = Environment.NewLine == "\r" ? '\r' : '\n';
// Replace any variables.
if (args != null)
{
title = Functions.StringVars(title, args);
text = Functions.StringVars(text, args);
}
// Size the text label.
string[] lines = text.Split(new char[] { sepChar });
for (int i = 0; i < lines.Length; i++)
{
string origLine = lines[i];
int space = 0;
int nextSpace;
while (lines[i].Length - space > 80 &&
(nextSpace = lines[i].Substring(space, Math.Min(lines[i].Length - space, 80)).LastIndexOf(' ')) >= 0)
{
space += nextSpace;
lines[i] = lines[i].Remove(space, 1);
lines[i] = lines[i].Insert(space, Environment.NewLine);
space++;
}
if (lines[i] != origLine)
{
text = text.Replace(origLine, lines[i]);
lines = text.Split(new char[] { sepChar });
}
int width = (int)Math.Ceiling(g.MeasureString(lines[i].Trim(), this.Font).Width);
if (width > lblText.Width)
lblText.Width = width;
}
lblText.Text = text;
lblText.Height = 13 * lines.Length;
// Size the buttons.
int btnWidth = 0;
btn1.Text = button1Text;
btn1.DialogResult = button1Result;
btn1.Width = Math.Max((int)Math.Ceiling(g.MeasureString(btn1.Text, this.Font).Width) + 10, 40);
btnWidth = btn1.Width;
if (button2Text != null)
{
btn2.Text = button2Text;
btn2.Width = Math.Max((int)Math.Ceiling(g.MeasureString(btn2.Text, this.Font).Width) + 10, 40);
btn2.Visible = true;
btn2.DialogResult = button2Result;
btnWidth += btn2.Width + 6;
}
// Size the form.
this.Width = Math.Max(btnWidth, lblText.Width) + 16;
this.Height = lblText.Height + 75;
// Locate the controls.
lblText.Left = (this.Width - lblText.Width) / 2;
btn1.Top = lblText.Height + 19;
btn1.Left = (this.Width - btnWidth) / 2;
btn2.Top = btn1.Top;
btn2.Left = btn1.Left + btn1.Width + 6;
// Set the title.
this.Text = title;
}
public FormAlert(string title, int imageIndex): this()
{
// Make sure the extra controls are hidden.
lblText.Visible = false;
btn2.Visible = false;
// Move btn1 off-screen.
btn1.Left = -btn1.Width;
btn1.Top = -btn1.Height;
AcceptButton = btn1;
CancelButton = btn1;
// Set the background image.
BackgroundImage = ilImages.Images[imageIndex];
ClientSize = (new SizeF(BackgroundImage.Width, BackgroundImage.Height)).ToSize();
// Set the title.
this.Text = title;
// If this is the splash screen, get rid of the title bar and start the timer.
if (imageIndex == SPLASH_INDEX)
{
this.FormBorderStyle = FormBorderStyle.None;
tmrTick.Start();
}
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(FormAlert));
this.lblText = new System.Windows.Forms.Label();
this.btn1 = new System.Windows.Forms.Button();
this.btn2 = new System.Windows.Forms.Button();
this.ilImages = new System.Windows.Forms.ImageList(this.components);
this.tmrTick = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
//
// lblText
//
this.lblText.Location = new System.Drawing.Point(8, 8);
this.lblText.Name = "lblText";
this.lblText.Size = new System.Drawing.Size(12, 13);
this.lblText.TabIndex = 3;
this.lblText.Text = "X";
//
// btn1
//
this.btn1.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btn1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn1.Location = new System.Drawing.Point(115, 32);
this.btn1.Name = "btn1";
this.btn1.Size = new System.Drawing.Size(40, 22);
this.btn1.TabIndex = 1;
this.btn1.Text = "Ok";
//
// btn2
//
this.btn2.DialogResult = System.Windows.Forms.DialogResult.No;
this.btn2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn2.Location = new System.Drawing.Point(200, 32);
this.btn2.Name = "btn2";
this.btn2.Size = new System.Drawing.Size(40, 22);
this.btn2.TabIndex = 2;
this.btn2.Text = "No";
this.btn2.Visible = false;
//
// ilImages
//
this.ilImages.ColorDepth = System.Windows.Forms.ColorDepth.Depth24Bit;
this.ilImages.ImageSize = new System.Drawing.Size(160, 160);
this.ilImages.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilImages.ImageStream")));
this.ilImages.TransparentColor = System.Drawing.Color.Empty;
//
// tmrTick
//
this.tmrTick.Interval = 4000;
this.tmrTick.Tick += new System.EventHandler(this.tmrTick_Tick);
//
// FormAlert
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(270, 63);
this.ControlBox = false;
this.Controls.Add(this.btn2);
this.Controls.Add(this.btn1);
this.Controls.Add(this.lblText);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormAlert";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Title";
this.Click += new System.EventHandler(this.FormAlert_Click);
this.ResumeLayout(false);
}
#endregion
public static DialogResult Alert(AlertType type, IWin32Window owner)
{
return Alert(type, owner, new string[] {});
}
public static DialogResult Alert(AlertType type, IWin32Window owner, string var1)
{
return Alert(type, owner, new string[] { var1 });
}
public static DialogResult Alert(AlertType type, IWin32Window owner, string var1, string var2)
{
return Alert(type, owner, new string[] { var1, var2 });
}
public static DialogResult Alert(AlertType type, IWin32Window owner, string var1, string var2, string var3)
{
return Alert(type, owner, new string[] { var1, var2, var3 });
}
public static DialogResult Alert(AlertType type, IWin32Window owner, string[] args)
{
DialogResult result = DialogResult.None;
if (args.Length == 0)
args = null;
switch (type)
{
case AlertType.Alert:
result = (new FormAlert("^1", "^2", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.AntidoteOnBoard:
result = (new FormAlert("Antidote", "Ten of your cargo bays now contain antidote for the Japori system.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.AntidoteDestroyed:
result = (new FormAlert("Antidote Destroyed", "The antidote for the Japori system has been destroyed with your ship. You should return to ^1 and get some more.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.AntidoteTaken:
result = (new FormAlert("Antidote Taken", "The Space Corps removed the antidote for Japori from your ship and delivered it, fulfilling your assignment.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.AppStart:
(new FormAlert("Space Trader for Windows", SPLASH_INDEX)).ShowDialog(owner);
break;
case AlertType.ArrivalBuyNewspaper:
result = (new FormAlert("Buy Newspaper?", "The local newspaper costs ^1. Do you wish to buy a copy?", "Buy Newspaper", DialogResult.Yes, "Cancel", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.ArrivalIFFuel:
result = (new FormAlert("No Full Tanks", "You do not have enough money to buy full tanks.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ArrivalIFFuelRepairs:
result = (new FormAlert("Not Enough Money", "You don't have enough money to get a full tank or full hull repairs.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ArrivalIFNewspaper:
result = (new FormAlert("Can't Afford it!", "Sorry! A newspaper costs ^1 in this system. You don't have enough money!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ArrivalIFRepairs:
result = (new FormAlert("No Full Repairs", "You don't have enough money to get your hull fully repaired.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ArtifactLost:
result = (new FormAlert("Artifact Lost", "The alien artifact has been lost in the wreckage of your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ArtifactRelinquished:
result = (new FormAlert("Artifact Relinquished", "The aliens take the artifact from you.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.CargoIF:
result = (new FormAlert("Not Enough Money", "You don't have enough money to spend on any of these goods.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.CargoNoEmptyBays:
result = (new FormAlert("No Empty Bays", "You don't have any empty cargo holds available at the moment", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.CargoNoneAvailable:
result = (new FormAlert("Nothing Available", "None of these goods are available.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.CargoNoneToSell:
result = (new FormAlert("None To ^1", "You have none of these goods in your cargo bays.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.CargoNotInterested:
result = (new FormAlert("Not Interested", "Nobody in this system is interested in buying these goods.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.CargoNotSold:
result = (new FormAlert("Not Available", "That item is not available in this system.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ChartJump:
result = (new FormAlert("Use Singularity?", "Do you wish to use the Portable Singularity to transport immediately to ^1?", "Use Singularity", DialogResult.Yes, "Don't use it", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.ChartJumpCurrent:
result = (new FormAlert("Cannot Jump", "You are tracking the system where you are currently located. It's useless to jump to your current location.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ChartJumpNoSystemSelected:
result = (new FormAlert("No System Selected", "To use the Portable Singularity, track a system before clicking on this button.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ChartTrackSystem:
result = (new FormAlert("Track System?", "^1?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.ChartWormholeUnreachable:
result = (new FormAlert("Wormhole Unreachable", "The wormhole to ^1 is only accessible from ^2.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.Cheater:
result = (new FormAlert("Cheater!", "Cheaters never prosper! (Well, not with that command, anyway.)", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.CrewFireMercenary:
result = (new FormAlert("Fire Mercenary", "Are you sure you wish to fire ^1?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.CrewNoQuarters:
result = (new FormAlert("No Quarters Available", "You do not have any crew quarters available for ^1.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.DebtNoBuy:
result = (new FormAlert("You Have A Debt", "You can't buy that as long as you have debts.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.DebtNone:
result = (new FormAlert("No Debt", "You have no debts.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.DebtReminder:
result = (new FormAlert("Loan Notification", "The Bank's Loan Officer reminds you that your debt continues to accrue interest. You currently owe ^1.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.DebtTooLargeGrounded:
result = (new FormAlert("Large Debt", "Your debt is too large. You are not allowed to leave this system until your debt is lowered.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.DebtTooLargeLoan:
result = (new FormAlert("Debt Too High", "Your debt is too high to get another loan.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.DebtTooLargeTrade:
result = (new FormAlert("Large Debt", "Your debt is too large. Nobody will trade with you.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.DebtWarning:
result = (new FormAlert("Warning: Large Debt", "Your debt is getting too large. Reduce it quickly or your ship will be put on a chain!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.Egg:
result = (new FormAlert("Egg", "Congratulations! An eccentric Easter Bunny decides to exchange your trade goods for a special present!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterAliensSurrender:
result = (new FormAlert("Surrender", "If you surrender to the aliens, they will take the artifact. Are you sure you wish to do that?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterArrested:
result = (new FormAlert("Arrested", "You are arrested and taken to the space station, where you are brought before a court of law.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterAttackCaptain:
result = (new FormAlert("Really Attack?", "Famous Captains get famous by, among other things, destroying everyone who attacks them. Do you really want to attack?", "Really Attack", DialogResult.Yes, "OK, I Won't", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterAttackNoDisruptors:
result = (new FormAlert("No Disabling Weapons", "You have no disabling weapons! You would only be able to destroy your opponent, which would defeat the purpose of your quest.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterAttackNoLasers:
result = (new FormAlert("No Hull-Damaging Weapons", "You only have disabling weapons, but your opponent cannot be disabled!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterAttackNoWeapons:
result = (new FormAlert("No Weapons", "You can't attack without weapons!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterAttackPolice:
result = (new FormAlert("Attack Police", "Are you sure you wish to attack the police? This will turn you into a criminal!", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterAttackTrader:
result = (new FormAlert("Attack Trader", "Are you sure you wish to attack the trader? This will immediately set your police record to dubious!", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterBothDestroyed:
result = (new FormAlert("Both Destroyed", "You and your opponent have managed to destroy each other.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterDisabledOpponent:
result = (new FormAlert("Opponent Disabled", "You have disabled your opponent. Without life support they'll have to hibernate. You notify Space Corps, and they come and tow the ^1 to the planet, where the crew is revived and then arrested. ^2", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterDrinkContents:
result = (new FormAlert("Drink Contents?", "You have come across an extremely rare bottle of Captain Marmoset's Amazing Skill Tonic! The \"use-by\" date is illegible, but might still be good. Would you like to drink it?", "Yes, Drink It", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterDumpAll:
result = (new FormAlert("Dump All?", "You paid ^1 credits for these items. Are you sure you want to just dump them?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterDumpWarning:
Game.CurrentGame.LitterWarning = true;
result = (new FormAlert("Space Littering", "Dumping cargo in space is considered littering. If the police find your dumped goods and track them to you, this will influence your record. Do you really wish to dump?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterEscaped:
result = (new FormAlert("Escaped", "You have managed to escape your opponent.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterEscapedHit:
result = (new FormAlert("You Escaped", "You got hit, but still managed to escape.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterEscapePodActivated:
result = (new FormAlert("Escape Pod Activated", "Just before the final demise of your ship, your escape pod gets activated and ejects you. After a few days, the Space Corps picks you up and drops you off at a nearby space port.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterLooting:
result = (new FormAlert("Looting", "The pirates board your ship and transfer as much of your cargo to their own ship as their cargo bays can hold.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterMarieCeleste:
result = (new FormAlert("Engage Marie Celeste", "The ship is empty: there is nothing in the ship's log, but the crew has vanished, leaving food on the tables and cargo in the holds. Do you wish to offload the cargo to your own holds? ", "Yes, Take Cargo", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterMarieCelesteNoBribe:
result = (new FormAlert("No Bribe", "We'd love to take your money, but Space Command already knows you've got illegal goods onboard.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterOpponentEscaped:
result = (new FormAlert("Opponent Escaped", "Your opponent has managed to escape.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPiratesBounty:
result = (new FormAlert("Bounty", "You ^1 the pirate ship^2 and earned a bounty of ^3.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPiratesExamineReactor:
result = (new FormAlert("Pirates Examine Reactor", "The pirates poke around the Ion Reactor while trying to figure out if it's valuable. They finally conclude that the Reactor is worthless, not to mention dangerous, and leave it on your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPiratesFindNoCargo:
result = (new FormAlert("Pirates Find No Cargo", "The pirates are very angry that they find no cargo on your ship. To stop them from destroying you, you have no choice but to pay them an amount equal to 5% of your current worth - ^1.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPiratesSurrenderPrincess:
result = (new FormAlert("You Have the Princess", "Pirates are not nice people, and there's no telling what they might do to the Princess. Better to die fighting than give her up to them!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPiratesTakeSculpture:
result = (new FormAlert("Pirates Take Sculpture", "As the pirates ransack your ship, they find the stolen sculpture. \"This is worth thousands!\" one pirate exclaims, as he stuffs it into his pack.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPoliceBribe:
result = (new FormAlert("Bribe", "These police officers are willing to forego inspection for the amount of ^1.", "Offer Bribe", DialogResult.Yes, "Forget It", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterPoliceBribeCant:
result = (new FormAlert("No Bribe", "These police officers can't be bribed.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPoliceBribeLowCash:
result = (new FormAlert("Not Enough Cash", "You don't have enough cash for a bribe.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPoliceFine:
result = (new FormAlert("Caught", "The police discovers illegal goods in your cargo holds. These goods impounded and you are fined ^1 credits.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPoliceNothingFound:
result = (new FormAlert("Nothing Found", "The police find nothing illegal in your cargo holds, and apologize for the inconvenience.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPoliceNothingIllegal:
result = (new FormAlert("You Have Nothing Illegal", "Are you sure you want to do that? You are not carrying illegal goods, so you have nothing to fear!", "Yes, I still want to", DialogResult.Yes, "OK, I won't", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterPoliceSubmit:
result = (new FormAlert("You Have Illegal Goods", "Are you sure you want to let the police search you? You are carrying ^1! ^2", "Yes, let them", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterPoliceSurrender:
result = (new FormAlert("Surrender", "^1If you surrender, you will spend some time in prison and will have to pay a hefty fine. ^2Are you sure you want to do that?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterPostMarie:
result = (new FormAlert("Contraband Removed", "The Customs Police confiscated all of your illegal cargo, but since you were cooperative, you avoided stronger fines or penalties.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterPostMarieFlee:
result = (new FormAlert("Criminal Act!", "Are you sure you want to do that? The Customs Police know you have engaged in criminal activity, and will report it!", "Yes, I still want to", DialogResult.Yes, "OK, I won't", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterScoop:
result = (new FormAlert("Scoop Canister", "A canister from the destroyed ship, labeled ^1, drifts within range of your scoops.", "Pick It Up", DialogResult.Yes, "Let It Go", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterScoopNoRoom:
result = (new FormAlert("No Room To Scoop", "You don't have any room in your cargo holds. Do you wish to jettison goods to make room, or just let it go.", "Make Room", DialogResult.Yes, "Let it go", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EncounterScoopNoScoop:
result = (new FormAlert("No Scoop", "You regret finding nothing in your holds that can be dumped, and let the canister go.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterSurrenderRefused:
result = (new FormAlert("To The Death!", "Surrender? Hah! We want your HEAD!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterTonicConsumedGood:
result = (new FormAlert("Tonic Consumed", "Mmmmm. Captain Marmoset's Amazing Skill Tonic not only fills you with energy, but tastes like a fine single-malt." + Environment.NewLine, "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterTonicConsumedStrange:
result = (new FormAlert("Tonic Consumed", "While you don't know what it was supposed to taste like, you get the feeling that this dose of tonic was a bit off.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterTradeCompleted:
result = (new FormAlert("Trade Completed", "Thanks for ^1 the ^2. It's been a pleasure doing business with you.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterYouLose:
result = (new FormAlert("You Lose", "Your ship has been destroyed by your opponent.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EncounterYouWin:
result = (new FormAlert("You Win", "You have destroyed your opponent.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentAlreadyOwn:
result = (new FormAlert("You Already Have One", "It's not useful to buy more than one of this item.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentBuy:
result = (new FormAlert("Buy ^1", "Do you wish to buy this item for ^2 credits?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EquipmentEscapePod:
result = (new FormAlert("Escape Pod", "Do you want to buy an escape pod for 2000 credits?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.EquipmentExtraBaysInUse:
result = (new FormAlert("Cargo Bays Full", "The extra cargo bays are still filled with goods. You can only sell them when they're empty.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentFuelCompactor:
result = (new FormAlert("Fuel Compactor", "You now have a fuel compactor installed on your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentHiddenCompartments:
result = (new FormAlert("Hidden Compartments", "You now have hidden compartments equivalent to 5 extra cargo bays installed in your ship. Police won't find illegal cargo hidden in these compartments.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentIF:
result = (new FormAlert("Not Enough Money", "You don't have enough money to spend on this item.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentLightningShield:
result = (new FormAlert("Lightning Shield", "You now have one lightning shield installed on your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentMorgansLaser:
result = (new FormAlert("Morgan's Laser", "You now have Henry Morgan's special laser installed on your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentNotEnoughSlots:
result = (new FormAlert("Not Enough Slots", "You have already filled all of your available slots for this type of item.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentQuantumDisruptor:
result = (new FormAlert("Quantum Disruptor", "You now have one quantum disruptor installed on your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.EquipmentSell:
result = (new FormAlert("Sell Item", "Are you sure you want to sell this item?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.FileErrorOpen:
result = (new FormAlert("Error", "An error occurred while trying to open ^1." + Environment.NewLine + Environment.NewLine + "^2", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.FileErrorSave:
result = (new FormAlert("Error", "An error occurred while trying to save ^1." + Environment.NewLine + Environment.NewLine + "^2", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.FleaBuilt:
result = (new FormAlert("Flea Built", "In 3 days and with 500 credits, you manage to convert your pod into a Flea.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.GameAbandonConfirm:
result = (new FormAlert("Are You Sure?", "Are you sure you want to abandon your current game?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.GameClearHighScores:
result = (new FormAlert("Clear High Scores", "Are you sure you wish to clear the high score table?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.GameEndBoughtMoon:
(new FormAlert("You Have Retired", (int)GameEndType.BoughtMoon)).ShowDialog(owner);
break;
case AlertType.GameEndBoughtMoonGirl:
(new FormAlert("You Have Retired with the Princess", (int)GameEndType.BoughtMoonGirl)).ShowDialog(owner);
break;
case AlertType.GameEndHighScoreAchieved:
result = (new FormAlert("Congratulations!", "You have made the high-score list!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.GameEndHighScoreCheat:
result = (new FormAlert("Naughy, Naughty!", "You would have made the high-score list if you weren't a Cheat!.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.GameEndHighScoreMissed:
result = (new FormAlert("Sorry", "Alas! This is not enough to enter the high-score list.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.GameEndKilled:
(new FormAlert("You Are Dead", (int)GameEndType.Killed)).ShowDialog(owner);
break;
case AlertType.GameEndRetired:
(new FormAlert("You Have Retired", (int)GameEndType.Retired)).ShowDialog(owner);
break;
case AlertType.GameEndScore:
result = (new FormAlert("Score", "You achieved a score of ^1.^2%.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.GameRetire:
result = (new FormAlert("Retire", "Are you sure you wish to retire?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.InsuranceNoEscapePod:
result = (new FormAlert("No Escape Pod", "Insurance isn't useful for you, since you don't have an escape pod.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.InsurancePayoff:
result = (new FormAlert("Insurance", "Since your ship was insured, the bank pays you the total worth of the destroyed ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.InsuranceStop:
result = (new FormAlert("Stop Insurance", "Do you really wish to stop your insurance and lose your no-claim?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.JailConvicted:
result = (new FormAlert("Convicted", "You are convicted to ^1 in prison and a fine of ^2.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.JailFleaReceived:
result = (new FormAlert("Flea Received", "When you leave prison, the police have left a second-hand Flea for you so you can continue your travels.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.JailHiddenCargoBaysRemoved:
result = (new FormAlert("Hidden Compartments Removed", "When your ship is impounded, the police go over it with a fine-toothed comb. You hidden compartments are found and removed.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.JailIllegalGoodsImpounded:
result = (new FormAlert("Illegal Goods Impounded", "The police also impound all of the illegal goods you have on board.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.JailInsuranceLost:
result = (new FormAlert("Insurance Lost", "Since you cannot pay your insurance while you're in prison, it is retracted.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.JailMercenariesLeave:
result = (new FormAlert("Mercenaries Leave", "Any mercenaries who were traveling with you have left.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.JailShipSold:
result = (new FormAlert("Ship Sold", "Because you don't have the credits to pay your fine, your ship is sold.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.JarekTakenHome:
result = (new FormAlert("Jarek Taken Home", "The Space Corps decides to give ambassador Jarek a lift home to Devidia.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.LeavingIFInsurance:
result = (new FormAlert("Not Enough Money", "You don't have enough cash to pay for your insurance.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.LeavingIFMercenaries:
result = (new FormAlert("Pay Mercenaries", "You don't have enough cash to pay your mercenaries to come with you on this trip. Fire them or make sure you have enough cash.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.LeavingIFWormholeTax:
result = (new FormAlert("Wormhole Tax", "You don't have enough money to pay for the wormhole tax.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.MeetCaptainAhab:
result = (new FormAlert("Meet Captain Ahab", "Captain Ahab is in need of a spare shield for an upcoming mission. He offers to trade you some piloting lessons for your reflective shield. Do you wish to trade?", "Yes, Trade Shield", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.MeetCaptainConrad:
result = (new FormAlert("Meet Captain Conrad", "Captain Conrad is in need of a military laser. She offers to trade you some engineering training for your military laser. Do you wish to trade?", "Yes, Trade Laser", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.MeetCaptainHuie:
result = (new FormAlert("Meet Captain Huie", "Captain Huie is in need of a military laser. She offers to exchange some bargaining training for your military laser. Do you wish to trade?", "Yes, Trade Laser", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.NewGameConfirm:
result = (new FormAlert("New Game", "Are you sure you wish to start a new game?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.NewGameMoreSkillPoints:
result = (new FormAlert("More Skill Points", "You haven't awarded all 20 skill points yet.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.OptionsNoGame:
result = (new FormAlert("No Game Active", "You don't have a game open, so you can only change the default options.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.PreciousHidden:
result = (new FormAlert("Precious Cargo Hidden", "You quickly hide ^1 in your hidden cargo bays before the pirates board your ship. This would never work with the police, but pirates are usually in more of a hurry.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.PrincessTakenHome:
result = (new FormAlert("Princess Taken Home", "The Space Corps decides to give the Princess a ride home to Galvon since you obviously weren't up to the task.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ReactorConfiscated:
result = (new FormAlert("Police Confiscate Reactor", "The Police confiscate the Ion reactor as evidence of your dealings with unsavory characters.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ReactorDestroyed:
result = (new FormAlert("Reactor Destroyed", "The destruction of your ship was made much more spectacular by the added explosion of the Ion Reactor.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ReactorOnBoard:
result = (new FormAlert("Reactor", "Five of your cargo bays now contain the unstable Ion Reactor, and ten of your bays contain enriched fuel.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ReactorMeltdown:
result = (new FormAlert("Reactor Meltdown!", "Just as you approach the docking bay, the reactor explodes into a huge radioactive fireball!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ReactorWarningFuel:
result = (new FormAlert("Reactor Warning", "You notice the Ion Reactor has begun to consume fuel rapidly. In a single day, it has burned up nearly half a bay of fuel!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ReactorWarningFuelGone:
result = (new FormAlert("Reactor Warning", "The Ion Reactor is emitting a shrill whine, and it's shaking. The display indicates that it is suffering from fuel starvation.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ReactorWarningTemp:
result = (new FormAlert("Reactor Warning", "The Ion Reactor is smoking and making loud noises. The display warns that the core is close to the melting temperature.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.RegistryError:
result = (new FormAlert("Error...", "Error accessing the Registry: ^1", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SculptureConfiscated:
result = (new FormAlert("Police Confiscate Sculpture", "The Police confiscate the stolen sculpture and return it to its rightful owner.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SculptureSaved:
result = (new FormAlert("Sculpture Saved", "On your way to the escape pod, you grab the stolen sculpture. Oh well, at least you saved something.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyConfirm:
result = (new FormAlert("Buy New Ship", "Are you sure you wish to trade in your ^1 for a new ^2^3?", "Yes", DialogResult.Yes, "No", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyCrewQuarters:
result = (new FormAlert("Too Many Crewmembers", "The new ship you picked doesn't have enough quarters for all of your crewmembers. First you will have to fire one or more of them.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyIF:
result = (new FormAlert("Not Enough Money", "You don't have enough money to buy this ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyIFTransfer:
result = (new FormAlert("Not Enough Money", "You won't have enough money to buy this ship and pay the cost to transfer all of your unique equipment. You should choose carefully which items you wish to transfer!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyNoSlots:
result = (new FormAlert("Can't Transfer Item", "If you trade your ship in for a ^1, you won't be able to transfer your ^2 because the new ship has insufficient ^3 slots!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyNotAvailable:
result = (new FormAlert("Ship Not Available", "That type of ship is not available in the current system.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyNoTransfer:
result = (new FormAlert("Can't Transfer Item", "Unfortunately, if you make this trade, you won't be able to afford to transfer your ^1 to the new ship!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyPassengerQuarters:
result = (new FormAlert("Passenger Needs Quarters", "You must get a ship with enough crew quarters so that ^1 can stay on board.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyReactor:
result = (new FormAlert("Shipyard Engineer", "Sorry! We can't take your ship as a trade-in. That Ion Reactor looks dangerous, and we have no way of removing it. Come back when you've gotten rid of it.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipBuyTransfer:
result = (new FormAlert("Transfer ^1", "I'll transfer your ^2 to your new ship for ^3 credits.", "Do it!", DialogResult.Yes, "No thanks", DialogResult.No, args)).ShowDialog(owner);
break;
case AlertType.ShipDesignIF:
result = (new FormAlert("Not Enough Money", "You don't have enough money to create this design.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipDesignThanks:
result = (new FormAlert("Thank you!", "^1 thanks you for your business!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.ShipHullUpgraded:
result = (new FormAlert("Hull Upgraded", "Technicians spend the day retrofitting the hull of your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialCleanRecord:
result = (new FormAlert("Clean Record", "The hacker resets your police record to Clean.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialExperimentPerformed:
result = (new FormAlert("Experiment Performed", "The galaxy is abuzz with news of a terrible malfunction in Dr. Fehler's laboratory. Evidently, he was not warned in time and he performed his experiment... with disastrous results!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialIF:
result = (new FormAlert("Not Enough Money", "You don't have enough cash to spend to accept this offer.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialMoonBought:
result = (new FormAlert("Moon Bought", "You bought a moon in the Utopia system. Go there to claim it.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialNoQuarters:
result = (new FormAlert("No Free Quarters", "There are currently no free crew quarters on your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialNotEnoughBays:
result = (new FormAlert("Not Enough Bays", "You don't have enough empty cargo bays at the moment.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialPassengerConcernedJarek:
result = (new FormAlert("Ship's Comm.", "Commander? Jarek here. Do you require any assitance in charting a course to Devidia?", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialPassengerConcernedPrincess:
result = (new FormAlert("Ship's Comm.", "[Ziyal] Oh Captain? (giggles) Would it help if I got out and pushed?", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialPassengerConcernedWild:
result = (new FormAlert("Ship's Comm.", "Bridge? This is Jonathan. Are we there yet? Heh, heh. Sorry, I couldn't resist.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialPassengerImpatientJarek:
result = (new FormAlert("Ship's Comm.", "Captain! This is the Ambassador speaking. We should have been there by now?!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialPassengerImpatientPrincess:
result = (new FormAlert("Ship's Comm.", "Sir! Are you taking me home or merely taking the place of my previous captors?!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialPassengerImpatientWild:
result = (new FormAlert("Ship's Comm.", "Commander! Wild here. What's taking us so long?!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialPassengerOnBoard:
result = (new FormAlert("Passenger On Board", "You have taken ^1 on board. While on board ^1 will lend you expertise, but may stop helping if the journey takes too long.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialSealedCanisters:
result = (new FormAlert("Sealed Canisters", "You bought the sealed canisters and put them in your cargo bays.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialSkillIncrease:
result = (new FormAlert("Skill Increase", "The alien increases one of your skills. ", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialTimespaceFabricRip:
result = (new FormAlert("Timespace Fabric Rip", "You have flown through a tear in the timespace continuum caused by Dr. Fehler's failed experiment. You may not have reached" + Environment.NewLine + " your planned destination!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.SpecialTrainingCompleted:
result = (new FormAlert("Training Completed", "After a few hours of training with a top expert, you feel your abilities have improved significantly.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TravelArrival:
result = (new FormAlert("Arrival", "You arrive at your destination.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TravelUneventfulTrip:
result = (new FormAlert("Uneventful Trip", "After an uneventful trip, you arrive at your destination.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesAllDied:
result = (new FormAlert("All The Tribbles Died", "The radiation from the Ion Reactor is deadly to Tribbles. All of the Tribbles on board your ship have died.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesAteFood:
result = (new FormAlert("Tribbles Ate Food", "You find that, instead of food, some of your cargo bays contain only tribbles!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesGone:
result = (new FormAlert("No More Tribbles", "The alien uses his alien technology to beam over your whole collection of tribbles to his ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesHalfDied:
result = (new FormAlert("Half The Tribbles Died", "The radiation from the Ion Reactor seems to be deadly to Tribbles. Half the Tribbles on board died.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesKilled:
result = (new FormAlert("Tribbles Killed", "Your tribbles all died in the explosion.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesMostDied:
result = (new FormAlert("Most Tribbles Died", "You find that, instead of narcotics, some of your cargo bays contain only dead tribbles!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesOwn:
result = (new FormAlert("A Tribble", "You are now the proud owner of a little, cute, furry tribble.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesRemoved:
result = (new FormAlert("Tribbles Removed", "The tribbles were sold with your ship.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesInspector:
result = (new FormAlert("Space Port Inspector", "Our scan reports you have ^1 tribbles on board your ship. Tribbles are pests worse than locusts! You are running the risk of getting a hefty fine!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesSqueek:
result = (new FormAlert("A Tribble", "Squeek!", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.TribblesTradeIn:
result = (new FormAlert("You've Got Tribbles", "Hm. I see you got a tribble infestation on your current ship. I'm sorry, but that severely reduces the trade-in price.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.WildArrested:
result = (new FormAlert("Wild Arrested", "Jonathan Wild is arrested, and taken away to stand trial.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.WildChatsPirates:
result = (new FormAlert("Wild Chats With Pirates", "The Pirate Captain turns out to be an old associate of Jonathan Wild's. They talk about old times, and you get the feeling that Wild would switch ships if the Pirates had any quarters available.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.WildGoesPirates:
result = (new FormAlert("Wild Goes With Pirates", "The Pirate Captain turns out to be an old associate of Jonathan Wild's, and invites him to go to Kravat aboard the Pirate ship. Wild accepts the offer and thanks you for the ride.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.WildLeavesShip:
result = (new FormAlert("Wild Leaves Ship", "Jonathan Wild leaves your ship, and goes into hiding on ^1.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.WildSculpture:
result = (new FormAlert("Wild Eyes Sculpture", "Jonathan Wild sees the stolen sculpture. \"Wow, I only know of one of these left in the whole Universe!\" he exclaims, \"Geurge Locas must be beside himself with it being stolen.\" He seems very impressed with you, which makes you feel much better about the item your delivering.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.WildWontBoardLaser:
result = (new FormAlert("Wild Won't Board Ship", "Jonathan Wild isn't willing to go with you if you're not armed with at least a Beam Laser. He'd rather take his chances hiding out here." + Environment.NewLine, "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.WildWontBoardReactor:
result = (new FormAlert("Wild Won't Board Ship", "Jonathan Wild doesn't like the looks of that Ion Reactor. He thinks it's too dangerous, and won't get on board.", "Ok", DialogResult.OK, null, DialogResult.None, args)).ShowDialog(owner);
break;
case AlertType.WildWontStayAboardLaser:
result = (new FormAlert("Wild Won't Stay Aboard", "Jonathan Wild isn't about to go with you if you're not armed with at least a Beam Laser. He'd rather take his chances hiding out here on ^1." + Environment.NewLine, "Say Goodbye to Wild", DialogResult.OK, "Cancel", DialogResult.Cancel, args)).ShowDialog(owner);
break;
case AlertType.WildWontStayAboardReactor:
result = (new FormAlert("Wild Won't Stay Aboard", "Jonathan Wild isn't willing to go with you if you bring that Reactor on board. He'd rather take his chances hiding out here on ^1." + Environment.NewLine, "Say Goodbye to Wild", DialogResult.OK, "Cancel", DialogResult.Cancel, args)).ShowDialog(owner);
break;
}
return result;
}
#endregion
#region Event Handlers
private void FormAlert_Click(object sender, System.EventArgs e)
{
// If the button is off-screen, this is an image and can be clicked away.
if (btn1.Left < 0)
Close();
}
private void tmrTick_Tick(object sender, System.EventArgs e)
{
this.Close();
}
#endregion
}
}
File diff suppressed because it is too large. Load diff
+193
View File
@@ -0,0 +1,193 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormBuyFuel : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Label lblQuestion;
private System.Windows.Forms.Button btnMax;
private System.Windows.Forms.Button btnNothing;
private System.Windows.Forms.NumericUpDown numAmount;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormBuyFuel()
{
InitializeComponent();
Commander cmdr = game.Commander;
numAmount.Maximum = Math.Min(cmdr.Cash, (cmdr.Ship.FuelTanks - cmdr.Ship.Fuel) * cmdr.Ship.FuelCost);
numAmount.Value = numAmount.Maximum;
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblQuestion = new System.Windows.Forms.Label();
this.numAmount = new System.Windows.Forms.NumericUpDown();
this.btnOk = new System.Windows.Forms.Button();
this.btnMax = new System.Windows.Forms.Button();
this.btnNothing = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.numAmount)).BeginInit();
this.SuspendLayout();
//
// lblQuestion
//
this.lblQuestion.AutoSize = true;
this.lblQuestion.Location = new System.Drawing.Point(8, 8);
this.lblQuestion.Name = "lblQuestion";
this.lblQuestion.Size = new System.Drawing.Size(211, 13);
this.lblQuestion.TabIndex = 3;
this.lblQuestion.Text = "How much do you want to spend on fuel?";
//
// numAmount
//
this.numAmount.Location = new System.Drawing.Point(216, 6);
this.numAmount.Maximum = new System.Decimal(new int[] {
999,
0,
0,
0});
this.numAmount.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numAmount.Name = "numAmount";
this.numAmount.Size = new System.Drawing.Size(44, 20);
this.numAmount.TabIndex = 1;
this.numAmount.Value = new System.Decimal(new int[] {
888,
0,
0,
0});
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(61, 32);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(41, 22);
this.btnOk.TabIndex = 2;
this.btnOk.Text = "Ok";
//
// btnMax
//
this.btnMax.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnMax.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnMax.Location = new System.Drawing.Point(109, 32);
this.btnMax.Name = "btnMax";
this.btnMax.Size = new System.Drawing.Size(41, 22);
this.btnMax.TabIndex = 3;
this.btnMax.Text = "Max";
this.btnMax.Click += new System.EventHandler(this.btnMax_Click);
//
// btnNothing
//
this.btnNothing.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnNothing.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnNothing.Location = new System.Drawing.Point(157, 32);
this.btnNothing.Name = "btnNothing";
this.btnNothing.Size = new System.Drawing.Size(53, 22);
this.btnNothing.TabIndex = 4;
this.btnNothing.Text = "Nothing";
//
// FormBuyFuel
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnNothing;
this.ClientSize = new System.Drawing.Size(270, 63);
this.ControlBox = false;
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnNothing,
this.btnMax,
this.btnOk,
this.numAmount,
this.lblQuestion});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormBuyFuel";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Buy Fuel";
((System.ComponentModel.ISupportInitialize)(this.numAmount)).EndInit();
this.ResumeLayout(false);
}
#endregion
#endregion
#region Event Handlers
private void btnMax_Click(object sender, System.EventArgs e)
{
numAmount.Value = numAmount.Maximum;
}
#endregion
#region Properties
public int Amount
{
get
{
return (int)numAmount.Value;
}
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormBuyFuel</value>
</data>
</root>
@@ -0,0 +1,192 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormBuyRepairs : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Label lblQuestion;
private System.Windows.Forms.Button btnMax;
private System.Windows.Forms.Button btnNothing;
private System.Windows.Forms.NumericUpDown numAmount;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormBuyRepairs()
{
InitializeComponent();
Commander cmdr = game.Commander;
numAmount.Maximum = Math.Min(cmdr.Cash, (cmdr.Ship.HullStrength - cmdr.Ship.Hull) * cmdr.Ship.RepairCost);
numAmount.Value = numAmount.Maximum;
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblQuestion = new System.Windows.Forms.Label();
this.numAmount = new System.Windows.Forms.NumericUpDown();
this.btnOk = new System.Windows.Forms.Button();
this.btnMax = new System.Windows.Forms.Button();
this.btnNothing = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.numAmount)).BeginInit();
this.SuspendLayout();
//
// lblQuestion
//
this.lblQuestion.AutoSize = true;
this.lblQuestion.Location = new System.Drawing.Point(8, 8);
this.lblQuestion.Name = "lblQuestion";
this.lblQuestion.Size = new System.Drawing.Size(227, 13);
this.lblQuestion.TabIndex = 3;
this.lblQuestion.Text = "How much do you want to spend on repairs?";
//
// numAmount
//
this.numAmount.Location = new System.Drawing.Point(232, 6);
this.numAmount.Maximum = new System.Decimal(new int[] {
999,
0,
0,
0});
this.numAmount.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numAmount.Name = "numAmount";
this.numAmount.Size = new System.Drawing.Size(44, 20);
this.numAmount.TabIndex = 1;
this.numAmount.Value = new System.Decimal(new int[] {
888,
0,
0,
0});
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(69, 32);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(41, 22);
this.btnOk.TabIndex = 2;
this.btnOk.Text = "Ok";
//
// btnMax
//
this.btnMax.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnMax.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnMax.Location = new System.Drawing.Point(117, 32);
this.btnMax.Name = "btnMax";
this.btnMax.Size = new System.Drawing.Size(41, 22);
this.btnMax.TabIndex = 3;
this.btnMax.Text = "Max";
//
// btnNothing
//
this.btnNothing.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnNothing.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnNothing.Location = new System.Drawing.Point(165, 32);
this.btnNothing.Name = "btnNothing";
this.btnNothing.Size = new System.Drawing.Size(53, 22);
this.btnNothing.TabIndex = 4;
this.btnNothing.Text = "Nothing";
//
// FormBuyRepairs
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnNothing;
this.ClientSize = new System.Drawing.Size(286, 63);
this.ControlBox = false;
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnNothing,
this.btnMax,
this.btnOk,
this.numAmount,
this.lblQuestion});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormBuyRepairs";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Hull Repair";
((System.ComponentModel.ISupportInitialize)(this.numAmount)).EndInit();
this.ResumeLayout(false);
}
#endregion
#endregion
#region Event Handlers
private void btnMax_Click(object sender, System.EventArgs e)
{
numAmount.Value = numAmount.Maximum;
}
#endregion
#region Properties
public int Amount
{
get
{
return (int)numAmount.Value;
}
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormBuyRepairs</value>
</data>
</root>
@@ -0,0 +1,271 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormCargoBuy : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Button btnAll;
private System.Windows.Forms.Button btnNone;
private System.Windows.Forms.Label lblQuestion;
private System.Windows.Forms.Label lblStatement;
private System.Windows.Forms.NumericUpDown numAmount;
private System.Windows.Forms.Label lblAvailable;
private System.Windows.Forms.Label lblAfford;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormCargoBuy(int item, int maxAmount, CargoBuyOp op)
{
InitializeComponent();
Commander cmdr = game.Commander;
numAmount.Maximum = maxAmount;
numAmount.Value = numAmount.Minimum;
this.Text = Functions.StringVars(Strings.CargoTitle, Strings.CargoBuyOps[(int)op],
Consts.TradeItems[item].Name);
lblQuestion.Text = Functions.StringVars(Strings.CargoBuyQuestion, Strings.CargoBuyOps[(int)op].ToLower());
switch (op)
{
case CargoBuyOp.BuySystem:
lblStatement.Text = Functions.StringVars(Strings.CargoBuyStatement,
Functions.FormatMoney(game.PriceCargoBuy[item]),
Functions.FormatNumber(maxAmount));
this.Height = btnOk.Top + btnOk.Height + 34;
break;
case CargoBuyOp.BuyTrader:
int afford = Math.Min(game.Commander.Cash / game.PriceCargoBuy[item],
game.Commander.Ship.FreeCargoBays);
if (afford < maxAmount)
numAmount.Maximum = afford;
lblStatement.Text = Functions.StringVars(Strings.CargoBuyStatementTrader, Consts.TradeItems[item].Name,
Functions.FormatMoney(game.PriceCargoBuy[item]));
lblAvailable.Text = Functions.StringVars(Strings.CargoBuyAvailable,
Functions.Multiples(game.Opponent.Cargo[item], Strings.CargoUnit));
lblAfford.Text = Functions.StringVars(Strings.CargoBuyAfford, Functions.Multiples(afford,
Strings.CargoUnit));
lblAvailable.Visible = true;
lblAfford.Visible = true;
btnOk.Top += 26;
btnAll.Top += 26;
btnNone.Top += 26;
lblQuestion.Top += 26;
numAmount.Top += 26;
break;
case CargoBuyOp.Plunder:
lblStatement.Text = Functions.StringVars(Strings.CargoBuyStatementSteal,
Functions.FormatNumber(game.Opponent.Cargo[item]));
this.Height = btnOk.Top + btnOk.Height + 34;
break;
}
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblQuestion = new System.Windows.Forms.Label();
this.lblStatement = new System.Windows.Forms.Label();
this.numAmount = new System.Windows.Forms.NumericUpDown();
this.btnOk = new System.Windows.Forms.Button();
this.btnAll = new System.Windows.Forms.Button();
this.btnNone = new System.Windows.Forms.Button();
this.lblAvailable = new System.Windows.Forms.Label();
this.lblAfford = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.numAmount)).BeginInit();
this.SuspendLayout();
//
// lblQuestion
//
this.lblQuestion.AutoSize = true;
this.lblQuestion.Location = new System.Drawing.Point(8, 24);
this.lblQuestion.Name = "lblQuestion";
this.lblQuestion.Size = new System.Drawing.Size(161, 16);
this.lblQuestion.TabIndex = 1;
this.lblQuestion.Text = "How many do you want to buy?";
//
// lblStatement
//
this.lblStatement.Location = new System.Drawing.Point(8, 8);
this.lblStatement.Name = "lblStatement";
this.lblStatement.Size = new System.Drawing.Size(326, 13);
this.lblStatement.TabIndex = 3;
this.lblStatement.Text = "The trader wants to sell Machines for the price of 8,888 cr. each.";
//
// numAmount
//
this.numAmount.Location = new System.Drawing.Point(168, 22);
this.numAmount.Maximum = new System.Decimal(new int[] {
999,
0,
0,
0});
this.numAmount.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numAmount.Name = "numAmount";
this.numAmount.Size = new System.Drawing.Size(44, 20);
this.numAmount.TabIndex = 1;
this.numAmount.Value = new System.Decimal(new int[] {
1,
0,
0,
0});
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(95, 48);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(41, 22);
this.btnOk.TabIndex = 2;
this.btnOk.Text = "Ok";
//
// btnAll
//
this.btnAll.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnAll.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAll.Location = new System.Drawing.Point(143, 48);
this.btnAll.Name = "btnAll";
this.btnAll.Size = new System.Drawing.Size(41, 22);
this.btnAll.TabIndex = 3;
this.btnAll.Text = "All";
this.btnAll.Click += new System.EventHandler(this.btnAll_Click);
//
// btnNone
//
this.btnNone.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnNone.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnNone.Location = new System.Drawing.Point(191, 48);
this.btnNone.Name = "btnNone";
this.btnNone.Size = new System.Drawing.Size(41, 22);
this.btnNone.TabIndex = 4;
this.btnNone.Text = "None";
//
// lblAvailable
//
this.lblAvailable.Location = new System.Drawing.Point(8, 21);
this.lblAvailable.Name = "lblAvailable";
this.lblAvailable.Size = new System.Drawing.Size(163, 13);
this.lblAvailable.TabIndex = 5;
this.lblAvailable.Text = "The trader has 88 units for sale.";
this.lblAvailable.Visible = false;
//
// lblAfford
//
this.lblAfford.Location = new System.Drawing.Point(8, 34);
this.lblAfford.Name = "lblAfford";
this.lblAfford.Size = new System.Drawing.Size(157, 13);
this.lblAfford.TabIndex = 6;
this.lblAfford.Text = "You can afford to buy 88 units.";
this.lblAfford.Visible = false;
//
// FormCargoBuy
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnNone;
this.ClientSize = new System.Drawing.Size(326, 105);
this.ControlBox = false;
this.Controls.Add(this.btnNone);
this.Controls.Add(this.btnAll);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.numAmount);
this.Controls.Add(this.lblQuestion);
this.Controls.Add(this.lblStatement);
this.Controls.Add(this.lblAfford);
this.Controls.Add(this.lblAvailable);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormCargoBuy";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Buy Xxxxxxxxxx";
((System.ComponentModel.ISupportInitialize)(this.numAmount)).EndInit();
this.ResumeLayout(false);
}
#endregion
#endregion
#region Event Handlers
private void btnAll_Click(object sender, System.EventArgs e)
{
numAmount.Value = numAmount.Maximum;
}
#endregion
#region Properties
public int Amount
{
get
{
return (int)numAmount.Value;
}
}
#endregion
}
}
@@ -0,0 +1,202 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblQuestion.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblQuestion.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestion.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblStatement.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblStatement.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblStatement.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="numAmount.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="numAmount.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="numAmount.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnOk.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnOk.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnOk.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnAll.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnAll.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnAll.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnNone.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnNone.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnNone.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblAvailable.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblAvailable.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblAvailable.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblAfford.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblAfford.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblAfford.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.Name">
<value>FormCargoBuy</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
@@ -0,0 +1,252 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormCargoSell : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Button btnAll;
private System.Windows.Forms.Button btnNone;
private System.Windows.Forms.Label lblStatement;
private System.Windows.Forms.Label lblQuestion;
private System.Windows.Forms.NumericUpDown numAmount;
private System.Windows.Forms.Label lblPaid;
private System.Windows.Forms.Label lblProfit;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormCargoSell(int item, int maxAmount, CargoSellOp op, int price)
{
InitializeComponent();
Commander cmdr = game.Commander;
int cost = cmdr.PriceCargo[item] / cmdr.Ship.Cargo[item];
numAmount.Maximum = maxAmount;
numAmount.Value = numAmount.Minimum;
this.Text = Functions.StringVars(Strings.CargoTitle, Strings.CargoSellOps[(int)op],
Consts.TradeItems[item].Name);
lblQuestion.Text = Functions.StringVars(Strings.CargoSellQuestion, Strings.CargoSellOps[(int)op].ToLower());
lblPaid.Text = Functions.StringVars(op == CargoSellOp.SellTrader ? Strings.CargoSellPaidTrader :
Strings.CargoSellPaid, Functions.FormatMoney(cost),
Functions.Multiples(maxAmount, Strings.CargoUnit));
lblProfit.Text = Functions.StringVars(Strings.CargoSellProfit, price >= cost ? "profit" : "loss",
Functions.FormatMoney(price >= cost ? price - cost : cost - price));
// Override defaults for some ops.
switch (op)
{
case CargoSellOp.Dump:
lblStatement.Text = Functions.StringVars(Strings.CargoSellStatementDump, Strings.CargoSellOps[(int)op].ToLower(),
Functions.FormatNumber(maxAmount));
lblProfit.Text = Functions.StringVars(Strings.CargoSellDumpCost, Functions.FormatMoney(-price));
break;
case CargoSellOp.Jettison:
lblStatement.Text = Functions.StringVars(Strings.CargoSellStatementDump, Strings.CargoSellOps[(int)op].ToLower(),
Functions.FormatNumber(maxAmount));
break;
case CargoSellOp.SellSystem:
lblStatement.Text = Functions.StringVars(Strings.CargoSellStatement, Functions.FormatNumber(maxAmount),
Functions.FormatMoney(price));
break;
case CargoSellOp.SellTrader:
lblStatement.Text = Functions.StringVars(Strings.CargoSellStatementTrader, Consts.TradeItems[item].Name,
Functions.FormatMoney(price));
break;
}
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblQuestion = new System.Windows.Forms.Label();
this.lblStatement = new System.Windows.Forms.Label();
this.numAmount = new System.Windows.Forms.NumericUpDown();
this.btnOk = new System.Windows.Forms.Button();
this.btnAll = new System.Windows.Forms.Button();
this.btnNone = new System.Windows.Forms.Button();
this.lblPaid = new System.Windows.Forms.Label();
this.lblProfit = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.numAmount)).BeginInit();
this.SuspendLayout();
//
// lblQuestion
//
this.lblQuestion.Location = new System.Drawing.Point(8, 50);
this.lblQuestion.Name = "lblQuestion";
this.lblQuestion.Size = new System.Drawing.Size(160, 13);
this.lblQuestion.TabIndex = 1;
this.lblQuestion.Text = "How many do you want to sell?";
//
// lblStatement
//
this.lblStatement.Location = new System.Drawing.Point(8, 8);
this.lblStatement.Name = "lblStatement";
this.lblStatement.Size = new System.Drawing.Size(302, 13);
this.lblStatement.TabIndex = 3;
this.lblStatement.Text = "The trader wants to by Machines, and offers 8,888 cr. each.";
//
// numAmount
//
this.numAmount.Location = new System.Drawing.Point(168, 48);
this.numAmount.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numAmount.Name = "numAmount";
this.numAmount.Size = new System.Drawing.Size(38, 20);
this.numAmount.TabIndex = 1;
this.numAmount.Value = new System.Decimal(new int[] {
88,
0,
0,
0});
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(83, 74);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(41, 22);
this.btnOk.TabIndex = 2;
this.btnOk.Text = "Ok";
//
// btnAll
//
this.btnAll.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnAll.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAll.Location = new System.Drawing.Point(131, 74);
this.btnAll.Name = "btnAll";
this.btnAll.Size = new System.Drawing.Size(41, 22);
this.btnAll.TabIndex = 3;
this.btnAll.Text = "All";
this.btnAll.Click += new System.EventHandler(this.btnAll_Click);
//
// btnNone
//
this.btnNone.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnNone.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnNone.Location = new System.Drawing.Point(179, 74);
this.btnNone.Name = "btnNone";
this.btnNone.Size = new System.Drawing.Size(41, 22);
this.btnNone.TabIndex = 4;
this.btnNone.Text = "None";
//
// lblPaid
//
this.lblPaid.Location = new System.Drawing.Point(8, 21);
this.lblPaid.Name = "lblPaid";
this.lblPaid.Size = new System.Drawing.Size(280, 13);
this.lblPaid.TabIndex = 5;
this.lblPaid.Text = "You paid about 8,888 cr. per unit, and can sell 88 units.";
//
// lblProfit
//
this.lblProfit.Location = new System.Drawing.Point(8, 34);
this.lblProfit.Name = "lblProfit";
this.lblProfit.Size = new System.Drawing.Size(200, 13);
this.lblProfit.TabIndex = 6;
this.lblProfit.Text = "It costs 8,888 cr. per unit for disposal.";
//
// FormCargoSell
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnNone;
this.ClientSize = new System.Drawing.Size(302, 105);
this.ControlBox = false;
this.Controls.Add(this.lblProfit);
this.Controls.Add(this.lblPaid);
this.Controls.Add(this.btnNone);
this.Controls.Add(this.btnAll);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.numAmount);
this.Controls.Add(this.lblQuestion);
this.Controls.Add(this.lblStatement);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormCargoSell";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Sell Xxxxxxxxxx";
((System.ComponentModel.ISupportInitialize)(this.numAmount)).EndInit();
this.ResumeLayout(false);
}
#endregion
#endregion
#region Event Handlers
private void btnAll_Click(object sender, System.EventArgs e)
{
numAmount.Value = numAmount.Maximum;
}
#endregion
#region Properties
public int Amount
{
get
{
return (int)numAmount.Value;
}
}
#endregion
}
}
@@ -0,0 +1,202 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblQuestion.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblQuestion.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestion.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblStatement.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblStatement.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblStatement.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="numAmount.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="numAmount.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="numAmount.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnOk.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnOk.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnOk.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnAll.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnAll.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnAll.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnNone.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnNone.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnNone.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPaid.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblPaid.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPaid.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblProfit.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblProfit.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblProfit.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.Name">
<value>FormCargoSell</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
+245
View File
@@ -0,0 +1,245 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormCosts : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Label lblMerc;
private System.Windows.Forms.Label lblIns;
private System.Windows.Forms.Label lblInt;
private System.Windows.Forms.Label lblTax;
private System.Windows.Forms.Label lblTotal;
private System.Windows.Forms.Label lblTotalLabel;
private System.Windows.Forms.Label lblTaxLabel;
private System.Windows.Forms.Label lblIntLabel;
private System.Windows.Forms.Label lblMercLabel;
private System.Windows.Forms.Label lblInsLabel;
private System.Windows.Forms.PictureBox picLine;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormCosts()
{
InitializeComponent();
lblMerc.Text = Functions.FormatMoney(game.MercenaryCosts);
lblIns.Text = Functions.FormatMoney(game.InsuranceCosts);
lblInt.Text = Functions.FormatMoney(game.InterestCosts);
lblTax.Text = Functions.FormatMoney(game.WormholeCosts);
lblTotal.Text = Functions.FormatMoney(game.CurrentCosts);
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnClose = new System.Windows.Forms.Button();
this.lblMerc = new System.Windows.Forms.Label();
this.lblIns = new System.Windows.Forms.Label();
this.lblInt = new System.Windows.Forms.Label();
this.lblTax = new System.Windows.Forms.Label();
this.lblTotal = new System.Windows.Forms.Label();
this.lblTotalLabel = new System.Windows.Forms.Label();
this.lblTaxLabel = new System.Windows.Forms.Label();
this.lblIntLabel = new System.Windows.Forms.Label();
this.lblMercLabel = new System.Windows.Forms.Label();
this.lblInsLabel = new System.Windows.Forms.Label();
this.picLine = new System.Windows.Forms.PictureBox();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// lblMerc
//
this.lblMerc.Location = new System.Drawing.Point(104, 8);
this.lblMerc.Name = "lblMerc";
this.lblMerc.Size = new System.Drawing.Size(39, 13);
this.lblMerc.TabIndex = 36;
this.lblMerc.Text = "888 cr.";
this.lblMerc.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblIns
//
this.lblIns.Location = new System.Drawing.Point(104, 24);
this.lblIns.Name = "lblIns";
this.lblIns.Size = new System.Drawing.Size(39, 13);
this.lblIns.TabIndex = 40;
this.lblIns.Text = "888 cr.";
this.lblIns.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblInt
//
this.lblInt.Location = new System.Drawing.Point(104, 40);
this.lblInt.Name = "lblInt";
this.lblInt.Size = new System.Drawing.Size(39, 13);
this.lblInt.TabIndex = 44;
this.lblInt.Text = "888 cr.";
this.lblInt.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblTax
//
this.lblTax.Location = new System.Drawing.Point(104, 56);
this.lblTax.Name = "lblTax";
this.lblTax.Size = new System.Drawing.Size(39, 13);
this.lblTax.TabIndex = 48;
this.lblTax.Text = "888 cr.";
this.lblTax.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblTotal
//
this.lblTotal.Location = new System.Drawing.Point(104, 79);
this.lblTotal.Name = "lblTotal";
this.lblTotal.Size = new System.Drawing.Size(39, 13);
this.lblTotal.TabIndex = 52;
this.lblTotal.Text = "888 cr.";
this.lblTotal.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblTotalLabel
//
this.lblTotalLabel.AutoSize = true;
this.lblTotalLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblTotalLabel.Location = new System.Drawing.Point(8, 79);
this.lblTotalLabel.Name = "lblTotalLabel";
this.lblTotalLabel.Size = new System.Drawing.Size(34, 13);
this.lblTotalLabel.TabIndex = 7;
this.lblTotalLabel.Text = "Total:";
//
// lblTaxLabel
//
this.lblTaxLabel.AutoSize = true;
this.lblTaxLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblTaxLabel.Location = new System.Drawing.Point(8, 56);
this.lblTaxLabel.Name = "lblTaxLabel";
this.lblTaxLabel.Size = new System.Drawing.Size(84, 13);
this.lblTaxLabel.TabIndex = 6;
this.lblTaxLabel.Text = "Wormhole Tax:";
//
// lblIntLabel
//
this.lblIntLabel.AutoSize = true;
this.lblIntLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblIntLabel.Location = new System.Drawing.Point(8, 40);
this.lblIntLabel.Name = "lblIntLabel";
this.lblIntLabel.Size = new System.Drawing.Size(47, 13);
this.lblIntLabel.TabIndex = 5;
this.lblIntLabel.Text = "Interest:";
//
// lblMercLabel
//
this.lblMercLabel.AutoSize = true;
this.lblMercLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercLabel.Location = new System.Drawing.Point(8, 8);
this.lblMercLabel.Name = "lblMercLabel";
this.lblMercLabel.Size = new System.Drawing.Size(72, 13);
this.lblMercLabel.TabIndex = 4;
this.lblMercLabel.Text = "Mercenaries:";
//
// lblInsLabel
//
this.lblInsLabel.AutoSize = true;
this.lblInsLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblInsLabel.Location = new System.Drawing.Point(8, 24);
this.lblInsLabel.Name = "lblInsLabel";
this.lblInsLabel.Size = new System.Drawing.Size(59, 13);
this.lblInsLabel.TabIndex = 3;
this.lblInsLabel.Text = "Insurance:";
//
// picLine
//
this.picLine.BackColor = System.Drawing.Color.DimGray;
this.picLine.Location = new System.Drawing.Point(6, 73);
this.picLine.Name = "picLine";
this.picLine.Size = new System.Drawing.Size(138, 1);
this.picLine.TabIndex = 134;
this.picLine.TabStop = false;
//
// FormCosts
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(148, 99);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.picLine,
this.lblTotal,
this.lblTax,
this.lblInt,
this.lblIns,
this.lblMerc,
this.btnClose,
this.lblInsLabel,
this.lblTotalLabel,
this.lblTaxLabel,
this.lblIntLabel,
this.lblMercLabel});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormCosts";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Cost Specification";
this.ResumeLayout(false);
}
#endregion
#endregion
}
}
+102
View File
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormCosts</value>
</data>
</root>
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,870 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblEncounter.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblEncounter.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblEncounter.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picShipYou.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picShipYou.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picShipYou.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picShipOpponent.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picShipOpponent.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picShipOpponent.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblAction.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblAction.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblAction.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblOpponentLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblOpponentLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblOpponentLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblYouLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblYouLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblYouLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblOpponentShip.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblOpponentShip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblOpponentShip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblYouShip.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblYouShip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblYouShip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblYouHull.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblYouHull.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblYouHull.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblYouShields.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblYouShields.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblYouShields.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblOpponentShields.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblOpponentShields.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblOpponentShields.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblOpponentHull.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblOpponentHull.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblOpponentHull.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnAttack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnAttack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnAttack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnFlee.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnFlee.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnFlee.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnSubmit.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnSubmit.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnSubmit.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnBribe.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnBribe.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnBribe.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnSurrender.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnSurrender.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnSurrender.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnIgnore.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnIgnore.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnIgnore.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnTrade.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnTrade.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnTrade.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnPlunder.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnPlunder.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnPlunder.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnBoard.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnBoard.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnBoard.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnMeet.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnMeet.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnMeet.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnDrink.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnDrink.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnDrink.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnInt.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnInt.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnInt.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnYield.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnYield.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnYield.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picContinuous.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picContinuous.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picContinuous.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilContinuous.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilContinuous.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilContinuous.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</data>
<data name="ilContinuous.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
AADIBwAAAk1TRnQBSQFMAgEBAgEAAQQBAAEEAQABCQEAAQkBAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQC
AAEoAwABJAMAAQkDAAEBAQABCAUAAUQBARgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQAB
wAHcAcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANNAQAD
QgEAAzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGtAgAB
/wEzAwABZgMAAZkDAAHMAgABMwMAAjMCAAEzAWYCAAEzAZkCAAEzAcwCAAEzAf8CAAFmAwABZgEzAgAC
ZgIAAWYBmQIAAWYBzAIAAWYB/wIAAZkDAAGZATMCAAGZAWYCAAKZAgABmQHMAgABmQH/AgABzAMAAcwB
MwIAAcwBZgIAAcwBmQIAAswCAAHMAf8CAAH/AWYCAAH/AZkCAAH/AcwBAAEzAf8CAAH/AQABMwEAATMB
AAFmAQABMwEAAZkBAAEzAQABzAEAATMBAAH/AQAB/wEzAgADMwEAAjMBZgEAAjMBmQEAAjMBzAEAAjMB
/wEAATMBZgIAATMBZgEzAQABMwJmAQABMwFmAZkBAAEzAWYBzAEAATMBZgH/AQABMwGZAgABMwGZATMB
AAEzAZkBZgEAATMCmQEAATMBmQHMAQABMwGZAf8BAAEzAcwCAAEzAcwBMwEAATMBzAFmAQABMwHMAZkB
AAEzAswBAAEzAcwB/wEAATMB/wEzAQABMwH/AWYBAAEzAf8BmQEAATMB/wHMAQABMwL/AQABZgMAAWYB
AAEzAQABZgEAAWYBAAFmAQABmQEAAWYBAAHMAQABZgEAAf8BAAFmATMCAAFmAjMBAAFmATMBZgEAAWYB
MwGZAQABZgEzAcwBAAFmATMB/wEAAmYCAAJmATMBAANmAQACZgGZAQACZgHMAQABZgGZAgABZgGZATMB
AAFmAZkBZgEAAWYCmQEAAWYBmQHMAQABZgGZAf8BAAFmAcwCAAFmAcwBMwEAAWYBzAGZAQABZgLMAQAB
ZgHMAf8BAAFmAf8CAAFmAf8BMwEAAWYB/wGZAQABZgH/AcwBAAHMAQAB/wEAAf8BAAHMAQACmQIAAZkB
MwGZAQABmQEAAZkBAAGZAQABzAEAAZkDAAGZAjMBAAGZAQABZgEAAZkBMwHMAQABmQEAAf8BAAGZAWYC
AAGZAWYBMwEAAZkBMwFmAQABmQFmAZkBAAGZAWYBzAEAAZkBMwH/AQACmQEzAQACmQFmAQADmQEAApkB
zAEAApkB/wEAAZkBzAIAAZkBzAEzAQABZgHMAWYBAAGZAcwBmQEAAZkCzAEAAZkBzAH/AQABmQH/AgAB
mQH/ATMBAAGZAcwBZgEAAZkB/wGZAQABmQH/AcwBAAGZAv8BAAHMAwABmQEAATMBAAHMAQABZgEAAcwB
AAGZAQABzAEAAcwBAAGZATMCAAHMAjMBAAHMATMBZgEAAcwBMwGZAQABzAEzAcwBAAHMATMB/wEAAcwB
ZgIAAcwBZgEzAQABmQJmAQABzAFmAZkBAAHMAWYBzAEAAZkBZgH/AQABzAGZAgABzAGZATMBAAHMAZkB
ZgEAAcwCmQEAAcwBmQHMAQABzAGZAf8BAALMAgACzAEzAQACzAFmAQACzAGZAQADzAEAAswB/wEAAcwB
/wIAAcwB/wEzAQABmQH/AWYBAAHMAf8BmQEAAcwB/wHMAQABzAL/AQABzAEAATMBAAH/AQABZgEAAf8B
AAGZAQABzAEzAgAB/wIzAQAB/wEzAWYBAAH/ATMBmQEAAf8BMwHMAQAB/wEzAf8BAAH/AWYCAAH/AWYB
MwEAAcwCZgEAAf8BZgGZAQAB/wFmAcwBAAHMAWYB/wEAAf8BmQIAAf8BmQEzAQAB/wGZAWYBAAH/ApkB
AAH/AZkBzAEAAf8BmQH/AQAB/wHMAgAB/wHMATMBAAH/AcwBZgEAAf8BzAGZAQAB/wLMAQAB/wHMAf8B
AAL/ATMBAAHMAf8BZgEAAv8BmQEAAv8BzAEAAmYB/wEAAWYB/wFmAQABZgL/AQAB/wJmAQAB/wFmAf8B
AAL/AWYBAAEhAQABpQEAA18BAAN3AQADhgEAA5YBAAPLAQADsgEAA9cBAAPdAQAD4wEAA+oBAAPxAQAD
+AEAAfAB+wH/AQABpAKgAQADgAMAAf8CAAH/AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP/BAAD/gYAA6IW
AAH+BdkB/gIAAaIFpwGiFAAC2QPTAtkCAAKnA9MCpxMAAf4B2QHTA6cB0wHZAf4BogGnAdQD2QHTAacB
ohIAAf4B2QHTAacBogGnAdMB2QH+AaIBpwHUAdkB/gHZAdMBpwGiEgAB/gHZAdMDpwHTAdkB/gGiAacB
1APZAdMBpwGiEwAC2QPTAtkCAAKnA9QCpxQAAf4F2QH+AgABogWnAaIWAAP+BgADohUAAUIBTQE+BwAB
PgMAASgDAAEkAwABCQMAAQEBAAEBBQABSBcAA/8BAAHjAfEBwAUAAYABwAFABQABgAHAAUAdAAGAAcAB
QAUAAYABwAFABQAB4wHxAcAbAAs=
</value>
</data>
<data name="picEncounterType.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picEncounterType.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picEncounterType.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilEncounterType.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilEncounterType.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilEncounterType.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>129, 17</value>
</data>
<data name="ilEncounterType.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
AACOCQAAAk1TRnQBSQFMAgEBBQEAAQkBAAEEAQABDAEAAQwBAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQC
AAEoAwABMAMAASQDAAEBAQABCAUAAcABBhgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQAB
wAHcAcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANNAQAD
QgEAAzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGtAgAB
/wEzAwABZgMAAZkDAAHMAgABMwMAAjMCAAEzAWYCAAEzAZkCAAEzAcwCAAEzAf8CAAFmAwABZgEzAgAC
ZgIAAWYBmQIAAWYBzAIAAWYB/wIAAZkDAAGZATMCAAGZAWYCAAKZAgABmQHMAgABmQH/AgABzAMAAcwB
MwIAAcwBZgIAAcwBmQIAAswCAAHMAf8CAAH/AWYCAAH/AZkCAAH/AcwBAAEzAf8CAAH/AQABMwEAATMB
AAFmAQABMwEAAZkBAAEzAQABzAEAATMBAAH/AQAB/wEzAgADMwEAAjMBZgEAAjMBmQEAAjMBzAEAAjMB
/wEAATMBZgIAATMBZgEzAQABMwJmAQABMwFmAZkBAAEzAWYBzAEAATMBZgH/AQABMwGZAgABMwGZATMB
AAEzAZkBZgEAATMCmQEAATMBmQHMAQABMwGZAf8BAAEzAcwCAAEzAcwBMwEAATMBzAFmAQABMwHMAZkB
AAEzAswBAAEzAcwB/wEAATMB/wEzAQABMwH/AWYBAAEzAf8BmQEAATMB/wHMAQABMwL/AQABZgMAAWYB
AAEzAQABZgEAAWYBAAFmAQABmQEAAWYBAAHMAQABZgEAAf8BAAFmATMCAAFmAjMBAAFmATMBZgEAAWYB
MwGZAQABZgEzAcwBAAFmATMB/wEAAmYCAAJmATMBAANmAQACZgGZAQACZgHMAQABZgGZAgABZgGZATMB
AAFmAZkBZgEAAWYCmQEAAWYBmQHMAQABZgGZAf8BAAFmAcwCAAFmAcwBMwEAAWYBzAGZAQABZgLMAQAB
ZgHMAf8BAAFmAf8CAAFmAf8BMwEAAWYB/wGZAQABZgH/AcwBAAHMAQAB/wEAAf8BAAHMAQACmQIAAZkB
MwGZAQABmQEAAZkBAAGZAQABzAEAAZkDAAGZAjMBAAGZAQABZgEAAZkBMwHMAQABmQEAAf8BAAGZAWYC
AAGZAWYBMwEAAZkBMwFmAQABmQFmAZkBAAGZAWYBzAEAAZkBMwH/AQACmQEzAQACmQFmAQADmQEAApkB
zAEAApkB/wEAAZkBzAIAAZkBzAEzAQABZgHMAWYBAAGZAcwBmQEAAZkCzAEAAZkBzAH/AQABmQH/AgAB
mQH/ATMBAAGZAcwBZgEAAZkB/wGZAQABmQH/AcwBAAGZAv8BAAHMAwABmQEAATMBAAHMAQABZgEAAcwB
AAGZAQABzAEAAcwBAAGZATMCAAHMAjMBAAHMATMBZgEAAcwBMwGZAQABzAEzAcwBAAHMATMB/wEAAcwB
ZgIAAcwBZgEzAQABmQJmAQABzAFmAZkBAAHMAWYBzAEAAZkBZgH/AQABzAGZAgABzAGZATMBAAHMAZkB
ZgEAAcwCmQEAAcwBmQHMAQABzAGZAf8BAALMAgACzAEzAQACzAFmAQACzAGZAQADzAEAAswB/wEAAcwB
/wIAAcwB/wEzAQABmQH/AWYBAAHMAf8BmQEAAcwB/wHMAQABzAL/AQABzAEAATMBAAH/AQABZgEAAf8B
AAGZAQABzAEzAgAB/wIzAQAB/wEzAWYBAAH/ATMBmQEAAf8BMwHMAQAB/wEzAf8BAAH/AWYCAAH/AWYB
MwEAAcwCZgEAAf8BZgGZAQAB/wFmAcwBAAHMAWYB/wEAAf8BmQIAAf8BmQEzAQAB/wGZAWYBAAH/ApkB
AAH/AZkBzAEAAf8BmQH/AQAB/wHMAgAB/wHMATMBAAH/AcwBZgEAAf8BzAGZAQAB/wLMAQAB/wHMAf8B
AAL/ATMBAAHMAf8BZgEAAv8BmQEAAv8BzAEAAmYB/wEAAWYB/wFmAQABZgL/AQAB/wJmAQAB/wFmAf8B
AAL/AWYBAAEhAQABpQEAA18BAAN3AQADhgEAA5YBAAPLAQADsgEAA9cBAAPdAQAD4wEAA+oBAAPxAQAD
+AEAAfAB+wH/AQABpAKgAQADgAMAAf8CAAH/AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP//wD/AEcABDgq
AAI4BPsCOCcAATgD+wI4A/sBOCYAATgB+wY4AfsBOCUAATgC+wE4AvsBOAH7ATgC+wE4JAABOAT7BDgC
+wE4JAABOAL7BDgE+wE4JAABOAL7ATgB+wE4AvsBOAL7ATglAAE4AfsGOAH7ATgmAAE4A/sCOAP7ATgn
AAI4BPsCOCoABDgtAANQBQADEgUAAxIFAANCFAAFUAcABRIHAAVCBwAFMQYAAlADAAJQAwADEgUAAxID
AAdCBQACMQNeAjEEAAlQBgABEgEAARIGAAlCAwABMQNeAUADXgExAgAEUAFDAVABQwRQBAAFEgQAA0IB
+wNCAfsDQgEAAjEHXgIxAQALUAMABxIDAANCAvsBQgL7A0IBAAExBF4BQAReATEBAAtQAwADEgEAAxID
AARCA/sEQgEAATEEXgFABF4BMQEAA1AC+wFQAvsDUAIACRICAAJCB/sCQgEAATEEXgFABF4BMQEAAlAC
+wNQAvsCUAIAAhICAAESAgACEgIABEID+wRCAQACMQNeAUADXgIxAgAJUAMAAhICAAESAgACEgIABUIB
+wVCAgABMQNeAUADXgExAwAJUAMACRICAAVCAfsFQgMAAjEDXgIxBQAHUAUABxIDAAtCBAAFMQMAAUIB
TQE+BwABPgMAASgDAAEwAwABJAMAAQEBAAEBBQABIAEBFgAD/2EAAvAGAAHAATAGAAGAARAGAAGAARAm
AAGAARAGAAGAARAGAAHAATAGAALwBgAE+AL/AgAB8AF/AQcB8AF/AQcCAAHgATgB+AHgAT4BAwIAAcAB
HwGvAcABHAEBAgABgAEPAQcBgAEIAwABgAEOAQMBgAEIAwABgAEOASMBgAEIAwABgAEMAQEBgAEIAwAB
gAEMAdkBgAEIAwABwAEcAdkBgAEMAQECAAHAARwBAQGAAQ4BAwIAAeABPgEDAYABDwEHGAAL
</value>
</data>
<data name="picTrib00.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib00.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib00.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilTribbles.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilTribbles.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="ilTribbles.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>261, 18</value>
</data>
<data name="ilTribbles.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
AACMCQAAAk1TRnQBSQFMAgEBCAEAAQkBAAEEAQABDAEAAQwBAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQC
AAEoAwABMAMAASQDAAEBAQABCAUAAcABBhgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQAB
wAHcAcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANNAQAD
QgEAAzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGtAgAB
/wEzAwABZgMAAZkDAAHMAgABMwMAAjMCAAEzAWYCAAEzAZkCAAEzAcwCAAEzAf8CAAFmAwABZgEzAgAC
ZgIAAWYBmQIAAWYBzAIAAWYB/wIAAZkDAAGZATMCAAGZAWYCAAKZAgABmQHMAgABmQH/AgABzAMAAcwB
MwIAAcwBZgIAAcwBmQIAAswCAAHMAf8CAAH/AWYCAAH/AZkCAAH/AcwBAAEzAf8CAAH/AQABMwEAATMB
AAFmAQABMwEAAZkBAAEzAQABzAEAATMBAAH/AQAB/wEzAgADMwEAAjMBZgEAAjMBmQEAAjMBzAEAAjMB
/wEAATMBZgIAATMBZgEzAQABMwJmAQABMwFmAZkBAAEzAWYBzAEAATMBZgH/AQABMwGZAgABMwGZATMB
AAEzAZkBZgEAATMCmQEAATMBmQHMAQABMwGZAf8BAAEzAcwCAAEzAcwBMwEAATMBzAFmAQABMwHMAZkB
AAEzAswBAAEzAcwB/wEAATMB/wEzAQABMwH/AWYBAAEzAf8BmQEAATMB/wHMAQABMwL/AQABZgMAAWYB
AAEzAQABZgEAAWYBAAFmAQABmQEAAWYBAAHMAQABZgEAAf8BAAFmATMCAAFmAjMBAAFmATMBZgEAAWYB
MwGZAQABZgEzAcwBAAFmATMB/wEAAmYCAAJmATMBAANmAQACZgGZAQACZgHMAQABZgGZAgABZgGZATMB
AAFmAZkBZgEAAWYCmQEAAWYBmQHMAQABZgGZAf8BAAFmAcwCAAFmAcwBMwEAAWYBzAGZAQABZgLMAQAB
ZgHMAf8BAAFmAf8CAAFmAf8BMwEAAWYB/wGZAQABZgH/AcwBAAHMAQAB/wEAAf8BAAHMAQACmQIAAZkB
MwGZAQABmQEAAZkBAAGZAQABzAEAAZkDAAGZAjMBAAGZAQABZgEAAZkBMwHMAQABmQEAAf8BAAGZAWYC
AAGZAWYBMwEAAZkBMwFmAQABmQFmAZkBAAGZAWYBzAEAAZkBMwH/AQACmQEzAQACmQFmAQADmQEAApkB
zAEAApkB/wEAAZkBzAIAAZkBzAEzAQABZgHMAWYBAAGZAcwBmQEAAZkCzAEAAZkBzAH/AQABmQH/AgAB
mQH/ATMBAAGZAcwBZgEAAZkB/wGZAQABmQH/AcwBAAGZAv8BAAHMAwABmQEAATMBAAHMAQABZgEAAcwB
AAGZAQABzAEAAcwBAAGZATMCAAHMAjMBAAHMATMBZgEAAcwBMwGZAQABzAEzAcwBAAHMATMB/wEAAcwB
ZgIAAcwBZgEzAQABmQJmAQABzAFmAZkBAAHMAWYBzAEAAZkBZgH/AQABzAGZAgABzAGZATMBAAHMAZkB
ZgEAAcwCmQEAAcwBmQHMAQABzAGZAf8BAALMAgACzAEzAQACzAFmAQACzAGZAQADzAEAAswB/wEAAcwB
/wIAAcwB/wEzAQABmQH/AWYBAAHMAf8BmQEAAcwB/wHMAQABzAL/AQABzAEAATMBAAH/AQABZgEAAf8B
AAGZAQABzAEzAgAB/wIzAQAB/wEzAWYBAAH/ATMBmQEAAf8BMwHMAQAB/wEzAf8BAAH/AWYCAAH/AWYB
MwEAAcwCZgEAAf8BZgGZAQAB/wFmAcwBAAHMAWYB/wEAAf8BmQIAAf8BmQEzAQAB/wGZAWYBAAH/ApkB
AAH/AZkBzAEAAf8BmQH/AQAB/wHMAgAB/wHMATMBAAH/AcwBZgEAAf8BzAGZAQAB/wLMAQAB/wHMAf8B
AAL/ATMBAAHMAf8BZgEAAv8BmQEAAv8BzAEAAmYB/wEAAWYB/wFmAQABZgL/AQAB/wJmAQAB/wFmAf8B
AAL/AWYBAAEhAQABpQEAA18BAAN3AQADhgEAA5YBAAPLAQADsgEAA9cBAAPdAQAD4wEAA+oBAAPxAQAD
+AEAAfAB+wH/AQABpAKgAQADgAMAAf8CAAH/AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP//wD/AHcABFkI
AAQ2CAAE3AgABLAGAAhZBAAINgQACNwEAAiwBAACWQEAAVkBAANZBAACNgEAATYBAAM2BAAC3AEAAdwB
AAPcBAACsAEAAbABAAOwAwADWQEAAVkBAARZAgADNgEAATYBAAQ2AgAD3AEAAdwBAATcAgADsAEAAbAB
AASwAgAKWQIACjYCAArcAgAKsAIAClkCAAo2AgAK3AIACrACAApZAgAKNgIACtwCAAqwAwAIWQQACDYE
AAjcBAAIsAQACFkEAAg2BAAI3AQACLAGAARZCAAENggABNwIAASwaAAE8wgABOwIAASUCAAEMQYACPME
AAjsBAAIlAQACDEEAALzAQAB8wEAA/MEAALsAQAB7AEAA+wEAAKUAQABlAEAA5QEAAIxAQABMQEAAzED
AAPzAQAB8wEABPMCAAPsAQAB7AEABOwCAAOUAQABlAEABJQCAAMxAQABMQEABDECAArzAgAK7AIACpQC
AAoxAgAK8wIACuwCAAqUAgAKMQIACvMCAArsAgAKlAIACjEDAAjzBAAI7AQACJQEAAgxBAAI8wQACOwE
AAiUBAAIMQYABPMIAATsCAAElAgABDE0AAFCAU0BPgcAAT4DAAEoAwABMAMAASQDAAEBAQABAQUAASAB
ARYAA/9hAAHwAf8BDwHwAf8BDwIAAcABPAEDAcABPAEDAgABgAEYAQEBgAEYAQECAAGAARgBAQGAARgB
ASIAAYABGAEBAYABGAEBAgABgAEYAQEBgAEYAQECAAHAATwBAwHAATwBAwIAAfAB/wEPAfAB/wEPAgAB
8AH/AQ8B8AH/AQ8CAAHAATwBAwHAATwBAwIAAYABGAEBAYABGAEBAgABgAEYAQEBgAEYAQEiAAGAARgB
AQGAARgBAQIAAYABGAEBAYABGAEBAgABwAE8AQMBwAE8AQMCAAHwAf8BDwHwAf8BDxgACw==
</value>
</data>
<data name="picTrib50.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib50.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib50.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib10.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib10.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib10.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib40.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib40.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib40.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib20.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib20.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib20.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib30.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib30.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib30.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib04.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib04.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib04.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib03.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib03.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib03.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib02.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib02.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib02.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib01.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib01.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib01.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib05.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib05.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib05.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib11.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib11.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib11.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib12.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib12.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib12.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib13.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib13.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib13.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib14.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib14.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib14.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib15.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib15.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib15.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib21.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib21.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib21.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib22.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib22.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib22.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib23.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib23.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib23.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib24.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib24.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib24.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib25.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib25.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib25.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib31.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib31.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib31.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib32.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib32.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib32.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib33.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib33.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib33.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib34.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib34.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib34.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib35.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib35.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib35.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib41.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib41.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib41.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib51.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib51.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib51.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib42.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib42.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib42.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib52.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib52.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib52.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib43.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib43.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib43.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib53.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib53.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib53.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib44.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib44.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib44.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib45.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib45.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib45.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib54.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib54.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib54.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib55.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picTrib55.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picTrib55.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="tmrTick.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="tmrTick.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>357, 18</value>
</data>
<data name="tmrTick.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Name">
<value>FormEncounter</value>
</data>
</root>
@@ -0,0 +1,803 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormEquipment : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.GroupBox boxSell;
private System.Windows.Forms.GroupBox boxBuy;
private System.ComponentModel.Container components = null;
private System.Windows.Forms.ListBox lstSellWeapon;
private System.Windows.Forms.ListBox lstSellShield;
private System.Windows.Forms.ListBox lstSellGadget;
private System.Windows.Forms.ListBox lstBuyGadget;
private System.Windows.Forms.ListBox lstBuyShield;
private System.Windows.Forms.ListBox lstBuyWeapon;
private System.Windows.Forms.GroupBox boxShipInfo;
private System.Windows.Forms.Label lblName;
private System.Windows.Forms.Label lblDescription;
private System.Windows.Forms.PictureBox picEquipment;
private System.Windows.Forms.Label lblSellPrice;
private System.Windows.Forms.Label lblBuyPrice;
private System.Windows.Forms.Label lblSellGadgets;
private System.Windows.Forms.Label lblSellShields;
private System.Windows.Forms.Label lblSellWeapons;
private System.Windows.Forms.Label lblBuyGadgets;
private System.Windows.Forms.Label lblBuyShields;
private System.Windows.Forms.Label lblBuyWeapons;
private System.Windows.Forms.Button btnBuy;
private System.Windows.Forms.Button btnSell;
private System.Windows.Forms.Label lblBuyPriceLabel;
private System.Windows.Forms.Label lblSellPriceLabel;
private System.Windows.Forms.Label lblNameLabel;
private System.Windows.Forms.Label lblTypeLabel;
private System.Windows.Forms.Label lblType;
private System.Windows.Forms.Label lblPowerLabel;
private System.Windows.Forms.Label lblChargeLabel;
private System.Windows.Forms.Label lblPower;
private System.Windows.Forms.Label lblCharge;
private System.Windows.Forms.Label lblSellWeaponNoSlots;
private System.Windows.Forms.Label lblSellShieldNoSlots;
private System.Windows.Forms.Label lblSellGadgetNoSlots;
private System.Windows.Forms.Label lblBuyWeaponNone;
private System.Windows.Forms.Label lblBuyShieldNone;
private System.Windows.Forms.Label lblBuyGadgetNone;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
private Equipment[] equipBuy = Consts.EquipmentForSale;
private Equipment selectedEquipment = null;
private bool sellSideSelected = false;
private bool handlingSelect = false;
#endregion
#region Methods
public FormEquipment()
{
InitializeComponent();
UpdateBuy();
UpdateSell();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnClose = new System.Windows.Forms.Button();
this.boxSell = new System.Windows.Forms.GroupBox();
this.lblSellGadgetNoSlots = new System.Windows.Forms.Label();
this.lblSellShieldNoSlots = new System.Windows.Forms.Label();
this.lblSellWeaponNoSlots = new System.Windows.Forms.Label();
this.lblSellGadgets = new System.Windows.Forms.Label();
this.lblSellShields = new System.Windows.Forms.Label();
this.lblSellWeapons = new System.Windows.Forms.Label();
this.lstSellGadget = new System.Windows.Forms.ListBox();
this.lstSellShield = new System.Windows.Forms.ListBox();
this.lstSellWeapon = new System.Windows.Forms.ListBox();
this.boxBuy = new System.Windows.Forms.GroupBox();
this.lblBuyGadgetNone = new System.Windows.Forms.Label();
this.lblBuyShieldNone = new System.Windows.Forms.Label();
this.lblBuyWeaponNone = new System.Windows.Forms.Label();
this.lblBuyGadgets = new System.Windows.Forms.Label();
this.lblBuyShields = new System.Windows.Forms.Label();
this.lblBuyWeapons = new System.Windows.Forms.Label();
this.lstBuyGadget = new System.Windows.Forms.ListBox();
this.lstBuyShield = new System.Windows.Forms.ListBox();
this.lstBuyWeapon = new System.Windows.Forms.ListBox();
this.boxShipInfo = new System.Windows.Forms.GroupBox();
this.lblCharge = new System.Windows.Forms.Label();
this.lblPower = new System.Windows.Forms.Label();
this.lblChargeLabel = new System.Windows.Forms.Label();
this.lblPowerLabel = new System.Windows.Forms.Label();
this.lblType = new System.Windows.Forms.Label();
this.lblTypeLabel = new System.Windows.Forms.Label();
this.lblNameLabel = new System.Windows.Forms.Label();
this.btnSell = new System.Windows.Forms.Button();
this.btnBuy = new System.Windows.Forms.Button();
this.lblBuyPriceLabel = new System.Windows.Forms.Label();
this.lblBuyPrice = new System.Windows.Forms.Label();
this.lblSellPriceLabel = new System.Windows.Forms.Label();
this.picEquipment = new System.Windows.Forms.PictureBox();
this.lblSellPrice = new System.Windows.Forms.Label();
this.lblDescription = new System.Windows.Forms.Label();
this.lblName = new System.Windows.Forms.Label();
this.boxSell.SuspendLayout();
this.boxBuy.SuspendLayout();
this.boxShipInfo.SuspendLayout();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// boxSell
//
this.boxSell.Controls.Add(this.lblSellGadgetNoSlots);
this.boxSell.Controls.Add(this.lblSellShieldNoSlots);
this.boxSell.Controls.Add(this.lblSellWeaponNoSlots);
this.boxSell.Controls.Add(this.lblSellGadgets);
this.boxSell.Controls.Add(this.lblSellShields);
this.boxSell.Controls.Add(this.lblSellWeapons);
this.boxSell.Controls.Add(this.lstSellGadget);
this.boxSell.Controls.Add(this.lstSellShield);
this.boxSell.Controls.Add(this.lstSellWeapon);
this.boxSell.Location = new System.Drawing.Point(4, 2);
this.boxSell.Name = "boxSell";
this.boxSell.Size = new System.Drawing.Size(144, 304);
this.boxSell.TabIndex = 1;
this.boxSell.TabStop = false;
this.boxSell.Text = "Current Inventory";
//
// lblSellGadgetNoSlots
//
this.lblSellGadgetNoSlots.Location = new System.Drawing.Point(24, 228);
this.lblSellGadgetNoSlots.Name = "lblSellGadgetNoSlots";
this.lblSellGadgetNoSlots.Size = new System.Drawing.Size(104, 16);
this.lblSellGadgetNoSlots.TabIndex = 149;
this.lblSellGadgetNoSlots.Text = "No slots";
this.lblSellGadgetNoSlots.Visible = false;
//
// lblSellShieldNoSlots
//
this.lblSellShieldNoSlots.Location = new System.Drawing.Point(24, 132);
this.lblSellShieldNoSlots.Name = "lblSellShieldNoSlots";
this.lblSellShieldNoSlots.Size = new System.Drawing.Size(104, 16);
this.lblSellShieldNoSlots.TabIndex = 148;
this.lblSellShieldNoSlots.Text = "No slots";
this.lblSellShieldNoSlots.Visible = false;
//
// lblSellWeaponNoSlots
//
this.lblSellWeaponNoSlots.Location = new System.Drawing.Point(24, 36);
this.lblSellWeaponNoSlots.Name = "lblSellWeaponNoSlots";
this.lblSellWeaponNoSlots.Size = new System.Drawing.Size(104, 16);
this.lblSellWeaponNoSlots.TabIndex = 147;
this.lblSellWeaponNoSlots.Text = "No slots";
this.lblSellWeaponNoSlots.Visible = false;
//
// lblSellGadgets
//
this.lblSellGadgets.AutoSize = true;
this.lblSellGadgets.Location = new System.Drawing.Point(8, 212);
this.lblSellGadgets.Name = "lblSellGadgets";
this.lblSellGadgets.Size = new System.Drawing.Size(47, 16);
this.lblSellGadgets.TabIndex = 146;
this.lblSellGadgets.Text = "Gadgets";
//
// lblSellShields
//
this.lblSellShields.AutoSize = true;
this.lblSellShields.Location = new System.Drawing.Point(8, 116);
this.lblSellShields.Name = "lblSellShields";
this.lblSellShields.Size = new System.Drawing.Size(41, 16);
this.lblSellShields.TabIndex = 145;
this.lblSellShields.Text = "Shields";
//
// lblSellWeapons
//
this.lblSellWeapons.AutoSize = true;
this.lblSellWeapons.Location = new System.Drawing.Point(8, 20);
this.lblSellWeapons.Name = "lblSellWeapons";
this.lblSellWeapons.Size = new System.Drawing.Size(52, 16);
this.lblSellWeapons.TabIndex = 144;
this.lblSellWeapons.Text = "Weapons";
//
// lstSellGadget
//
this.lstSellGadget.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstSellGadget.Location = new System.Drawing.Point(8, 228);
this.lstSellGadget.Name = "lstSellGadget";
this.lstSellGadget.Size = new System.Drawing.Size(128, 67);
this.lstSellGadget.TabIndex = 3;
this.lstSellGadget.DoubleClick += new System.EventHandler(this.SellClick);
this.lstSellGadget.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
//
// lstSellShield
//
this.lstSellShield.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstSellShield.Location = new System.Drawing.Point(8, 132);
this.lstSellShield.Name = "lstSellShield";
this.lstSellShield.Size = new System.Drawing.Size(128, 67);
this.lstSellShield.TabIndex = 2;
this.lstSellShield.DoubleClick += new System.EventHandler(this.SellClick);
this.lstSellShield.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
//
// lstSellWeapon
//
this.lstSellWeapon.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstSellWeapon.Location = new System.Drawing.Point(8, 36);
this.lstSellWeapon.Name = "lstSellWeapon";
this.lstSellWeapon.Size = new System.Drawing.Size(128, 67);
this.lstSellWeapon.TabIndex = 1;
this.lstSellWeapon.DoubleClick += new System.EventHandler(this.SellClick);
this.lstSellWeapon.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
//
// boxBuy
//
this.boxBuy.Controls.Add(this.lblBuyGadgetNone);
this.boxBuy.Controls.Add(this.lblBuyShieldNone);
this.boxBuy.Controls.Add(this.lblBuyWeaponNone);
this.boxBuy.Controls.Add(this.lblBuyGadgets);
this.boxBuy.Controls.Add(this.lblBuyShields);
this.boxBuy.Controls.Add(this.lblBuyWeapons);
this.boxBuy.Controls.Add(this.lstBuyGadget);
this.boxBuy.Controls.Add(this.lstBuyShield);
this.boxBuy.Controls.Add(this.lstBuyWeapon);
this.boxBuy.Location = new System.Drawing.Point(156, 2);
this.boxBuy.Name = "boxBuy";
this.boxBuy.Size = new System.Drawing.Size(144, 304);
this.boxBuy.TabIndex = 2;
this.boxBuy.TabStop = false;
this.boxBuy.Text = "Equipment For Sale";
//
// lblBuyGadgetNone
//
this.lblBuyGadgetNone.Location = new System.Drawing.Point(24, 228);
this.lblBuyGadgetNone.Name = "lblBuyGadgetNone";
this.lblBuyGadgetNone.Size = new System.Drawing.Size(104, 16);
this.lblBuyGadgetNone.TabIndex = 150;
this.lblBuyGadgetNone.Text = "None for sale";
this.lblBuyGadgetNone.Visible = false;
//
// lblBuyShieldNone
//
this.lblBuyShieldNone.Location = new System.Drawing.Point(24, 132);
this.lblBuyShieldNone.Name = "lblBuyShieldNone";
this.lblBuyShieldNone.Size = new System.Drawing.Size(104, 16);
this.lblBuyShieldNone.TabIndex = 149;
this.lblBuyShieldNone.Text = "None for sale";
this.lblBuyShieldNone.Visible = false;
//
// lblBuyWeaponNone
//
this.lblBuyWeaponNone.Location = new System.Drawing.Point(24, 36);
this.lblBuyWeaponNone.Name = "lblBuyWeaponNone";
this.lblBuyWeaponNone.Size = new System.Drawing.Size(104, 16);
this.lblBuyWeaponNone.TabIndex = 148;
this.lblBuyWeaponNone.Text = "None for sale";
this.lblBuyWeaponNone.Visible = false;
//
// lblBuyGadgets
//
this.lblBuyGadgets.AutoSize = true;
this.lblBuyGadgets.Location = new System.Drawing.Point(8, 212);
this.lblBuyGadgets.Name = "lblBuyGadgets";
this.lblBuyGadgets.Size = new System.Drawing.Size(47, 16);
this.lblBuyGadgets.TabIndex = 143;
this.lblBuyGadgets.Text = "Gadgets";
//
// lblBuyShields
//
this.lblBuyShields.AutoSize = true;
this.lblBuyShields.Location = new System.Drawing.Point(8, 116);
this.lblBuyShields.Name = "lblBuyShields";
this.lblBuyShields.Size = new System.Drawing.Size(41, 16);
this.lblBuyShields.TabIndex = 142;
this.lblBuyShields.Text = "Shields";
//
// lblBuyWeapons
//
this.lblBuyWeapons.AutoSize = true;
this.lblBuyWeapons.Location = new System.Drawing.Point(8, 20);
this.lblBuyWeapons.Name = "lblBuyWeapons";
this.lblBuyWeapons.Size = new System.Drawing.Size(52, 16);
this.lblBuyWeapons.TabIndex = 141;
this.lblBuyWeapons.Text = "Weapons";
//
// lstBuyGadget
//
this.lstBuyGadget.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstBuyGadget.Location = new System.Drawing.Point(8, 228);
this.lstBuyGadget.Name = "lstBuyGadget";
this.lstBuyGadget.Size = new System.Drawing.Size(128, 67);
this.lstBuyGadget.TabIndex = 6;
this.lstBuyGadget.DoubleClick += new System.EventHandler(this.BuyClick);
this.lstBuyGadget.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
//
// lstBuyShield
//
this.lstBuyShield.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstBuyShield.Location = new System.Drawing.Point(8, 132);
this.lstBuyShield.Name = "lstBuyShield";
this.lstBuyShield.Size = new System.Drawing.Size(128, 67);
this.lstBuyShield.TabIndex = 5;
this.lstBuyShield.DoubleClick += new System.EventHandler(this.BuyClick);
this.lstBuyShield.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
//
// lstBuyWeapon
//
this.lstBuyWeapon.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstBuyWeapon.Location = new System.Drawing.Point(8, 36);
this.lstBuyWeapon.Name = "lstBuyWeapon";
this.lstBuyWeapon.Size = new System.Drawing.Size(128, 67);
this.lstBuyWeapon.TabIndex = 4;
this.lstBuyWeapon.DoubleClick += new System.EventHandler(this.BuyClick);
this.lstBuyWeapon.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
//
// boxShipInfo
//
this.boxShipInfo.Controls.Add(this.lblCharge);
this.boxShipInfo.Controls.Add(this.lblPower);
this.boxShipInfo.Controls.Add(this.lblChargeLabel);
this.boxShipInfo.Controls.Add(this.lblPowerLabel);
this.boxShipInfo.Controls.Add(this.lblType);
this.boxShipInfo.Controls.Add(this.lblTypeLabel);
this.boxShipInfo.Controls.Add(this.lblNameLabel);
this.boxShipInfo.Controls.Add(this.btnSell);
this.boxShipInfo.Controls.Add(this.btnBuy);
this.boxShipInfo.Controls.Add(this.lblBuyPriceLabel);
this.boxShipInfo.Controls.Add(this.lblBuyPrice);
this.boxShipInfo.Controls.Add(this.lblSellPriceLabel);
this.boxShipInfo.Controls.Add(this.picEquipment);
this.boxShipInfo.Controls.Add(this.lblSellPrice);
this.boxShipInfo.Controls.Add(this.lblName);
this.boxShipInfo.Controls.Add(this.lblDescription);
this.boxShipInfo.Location = new System.Drawing.Point(308, 2);
this.boxShipInfo.Name = "boxShipInfo";
this.boxShipInfo.Size = new System.Drawing.Size(208, 304);
this.boxShipInfo.TabIndex = 3;
this.boxShipInfo.TabStop = false;
this.boxShipInfo.Text = "Equipment Information";
//
// lblCharge
//
this.lblCharge.Location = new System.Drawing.Point(80, 164);
this.lblCharge.Name = "lblCharge";
this.lblCharge.Size = new System.Drawing.Size(116, 16);
this.lblCharge.TabIndex = 67;
this.lblCharge.Text = "888";
//
// lblPower
//
this.lblPower.Location = new System.Drawing.Point(80, 148);
this.lblPower.Name = "lblPower";
this.lblPower.Size = new System.Drawing.Size(116, 16);
this.lblPower.TabIndex = 66;
this.lblPower.Text = "888";
//
// lblChargeLabel
//
this.lblChargeLabel.AutoSize = true;
this.lblChargeLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblChargeLabel.Location = new System.Drawing.Point(8, 164);
this.lblChargeLabel.Name = "lblChargeLabel";
this.lblChargeLabel.Size = new System.Drawing.Size(46, 16);
this.lblChargeLabel.TabIndex = 65;
this.lblChargeLabel.Text = "Charge:";
//
// lblPowerLabel
//
this.lblPowerLabel.AutoSize = true;
this.lblPowerLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblPowerLabel.Location = new System.Drawing.Point(8, 148);
this.lblPowerLabel.Name = "lblPowerLabel";
this.lblPowerLabel.Size = new System.Drawing.Size(41, 16);
this.lblPowerLabel.TabIndex = 64;
this.lblPowerLabel.Text = "Power:";
//
// lblType
//
this.lblType.Location = new System.Drawing.Point(80, 100);
this.lblType.Name = "lblType";
this.lblType.Size = new System.Drawing.Size(116, 16);
this.lblType.TabIndex = 63;
this.lblType.Text = "Weapon";
//
// lblTypeLabel
//
this.lblTypeLabel.AutoSize = true;
this.lblTypeLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblTypeLabel.Location = new System.Drawing.Point(8, 100);
this.lblTypeLabel.Name = "lblTypeLabel";
this.lblTypeLabel.Size = new System.Drawing.Size(34, 16);
this.lblTypeLabel.TabIndex = 62;
this.lblTypeLabel.Text = "Type:";
//
// lblNameLabel
//
this.lblNameLabel.AutoSize = true;
this.lblNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblNameLabel.Location = new System.Drawing.Point(8, 84);
this.lblNameLabel.Name = "lblNameLabel";
this.lblNameLabel.Size = new System.Drawing.Size(39, 16);
this.lblNameLabel.TabIndex = 61;
this.lblNameLabel.Text = "Name:";
//
// btnSell
//
this.btnSell.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSell.Location = new System.Drawing.Point(103, 272);
this.btnSell.Name = "btnSell";
this.btnSell.Size = new System.Drawing.Size(58, 22);
this.btnSell.TabIndex = 8;
this.btnSell.Text = "Sell";
this.btnSell.Click += new System.EventHandler(this.SellClick);
//
// btnBuy
//
this.btnBuy.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy.Location = new System.Drawing.Point(31, 272);
this.btnBuy.Name = "btnBuy";
this.btnBuy.Size = new System.Drawing.Size(58, 22);
this.btnBuy.TabIndex = 7;
this.btnBuy.Text = "Buy";
this.btnBuy.Click += new System.EventHandler(this.BuyClick);
//
// lblBuyPriceLabel
//
this.lblBuyPriceLabel.AutoSize = true;
this.lblBuyPriceLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblBuyPriceLabel.Location = new System.Drawing.Point(8, 116);
this.lblBuyPriceLabel.Name = "lblBuyPriceLabel";
this.lblBuyPriceLabel.Size = new System.Drawing.Size(58, 16);
this.lblBuyPriceLabel.TabIndex = 57;
this.lblBuyPriceLabel.Text = "Buy Price:";
//
// lblBuyPrice
//
this.lblBuyPrice.Location = new System.Drawing.Point(80, 116);
this.lblBuyPrice.Name = "lblBuyPrice";
this.lblBuyPrice.Size = new System.Drawing.Size(116, 16);
this.lblBuyPrice.TabIndex = 56;
this.lblBuyPrice.Text = "888,888 cr.";
//
// lblSellPriceLabel
//
this.lblSellPriceLabel.AutoSize = true;
this.lblSellPriceLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblSellPriceLabel.Location = new System.Drawing.Point(8, 132);
this.lblSellPriceLabel.Name = "lblSellPriceLabel";
this.lblSellPriceLabel.Size = new System.Drawing.Size(58, 16);
this.lblSellPriceLabel.TabIndex = 55;
this.lblSellPriceLabel.Text = "Sell Price:";
//
// picEquipment
//
this.picEquipment.BackColor = System.Drawing.Color.White;
this.picEquipment.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.picEquipment.Location = new System.Drawing.Point(71, 20);
this.picEquipment.Name = "picEquipment";
this.picEquipment.Size = new System.Drawing.Size(66, 54);
this.picEquipment.TabIndex = 54;
this.picEquipment.TabStop = false;
this.picEquipment.Visible = false;
//
// lblSellPrice
//
this.lblSellPrice.Location = new System.Drawing.Point(80, 132);
this.lblSellPrice.Name = "lblSellPrice";
this.lblSellPrice.Size = new System.Drawing.Size(116, 16);
this.lblSellPrice.TabIndex = 52;
this.lblSellPrice.Text = "888,888 cr.";
//
// lblDescription
//
this.lblDescription.Location = new System.Drawing.Point(8, 188);
this.lblDescription.Name = "lblDescription";
this.lblDescription.Size = new System.Drawing.Size(196, 75);
this.lblDescription.TabIndex = 47;
//
// lblName
//
this.lblName.Location = new System.Drawing.Point(80, 84);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(116, 16);
this.lblName.TabIndex = 35;
this.lblName.Text = "Auto-Repair System";
//
// FormEquipment
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(522, 311);
this.Controls.Add(this.boxShipInfo);
this.Controls.Add(this.boxBuy);
this.Controls.Add(this.boxSell);
this.Controls.Add(this.btnClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormEquipment";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Buy/Sell Equipment";
this.boxSell.ResumeLayout(false);
this.boxBuy.ResumeLayout(false);
this.boxShipInfo.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void Buy()
{
if (selectedEquipment != null && !sellSideSelected)
{
Commander cmdr = game.Commander;
EquipmentType baseType = selectedEquipment.EquipmentType;
if (baseType == EquipmentType.Gadget && cmdr.Ship.HasGadget(((Gadget)selectedEquipment).Type) &&
((Gadget)selectedEquipment).Type != GadgetType.ExtraCargoBays)
FormAlert.Alert(AlertType.EquipmentAlreadyOwn, this);
else if (cmdr.Debt > 0)
FormAlert.Alert(AlertType.DebtNoBuy, this);
else if (selectedEquipment.Price > cmdr.CashToSpend)
FormAlert.Alert(AlertType.EquipmentIF, this);
else if ((baseType == EquipmentType.Weapon && cmdr.Ship.FreeSlotsWeapon == 0) ||
(baseType == EquipmentType.Shield && cmdr.Ship.FreeSlotsShield == 0) ||
(baseType == EquipmentType.Gadget && cmdr.Ship.FreeSlotsGadget == 0))
FormAlert.Alert(AlertType.EquipmentNotEnoughSlots, this);
else if (FormAlert.Alert(AlertType.EquipmentBuy, this, selectedEquipment.Name,
Functions.FormatNumber(selectedEquipment.Price)) == DialogResult.Yes)
{
cmdr.Ship.AddEquipment(selectedEquipment);
cmdr.Cash -= selectedEquipment.Price;
DeselectAll();
UpdateSell();
game.ParentWindow.UpdateAll();
}
}
}
private void DeselectAll()
{
lstSellWeapon.ClearSelected();
lstSellShield.ClearSelected();
lstSellGadget.ClearSelected();
lstBuyWeapon.ClearSelected();
lstBuyShield.ClearSelected();
lstBuyGadget.ClearSelected();
}
private void Sell()
{
if (selectedEquipment != null && sellSideSelected)
{
if (FormAlert.Alert(AlertType.EquipmentSell, this) == DialogResult.Yes)
{
// The slot is the selected index. Two of the three list boxes will have selected indices of -1, so adding
// 2 to the total cancels those out.
int slot = lstSellWeapon.SelectedIndex + lstSellShield.SelectedIndex + lstSellGadget.SelectedIndex + 2;
Commander cmdr = game.Commander;
if (selectedEquipment.EquipmentType == EquipmentType.Gadget &&
(((Gadget)selectedEquipment).Type == GadgetType.ExtraCargoBays ||
((Gadget)selectedEquipment).Type == GadgetType.HiddenCargoBays) &&
cmdr.Ship.FreeCargoBays < 5)
{
FormAlert.Alert(AlertType.EquipmentExtraBaysInUse, this);
}
else
{
cmdr.Cash += selectedEquipment.SellPrice;
cmdr.Ship.RemoveEquipment(selectedEquipment.EquipmentType, slot);
UpdateSell();
game.ParentWindow.UpdateAll();
}
}
}
}
private void UpdateBuy()
{
for (int i = 0; i < equipBuy.Length; i++)
{
if (equipBuy[i].Price > 0)
{
switch(equipBuy[i].EquipmentType)
{
case EquipmentType.Weapon:
lstBuyWeapon.Items.Add(equipBuy[i]);
break;
case EquipmentType.Shield:
lstBuyShield.Items.Add(equipBuy[i]);
break;
case EquipmentType.Gadget:
lstBuyGadget.Items.Add(equipBuy[i]);
break;
}
}
}
ListBox[] buyBoxes = new ListBox[] { lstBuyWeapon, lstBuyShield, lstBuyGadget };
Label[] buyLabels = new Label[] { lblBuyWeaponNone, lblBuyShieldNone, lblBuyGadgetNone };
for (int i = 0; i < buyBoxes.Length; i++)
{
bool entries = (buyBoxes[i].Items.Count > 0);
buyBoxes[i].Visible = entries;
buyLabels[i].Visible = !entries;
if (entries)
buyBoxes[i].Height = buyBoxes[i].ItemHeight * Math.Min(buyBoxes[i].Items.Count, 5) + 2;
}
}
private void UpdateInfo()
{
picEquipment.Visible =
lblNameLabel.Visible =
lblTypeLabel.Visible =
lblBuyPriceLabel.Visible =
lblSellPriceLabel.Visible =
lblPowerLabel.Visible =
lblChargeLabel.Visible = (selectedEquipment != null);
if (selectedEquipment == null)
{
lblName.Text = "";
lblType.Text = "";
lblDescription.Text = "";
lblBuyPrice.Text = "";
lblSellPrice.Text = "";
lblPower.Text = "";
lblCharge.Text = "";
btnBuy.Visible = false;
btnSell.Visible = false;
}
else
{
string power = "";
string charge = "";
switch (selectedEquipment.EquipmentType)
{
case EquipmentType.Weapon:
power = ((Weapon)selectedEquipment).Power.ToString();
charge = Strings.NA;
break;
case EquipmentType.Shield:
power = ((Shield)selectedEquipment).Power.ToString();
charge = sellSideSelected ? ((Shield)selectedEquipment).Charge.ToString() : Strings.NA;
break;
case EquipmentType.Gadget:
power = Strings.NA;
charge = Strings.NA;
break;
}
lblName.Text = selectedEquipment.Name;
lblType.Text = Strings.EquipmentTypes[(int)selectedEquipment.EquipmentType];
lblDescription.Text = Strings.EquipmentDescriptions[(int)selectedEquipment.EquipmentType]
[(int)selectedEquipment.SubType];
lblBuyPrice.Text = Functions.FormatMoney(selectedEquipment.Price);
lblSellPrice.Text = Functions.FormatMoney(selectedEquipment.SellPrice);
lblPower.Text = power;
lblCharge.Text = charge;
picEquipment.Image = selectedEquipment.Image;
btnBuy.Visible = !sellSideSelected && (selectedEquipment.Price > 0);
btnSell.Visible = sellSideSelected;
}
}
private void UpdateSell()
{
sellSideSelected = false;
selectedEquipment = null;
UpdateInfo();
lstSellWeapon.Items.Clear();
lstSellShield.Items.Clear();
lstSellGadget.Items.Clear();
Ship ship = Game.CurrentGame.Commander.Ship;
Equipment[] equipSell;
int index;
equipSell = ship.EquipmentByType(EquipmentType.Weapon);
for (index = 0; index < equipSell.Length; index++)
lstSellWeapon.Items.Add(equipSell[index] == null ? (object)Strings.EquipmentFreeSlot : equipSell[index]);
equipSell = ship.EquipmentByType(EquipmentType.Shield);
for (index = 0; index < equipSell.Length; index++)
lstSellShield.Items.Add(equipSell[index] == null ? (object)Strings.EquipmentFreeSlot : equipSell[index]);
equipSell = ship.EquipmentByType(EquipmentType.Gadget);
for (index = 0; index < equipSell.Length; index++)
lstSellGadget.Items.Add(equipSell[index] == null ? (object)Strings.EquipmentFreeSlot : equipSell[index]);
ListBox[] sellBoxes = new ListBox[] { lstSellWeapon, lstSellShield, lstSellGadget };
Label[] sellLabels = new Label[] { lblSellWeaponNoSlots, lblSellShieldNoSlots, lblSellGadgetNoSlots };
for (int i = 0; i < sellBoxes.Length; i++)
{
bool entries = (sellBoxes[i].Items.Count > 0);
sellBoxes[i].Visible = entries;
sellLabels[i].Visible = !entries;
if (entries)
sellBoxes[i].Height = sellBoxes[i].ItemHeight * Math.Min(sellBoxes[i].Items.Count, 5) + 2;
}
}
#endregion
#region Event Handlers
private void BuyClick(object sender, System.EventArgs e)
{
if (selectedEquipment != null)
Buy();
}
private void SelectedIndexChanged(object sender, System.EventArgs e)
{
if (!handlingSelect)
{
handlingSelect = true;
object obj = ((ListBox)sender).SelectedItem;
DeselectAll();
((ListBox)sender).SelectedItem = obj;
sellSideSelected = (((ListBox)sender).Name.IndexOf("Sell") >= 0);
if (typeof(Equipment).IsInstanceOfType(obj))
selectedEquipment = (Equipment)obj;
else
selectedEquipment = null;
handlingSelect = false;
UpdateInfo();
}
}
private void SellClick(object sender, System.EventArgs e)
{
if (selectedEquipment != null)
Sell();
}
#endregion
}
}
@@ -0,0 +1,499 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnClose.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnClose.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnClose.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxSell.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxSell.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="boxSell.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxSell.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="boxSell.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxSell.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellGadgetNoSlots.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblSellGadgetNoSlots.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellGadgetNoSlots.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellShieldNoSlots.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblSellShieldNoSlots.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellShieldNoSlots.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellWeaponNoSlots.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblSellWeaponNoSlots.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellWeaponNoSlots.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellGadgets.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblSellGadgets.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellGadgets.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellShields.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblSellShields.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellShields.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellWeapons.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblSellWeapons.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellWeapons.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstSellGadget.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstSellGadget.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lstSellGadget.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstSellShield.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstSellShield.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lstSellShield.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstSellWeapon.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lstSellWeapon.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstSellWeapon.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxBuy.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxBuy.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="boxBuy.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxBuy.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="boxBuy.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxBuy.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyGadgetNone.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBuyGadgetNone.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyGadgetNone.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyShieldNone.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBuyShieldNone.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyShieldNone.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyWeaponNone.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBuyWeaponNone.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyWeaponNone.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyGadgets.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBuyGadgets.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyGadgets.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyShields.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBuyShields.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyShields.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyWeapons.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBuyWeapons.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyWeapons.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstBuyGadget.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstBuyGadget.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lstBuyGadget.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstBuyShield.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstBuyShield.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lstBuyShield.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstBuyWeapon.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstBuyWeapon.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lstBuyWeapon.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxShipInfo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxShipInfo.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="boxShipInfo.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxShipInfo.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="boxShipInfo.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxShipInfo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblCharge.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblCharge.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblCharge.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPower.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblPower.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPower.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblChargeLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblChargeLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblChargeLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPowerLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblPowerLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPowerLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblType.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblType.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblType.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblTypeLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblTypeLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblTypeLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblNameLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblNameLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblNameLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnSell.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnSell.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnSell.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnBuy.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnBuy.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnBuy.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyPriceLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBuyPriceLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyPriceLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyPrice.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBuyPrice.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBuyPrice.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellPriceLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblSellPriceLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellPriceLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picEquipment.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picEquipment.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picEquipment.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellPrice.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblSellPrice.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblSellPrice.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblDescription.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblDescription.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblDescription.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblName.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.Name">
<value>FormEquipment</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
+184
View File
@@ -0,0 +1,184 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormFind : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Label lblText;
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.TextBox txtSystem;
private System.Windows.Forms.CheckBox chkTrack;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private static string text = "";
private static bool boxChecked = false;
#endregion
#region Methods
public FormFind()
{
InitializeComponent();
txtSystem.Text = text;
chkTrack.Checked = boxChecked;
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblText = new System.Windows.Forms.Label();
this.btnOk = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.txtSystem = new System.Windows.Forms.TextBox();
this.chkTrack = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// lblText
//
this.lblText.AutoSize = true;
this.lblText.Location = new System.Drawing.Point(8, 8);
this.lblText.Name = "lblText";
this.lblText.Size = new System.Drawing.Size(177, 13);
this.lblText.TabIndex = 3;
this.lblText.Text = "Which system are you looking for?";
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(43, 68);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(40, 22);
this.btnOk.TabIndex = 3;
this.btnOk.Text = "Ok";
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnCancel.Location = new System.Drawing.Point(91, 68);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(50, 22);
this.btnCancel.TabIndex = 4;
this.btnCancel.Text = "Cancel";
//
// txtSystem
//
this.txtSystem.Location = new System.Drawing.Point(8, 24);
this.txtSystem.Name = "txtSystem";
this.txtSystem.Size = new System.Drawing.Size(168, 20);
this.txtSystem.TabIndex = 1;
this.txtSystem.Text = "";
//
// chkTrack
//
this.chkTrack.Location = new System.Drawing.Point(8, 48);
this.chkTrack.Name = "chkTrack";
this.chkTrack.Size = new System.Drawing.Size(112, 16);
this.chkTrack.TabIndex = 2;
this.chkTrack.Text = "Track this system";
//
// FormFind
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnCancel;
this.ClientSize = new System.Drawing.Size(184, 97);
this.ControlBox = false;
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.chkTrack,
this.txtSystem,
this.btnCancel,
this.btnOk,
this.lblText});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormFind";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Find System";
this.Closed += new System.EventHandler(this.FormFind_Closed);
this.ResumeLayout(false);
}
#endregion
#endregion
#region Event Handlers
private void FormFind_Closed(object sender, System.EventArgs e)
{
text = txtSystem.Text;
boxChecked = chkTrack.Checked;
}
#endregion
#region Properties
public string SystemName
{
get
{
return txtSystem.Text;
}
}
public bool TrackSystem
{
get
{
return chkTrack.Checked;
}
}
#endregion
}
}
+102
View File
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormFind</value>
</data>
</root>
+200
View File
@@ -0,0 +1,200 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormGetLoan : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Label lblQuestion;
private System.Windows.Forms.Button btnMax;
private System.Windows.Forms.Button btnNothing;
private System.Windows.Forms.NumericUpDown numAmount;
private System.Windows.Forms.Label lblStatement;
private System.ComponentModel.Container components = null;
#endregion
#region Methods
public FormGetLoan(int max)
{
InitializeComponent();
numAmount.Maximum = max;
numAmount.Value = numAmount.Minimum;
lblStatement.Text = Functions.StringVars(Strings.BankLoanStatementBorrow,
Functions.Multiples(max, Strings.MoneyUnit));
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblQuestion = new System.Windows.Forms.Label();
this.numAmount = new System.Windows.Forms.NumericUpDown();
this.btnOk = new System.Windows.Forms.Button();
this.btnMax = new System.Windows.Forms.Button();
this.btnNothing = new System.Windows.Forms.Button();
this.lblStatement = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.numAmount)).BeginInit();
this.SuspendLayout();
//
// lblQuestion
//
this.lblQuestion.AutoSize = true;
this.lblQuestion.Location = new System.Drawing.Point(8, 24);
this.lblQuestion.Name = "lblQuestion";
this.lblQuestion.Size = new System.Drawing.Size(178, 13);
this.lblQuestion.TabIndex = 3;
this.lblQuestion.Text = "How much do you want to borrow?";
//
// numAmount
//
this.numAmount.Location = new System.Drawing.Point(184, 22);
this.numAmount.Maximum = new System.Decimal(new int[] {
99999,
0,
0,
0});
this.numAmount.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numAmount.Name = "numAmount";
this.numAmount.Size = new System.Drawing.Size(58, 20);
this.numAmount.TabIndex = 1;
this.numAmount.ThousandsSeparator = true;
this.numAmount.Value = new System.Decimal(new int[] {
88888,
0,
0,
0});
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(52, 48);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(41, 22);
this.btnOk.TabIndex = 2;
this.btnOk.Text = "Ok";
//
// btnMax
//
this.btnMax.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnMax.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnMax.Location = new System.Drawing.Point(100, 48);
this.btnMax.Name = "btnMax";
this.btnMax.Size = new System.Drawing.Size(41, 22);
this.btnMax.TabIndex = 3;
this.btnMax.Text = "Max";
this.btnMax.Click += new System.EventHandler(this.btnMax_Click);
//
// btnNothing
//
this.btnNothing.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnNothing.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnNothing.Location = new System.Drawing.Point(148, 48);
this.btnNothing.Name = "btnNothing";
this.btnNothing.Size = new System.Drawing.Size(53, 22);
this.btnNothing.TabIndex = 4;
this.btnNothing.Text = "Nothing";
//
// lblStatement
//
this.lblStatement.Location = new System.Drawing.Point(8, 8);
this.lblStatement.Name = "lblStatement";
this.lblStatement.Size = new System.Drawing.Size(189, 13);
this.lblStatement.TabIndex = 5;
this.lblStatement.Text = "You can borrow up to 88,888 credits.";
//
// FormGetLoan
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnNothing;
this.ClientSize = new System.Drawing.Size(252, 79);
this.ControlBox = false;
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblStatement,
this.btnNothing,
this.btnMax,
this.btnOk,
this.numAmount,
this.lblQuestion});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormGetLoan";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Get Loan";
((System.ComponentModel.ISupportInitialize)(this.numAmount)).EndInit();
this.ResumeLayout(false);
}
#endregion
#endregion
#region Event Handlers
private void btnMax_Click(object sender, System.EventArgs e)
{
numAmount.Value = numAmount.Maximum;
}
#endregion
#region Properties
public int Amount
{
get
{
return (int)numAmount.Value;
}
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormGetLoan</value>
</data>
</root>
@@ -0,0 +1,570 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormJettison : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnJettisonAll9;
private System.Windows.Forms.Button btnJettisonQty9;
private System.Windows.Forms.Button btnJettisonAll8;
private System.Windows.Forms.Button btnJettisonQty8;
private System.Windows.Forms.Button btnJettisonAll7;
private System.Windows.Forms.Button btnJettisonQty7;
private System.Windows.Forms.Button btnJettisonAll6;
private System.Windows.Forms.Button btnJettisonQty6;
private System.Windows.Forms.Button btnJettisonAll5;
private System.Windows.Forms.Button btnJettisonQty5;
private System.Windows.Forms.Button btnJettisonAll4;
private System.Windows.Forms.Button btnJettisonQty4;
private System.Windows.Forms.Button btnJettisonAll3;
private System.Windows.Forms.Button btnJettisonQty3;
private System.Windows.Forms.Button btnJettisonAll2;
private System.Windows.Forms.Button btnJettisonQty2;
private System.Windows.Forms.Button btnJettisonAll1;
private System.Windows.Forms.Button btnJettisonQty1;
private System.Windows.Forms.Button btnJettisonAll0;
private System.Windows.Forms.Button btnJettisonQty0;
private System.Windows.Forms.Label lblTradeCmdty9;
private System.Windows.Forms.Label lblTradeCmdty8;
private System.Windows.Forms.Label lblTradeCmdty2;
private System.Windows.Forms.Label lblTradeCmdty0;
private System.Windows.Forms.Label lblTradeCmdty1;
private System.Windows.Forms.Label lblTradeCmdty6;
private System.Windows.Forms.Label lblTradeCmdty5;
private System.Windows.Forms.Label lblTradeCmdty4;
private System.Windows.Forms.Label lblTradeCmdty3;
private System.Windows.Forms.Label lblTradeCmdty7;
private System.Windows.Forms.Label lblBaysLabel;
private System.Windows.Forms.Label lblBays;
private System.Windows.Forms.Button btnDone;
private System.ComponentModel.Container components = null;
private Button[] btnJettisonQty;
private Button[] btnJettisonAll;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormJettison()
{
InitializeComponent();
#region Arrays of Cargo controls
btnJettisonQty = new Button[]
{
btnJettisonQty0,
btnJettisonQty1,
btnJettisonQty2,
btnJettisonQty3,
btnJettisonQty4,
btnJettisonQty5,
btnJettisonQty6,
btnJettisonQty7,
btnJettisonQty8,
btnJettisonQty9
};
btnJettisonAll = new Button[]
{
btnJettisonAll0,
btnJettisonAll1,
btnJettisonAll2,
btnJettisonAll3,
btnJettisonAll4,
btnJettisonAll5,
btnJettisonAll6,
btnJettisonAll7,
btnJettisonAll8,
btnJettisonAll9
};
#endregion
UpdateAll();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnJettisonAll9 = new System.Windows.Forms.Button();
this.btnJettisonQty9 = new System.Windows.Forms.Button();
this.btnJettisonAll8 = new System.Windows.Forms.Button();
this.btnJettisonQty8 = new System.Windows.Forms.Button();
this.btnJettisonAll7 = new System.Windows.Forms.Button();
this.btnJettisonQty7 = new System.Windows.Forms.Button();
this.btnJettisonAll6 = new System.Windows.Forms.Button();
this.btnJettisonQty6 = new System.Windows.Forms.Button();
this.btnJettisonAll5 = new System.Windows.Forms.Button();
this.btnJettisonQty5 = new System.Windows.Forms.Button();
this.btnJettisonAll4 = new System.Windows.Forms.Button();
this.btnJettisonQty4 = new System.Windows.Forms.Button();
this.btnJettisonAll3 = new System.Windows.Forms.Button();
this.btnJettisonQty3 = new System.Windows.Forms.Button();
this.btnJettisonAll2 = new System.Windows.Forms.Button();
this.btnJettisonQty2 = new System.Windows.Forms.Button();
this.btnJettisonAll1 = new System.Windows.Forms.Button();
this.btnJettisonQty1 = new System.Windows.Forms.Button();
this.btnJettisonAll0 = new System.Windows.Forms.Button();
this.btnJettisonQty0 = new System.Windows.Forms.Button();
this.lblTradeCmdty9 = new System.Windows.Forms.Label();
this.lblTradeCmdty8 = new System.Windows.Forms.Label();
this.lblTradeCmdty2 = new System.Windows.Forms.Label();
this.lblTradeCmdty0 = new System.Windows.Forms.Label();
this.lblTradeCmdty1 = new System.Windows.Forms.Label();
this.lblTradeCmdty6 = new System.Windows.Forms.Label();
this.lblTradeCmdty5 = new System.Windows.Forms.Label();
this.lblTradeCmdty4 = new System.Windows.Forms.Label();
this.lblTradeCmdty3 = new System.Windows.Forms.Label();
this.lblTradeCmdty7 = new System.Windows.Forms.Label();
this.lblBaysLabel = new System.Windows.Forms.Label();
this.lblBays = new System.Windows.Forms.Label();
this.btnDone = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// btnJettisonAll9
//
this.btnJettisonAll9.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll9.Location = new System.Drawing.Point(100, 220);
this.btnJettisonAll9.Name = "btnJettisonAll9";
this.btnJettisonAll9.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll9.TabIndex = 141;
this.btnJettisonAll9.Text = "All";
this.btnJettisonAll9.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty9
//
this.btnJettisonQty9.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty9.Location = new System.Drawing.Point(68, 220);
this.btnJettisonQty9.Name = "btnJettisonQty9";
this.btnJettisonQty9.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty9.TabIndex = 140;
this.btnJettisonQty9.Text = "88";
this.btnJettisonQty9.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll8
//
this.btnJettisonAll8.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll8.Location = new System.Drawing.Point(100, 196);
this.btnJettisonAll8.Name = "btnJettisonAll8";
this.btnJettisonAll8.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll8.TabIndex = 139;
this.btnJettisonAll8.Text = "All";
this.btnJettisonAll8.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty8
//
this.btnJettisonQty8.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty8.Location = new System.Drawing.Point(68, 196);
this.btnJettisonQty8.Name = "btnJettisonQty8";
this.btnJettisonQty8.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty8.TabIndex = 138;
this.btnJettisonQty8.Text = "88";
this.btnJettisonQty8.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll7
//
this.btnJettisonAll7.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll7.Location = new System.Drawing.Point(100, 172);
this.btnJettisonAll7.Name = "btnJettisonAll7";
this.btnJettisonAll7.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll7.TabIndex = 137;
this.btnJettisonAll7.Text = "All";
this.btnJettisonAll7.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty7
//
this.btnJettisonQty7.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty7.Location = new System.Drawing.Point(68, 172);
this.btnJettisonQty7.Name = "btnJettisonQty7";
this.btnJettisonQty7.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty7.TabIndex = 136;
this.btnJettisonQty7.Text = "88";
this.btnJettisonQty7.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll6
//
this.btnJettisonAll6.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll6.Location = new System.Drawing.Point(100, 148);
this.btnJettisonAll6.Name = "btnJettisonAll6";
this.btnJettisonAll6.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll6.TabIndex = 135;
this.btnJettisonAll6.Text = "All";
this.btnJettisonAll6.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty6
//
this.btnJettisonQty6.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty6.Location = new System.Drawing.Point(68, 148);
this.btnJettisonQty6.Name = "btnJettisonQty6";
this.btnJettisonQty6.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty6.TabIndex = 134;
this.btnJettisonQty6.Text = "88";
this.btnJettisonQty6.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll5
//
this.btnJettisonAll5.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll5.Location = new System.Drawing.Point(100, 124);
this.btnJettisonAll5.Name = "btnJettisonAll5";
this.btnJettisonAll5.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll5.TabIndex = 133;
this.btnJettisonAll5.Text = "All";
this.btnJettisonAll5.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty5
//
this.btnJettisonQty5.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty5.Location = new System.Drawing.Point(68, 124);
this.btnJettisonQty5.Name = "btnJettisonQty5";
this.btnJettisonQty5.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty5.TabIndex = 132;
this.btnJettisonQty5.Text = "88";
this.btnJettisonQty5.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll4
//
this.btnJettisonAll4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll4.Location = new System.Drawing.Point(100, 100);
this.btnJettisonAll4.Name = "btnJettisonAll4";
this.btnJettisonAll4.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll4.TabIndex = 131;
this.btnJettisonAll4.Text = "All";
this.btnJettisonAll4.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty4
//
this.btnJettisonQty4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty4.Location = new System.Drawing.Point(68, 100);
this.btnJettisonQty4.Name = "btnJettisonQty4";
this.btnJettisonQty4.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty4.TabIndex = 130;
this.btnJettisonQty4.Text = "88";
this.btnJettisonQty4.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll3
//
this.btnJettisonAll3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll3.Location = new System.Drawing.Point(100, 76);
this.btnJettisonAll3.Name = "btnJettisonAll3";
this.btnJettisonAll3.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll3.TabIndex = 129;
this.btnJettisonAll3.Text = "All";
this.btnJettisonAll3.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty3
//
this.btnJettisonQty3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty3.Location = new System.Drawing.Point(68, 76);
this.btnJettisonQty3.Name = "btnJettisonQty3";
this.btnJettisonQty3.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty3.TabIndex = 128;
this.btnJettisonQty3.Text = "88";
this.btnJettisonQty3.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll2
//
this.btnJettisonAll2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll2.Location = new System.Drawing.Point(100, 52);
this.btnJettisonAll2.Name = "btnJettisonAll2";
this.btnJettisonAll2.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll2.TabIndex = 127;
this.btnJettisonAll2.Text = "All";
this.btnJettisonAll2.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty2
//
this.btnJettisonQty2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty2.Location = new System.Drawing.Point(68, 52);
this.btnJettisonQty2.Name = "btnJettisonQty2";
this.btnJettisonQty2.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty2.TabIndex = 126;
this.btnJettisonQty2.Text = "88";
this.btnJettisonQty2.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll1
//
this.btnJettisonAll1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll1.Location = new System.Drawing.Point(100, 28);
this.btnJettisonAll1.Name = "btnJettisonAll1";
this.btnJettisonAll1.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll1.TabIndex = 125;
this.btnJettisonAll1.Text = "All";
this.btnJettisonAll1.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty1
//
this.btnJettisonQty1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty1.Location = new System.Drawing.Point(68, 28);
this.btnJettisonQty1.Name = "btnJettisonQty1";
this.btnJettisonQty1.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty1.TabIndex = 124;
this.btnJettisonQty1.Text = "88";
this.btnJettisonQty1.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonAll0
//
this.btnJettisonAll0.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonAll0.Location = new System.Drawing.Point(100, 4);
this.btnJettisonAll0.Name = "btnJettisonAll0";
this.btnJettisonAll0.Size = new System.Drawing.Size(32, 22);
this.btnJettisonAll0.TabIndex = 123;
this.btnJettisonAll0.Text = "All";
this.btnJettisonAll0.Click += new System.EventHandler(this.btnJettison_Click);
//
// btnJettisonQty0
//
this.btnJettisonQty0.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettisonQty0.Location = new System.Drawing.Point(68, 4);
this.btnJettisonQty0.Name = "btnJettisonQty0";
this.btnJettisonQty0.Size = new System.Drawing.Size(28, 22);
this.btnJettisonQty0.TabIndex = 122;
this.btnJettisonQty0.Text = "88";
this.btnJettisonQty0.Click += new System.EventHandler(this.btnJettison_Click);
//
// lblTradeCmdty9
//
this.lblTradeCmdty9.AutoSize = true;
this.lblTradeCmdty9.Location = new System.Drawing.Point(8, 224);
this.lblTradeCmdty9.Name = "lblTradeCmdty9";
this.lblTradeCmdty9.Size = new System.Drawing.Size(40, 13);
this.lblTradeCmdty9.TabIndex = 151;
this.lblTradeCmdty9.Text = "Robots";
//
// lblTradeCmdty8
//
this.lblTradeCmdty8.AutoSize = true;
this.lblTradeCmdty8.Location = new System.Drawing.Point(8, 200);
this.lblTradeCmdty8.Name = "lblTradeCmdty8";
this.lblTradeCmdty8.Size = new System.Drawing.Size(51, 13);
this.lblTradeCmdty8.TabIndex = 150;
this.lblTradeCmdty8.Text = "Narcotics";
//
// lblTradeCmdty2
//
this.lblTradeCmdty2.AutoSize = true;
this.lblTradeCmdty2.Location = new System.Drawing.Point(8, 56);
this.lblTradeCmdty2.Name = "lblTradeCmdty2";
this.lblTradeCmdty2.Size = new System.Drawing.Size(30, 13);
this.lblTradeCmdty2.TabIndex = 149;
this.lblTradeCmdty2.Text = "Food";
//
// lblTradeCmdty0
//
this.lblTradeCmdty0.AutoSize = true;
this.lblTradeCmdty0.Location = new System.Drawing.Point(8, 8);
this.lblTradeCmdty0.Name = "lblTradeCmdty0";
this.lblTradeCmdty0.Size = new System.Drawing.Size(34, 13);
this.lblTradeCmdty0.TabIndex = 148;
this.lblTradeCmdty0.Text = "Water";
//
// lblTradeCmdty1
//
this.lblTradeCmdty1.AutoSize = true;
this.lblTradeCmdty1.Location = new System.Drawing.Point(8, 32);
this.lblTradeCmdty1.Name = "lblTradeCmdty1";
this.lblTradeCmdty1.Size = new System.Drawing.Size(27, 13);
this.lblTradeCmdty1.TabIndex = 147;
this.lblTradeCmdty1.Text = "Furs";
//
// lblTradeCmdty6
//
this.lblTradeCmdty6.AutoSize = true;
this.lblTradeCmdty6.Location = new System.Drawing.Point(8, 152);
this.lblTradeCmdty6.Name = "lblTradeCmdty6";
this.lblTradeCmdty6.Size = new System.Drawing.Size(50, 13);
this.lblTradeCmdty6.TabIndex = 146;
this.lblTradeCmdty6.Text = "Medicine";
//
// lblTradeCmdty5
//
this.lblTradeCmdty5.AutoSize = true;
this.lblTradeCmdty5.Location = new System.Drawing.Point(8, 128);
this.lblTradeCmdty5.Name = "lblTradeCmdty5";
this.lblTradeCmdty5.Size = new System.Drawing.Size(49, 13);
this.lblTradeCmdty5.TabIndex = 145;
this.lblTradeCmdty5.Text = "Firearms";
//
// lblTradeCmdty4
//
this.lblTradeCmdty4.AutoSize = true;
this.lblTradeCmdty4.Location = new System.Drawing.Point(8, 104);
this.lblTradeCmdty4.Name = "lblTradeCmdty4";
this.lblTradeCmdty4.Size = new System.Drawing.Size(41, 13);
this.lblTradeCmdty4.TabIndex = 144;
this.lblTradeCmdty4.Text = "Games";
//
// lblTradeCmdty3
//
this.lblTradeCmdty3.AutoSize = true;
this.lblTradeCmdty3.Location = new System.Drawing.Point(8, 80);
this.lblTradeCmdty3.Name = "lblTradeCmdty3";
this.lblTradeCmdty3.Size = new System.Drawing.Size(23, 13);
this.lblTradeCmdty3.TabIndex = 143;
this.lblTradeCmdty3.Text = "Ore";
//
// lblTradeCmdty7
//
this.lblTradeCmdty7.AutoSize = true;
this.lblTradeCmdty7.Location = new System.Drawing.Point(8, 176);
this.lblTradeCmdty7.Name = "lblTradeCmdty7";
this.lblTradeCmdty7.Size = new System.Drawing.Size(53, 13);
this.lblTradeCmdty7.TabIndex = 142;
this.lblTradeCmdty7.Text = "Machines";
//
// lblBaysLabel
//
this.lblBaysLabel.AutoSize = true;
this.lblBaysLabel.Location = new System.Drawing.Point(144, 8);
this.lblBaysLabel.Name = "lblBaysLabel";
this.lblBaysLabel.Size = new System.Drawing.Size(33, 13);
this.lblBaysLabel.TabIndex = 152;
this.lblBaysLabel.Text = "Bays:";
//
// lblBays
//
this.lblBays.Location = new System.Drawing.Point(176, 8);
this.lblBays.Name = "lblBays";
this.lblBays.Size = new System.Drawing.Size(33, 13);
this.lblBays.TabIndex = 153;
this.lblBays.Text = "88/88";
//
// btnDone
//
this.btnDone.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnDone.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnDone.Location = new System.Drawing.Point(87, 252);
this.btnDone.Name = "btnDone";
this.btnDone.Size = new System.Drawing.Size(44, 22);
this.btnDone.TabIndex = 154;
this.btnDone.Text = "Done";
//
// FormJettison
//
this.AcceptButton = this.btnDone;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnDone;
this.ClientSize = new System.Drawing.Size(218, 283);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnDone,
this.lblBays,
this.lblBaysLabel,
this.lblTradeCmdty9,
this.lblTradeCmdty8,
this.lblTradeCmdty2,
this.lblTradeCmdty0,
this.lblTradeCmdty1,
this.lblTradeCmdty6,
this.lblTradeCmdty5,
this.lblTradeCmdty4,
this.lblTradeCmdty3,
this.lblTradeCmdty7,
this.btnJettisonAll9,
this.btnJettisonQty9,
this.btnJettisonAll8,
this.btnJettisonQty8,
this.btnJettisonAll7,
this.btnJettisonQty7,
this.btnJettisonAll6,
this.btnJettisonQty6,
this.btnJettisonAll5,
this.btnJettisonQty5,
this.btnJettisonAll4,
this.btnJettisonQty4,
this.btnJettisonAll3,
this.btnJettisonQty3,
this.btnJettisonAll2,
this.btnJettisonQty2,
this.btnJettisonAll1,
this.btnJettisonQty1,
this.btnJettisonAll0,
this.btnJettisonQty0});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormJettison";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Jettison Cargo";
this.ResumeLayout(false);
}
#endregion
private void Jettison(int tradeItem, bool all)
{
game.CargoJettison(tradeItem, all, this);
UpdateAll();
}
private void UpdateAll()
{
Ship ship = game.Commander.Ship;
for (int i = 0; i < btnJettisonQty.Length; i++)
btnJettisonQty[i].Text = ship.Cargo[i].ToString();
lblBays.Text = ship.FilledCargoBays.ToString() + "/" + ship.CargoBays.ToString();
}
#endregion
#region Event Handlers
private void btnJettison_Click(object sender, System.EventArgs e)
{
string name = ((Button)sender).Name;
bool all = name.IndexOf("Qty") < 0;
int index = int.Parse(name.Substring(name.Length - 1));
Jettison(index, all);
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormJettison</value>
</data>
</root>
+839
View File
@@ -0,0 +1,839 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormMonster : System.Windows.Forms.Form
{
#region Constants
private const int SplitSystems = 31;
#endregion
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Panel pnlMercs;
private System.Windows.Forms.Panel pnlQuests;
private System.Windows.Forms.Panel pnlShipyards;
private System.Windows.Forms.PictureBox picLine1;
private System.Windows.Forms.PictureBox picLine0;
private System.Windows.Forms.PictureBox picLine2;
private System.Windows.Forms.Label lblMercLabel;
private System.Windows.Forms.Label lblQuestsLabel;
private System.Windows.Forms.Label lblShipyardsLabel;
private System.Windows.Forms.LinkLabel lblMercIDLabel;
private System.Windows.Forms.LinkLabel lblMercNameLabel;
private System.Windows.Forms.LinkLabel lblMercSkillLabelPilot;
private System.Windows.Forms.LinkLabel lblMercSkillLabelFighter;
private System.Windows.Forms.LinkLabel lblMercSkillLabelTrader;
private System.Windows.Forms.LinkLabel lblMercSkillLabelEngineer;
private System.Windows.Forms.LinkLabel lblMercSystemLabel;
private System.Windows.Forms.LinkLabel lblQuestSystemLabel;
private System.Windows.Forms.LinkLabel lblQuestDescLabel;
private System.Windows.Forms.LinkLabel lblShipyardsSystemLabel;
private System.Windows.Forms.LinkLabel lblShipyardsDescLabel;
private System.Windows.Forms.Label lblMercIds;
private System.Windows.Forms.Label lblMercNames;
private System.Windows.Forms.Label lblMercSkillsPilot;
private System.Windows.Forms.Label lblMercSkillsFighter;
private System.Windows.Forms.Label lblMercSkillsTrader;
private System.Windows.Forms.Label lblMercSkillsEngineer;
private System.Windows.Forms.LinkLabel lblMercSystems;
private System.Windows.Forms.LinkLabel lblMercSystems2;
private System.Windows.Forms.LinkLabel lblQuestSystems;
private System.Windows.Forms.Label lblQuests;
private System.Windows.Forms.LinkLabel lblShipyardSystems;
private System.Windows.Forms.Label lblShipyards;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
private int[] mercIds;
private int[] questSystemIds;
private int[] shipyardSystemIds;
#endregion
#region Methods
public FormMonster()
{
InitializeComponent();
PopulateIdArrays();
SetLabelHeights();
UpdateAll();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnClose = new System.Windows.Forms.Button();
this.picLine1 = new System.Windows.Forms.PictureBox();
this.picLine0 = new System.Windows.Forms.PictureBox();
this.lblQuestsLabel = new System.Windows.Forms.Label();
this.lblMercLabel = new System.Windows.Forms.Label();
this.lblMercSkillLabelPilot = new System.Windows.Forms.LinkLabel();
this.lblMercSkillLabelFighter = new System.Windows.Forms.LinkLabel();
this.lblMercSkillLabelTrader = new System.Windows.Forms.LinkLabel();
this.lblMercSkillLabelEngineer = new System.Windows.Forms.LinkLabel();
this.lblMercSystemLabel = new System.Windows.Forms.LinkLabel();
this.lblQuestSystemLabel = new System.Windows.Forms.LinkLabel();
this.lblQuestDescLabel = new System.Windows.Forms.LinkLabel();
this.lblMercIDLabel = new System.Windows.Forms.LinkLabel();
this.lblMercNameLabel = new System.Windows.Forms.LinkLabel();
this.lblShipyardsDescLabel = new System.Windows.Forms.LinkLabel();
this.lblShipyardsSystemLabel = new System.Windows.Forms.LinkLabel();
this.lblShipyardsLabel = new System.Windows.Forms.Label();
this.pnlMercs = new System.Windows.Forms.Panel();
this.lblMercSkillsPilot = new System.Windows.Forms.Label();
this.lblMercSkillsFighter = new System.Windows.Forms.Label();
this.lblMercSkillsTrader = new System.Windows.Forms.Label();
this.lblMercSkillsEngineer = new System.Windows.Forms.Label();
this.lblMercSystems = new System.Windows.Forms.LinkLabel();
this.lblMercIds = new System.Windows.Forms.Label();
this.lblMercNames = new System.Windows.Forms.Label();
this.lblMercSystems2 = new System.Windows.Forms.LinkLabel();
this.pnlQuests = new System.Windows.Forms.Panel();
this.lblQuests = new System.Windows.Forms.Label();
this.lblQuestSystems = new System.Windows.Forms.LinkLabel();
this.pnlShipyards = new System.Windows.Forms.Panel();
this.lblShipyards = new System.Windows.Forms.Label();
this.lblShipyardSystems = new System.Windows.Forms.LinkLabel();
this.picLine2 = new System.Windows.Forms.PictureBox();
this.pnlMercs.SuspendLayout();
this.pnlQuests.SuspendLayout();
this.pnlShipyards.SuspendLayout();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// picLine1
//
this.picLine1.BackColor = System.Drawing.Color.DimGray;
this.picLine1.Location = new System.Drawing.Point(4, 40);
this.picLine1.Name = "picLine1";
this.picLine1.Size = new System.Drawing.Size(609, 1);
this.picLine1.TabIndex = 133;
this.picLine1.TabStop = false;
//
// picLine0
//
this.picLine0.BackColor = System.Drawing.Color.DimGray;
this.picLine0.Location = new System.Drawing.Point(234, 8);
this.picLine0.Name = "picLine0";
this.picLine0.Size = new System.Drawing.Size(1, 347);
this.picLine0.TabIndex = 132;
this.picLine0.TabStop = false;
//
// lblQuestsLabel
//
this.lblQuestsLabel.AutoSize = true;
this.lblQuestsLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblQuestsLabel.Location = new System.Drawing.Point(88, 4);
this.lblQuestsLabel.Name = "lblQuestsLabel";
this.lblQuestsLabel.Size = new System.Drawing.Size(50, 19);
this.lblQuestsLabel.TabIndex = 134;
this.lblQuestsLabel.Text = "Quests";
//
// lblMercLabel
//
this.lblMercLabel.AutoSize = true;
this.lblMercLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercLabel.Location = new System.Drawing.Point(348, 4);
this.lblMercLabel.Name = "lblMercLabel";
this.lblMercLabel.Size = new System.Drawing.Size(84, 19);
this.lblMercLabel.TabIndex = 141;
this.lblMercLabel.Text = "Mercenaries";
//
// lblMercSkillLabelPilot
//
this.lblMercSkillLabelPilot.AutoSize = true;
this.lblMercSkillLabelPilot.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercSkillLabelPilot.Location = new System.Drawing.Point(341, 24);
this.lblMercSkillLabelPilot.Name = "lblMercSkillLabelPilot";
this.lblMercSkillLabelPilot.Size = new System.Drawing.Size(12, 16);
this.lblMercSkillLabelPilot.TabIndex = 7;
this.lblMercSkillLabelPilot.TabStop = true;
this.lblMercSkillLabelPilot.Text = "P";
this.lblMercSkillLabelPilot.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.lblMercSkillLabelPilot.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblMercSkillLabelFighter
//
this.lblMercSkillLabelFighter.AutoSize = true;
this.lblMercSkillLabelFighter.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercSkillLabelFighter.Location = new System.Drawing.Point(362, 24);
this.lblMercSkillLabelFighter.Name = "lblMercSkillLabelFighter";
this.lblMercSkillLabelFighter.Size = new System.Drawing.Size(11, 16);
this.lblMercSkillLabelFighter.TabIndex = 8;
this.lblMercSkillLabelFighter.TabStop = true;
this.lblMercSkillLabelFighter.Text = "F";
this.lblMercSkillLabelFighter.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.lblMercSkillLabelFighter.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblMercSkillLabelTrader
//
this.lblMercSkillLabelTrader.AutoSize = true;
this.lblMercSkillLabelTrader.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercSkillLabelTrader.Location = new System.Drawing.Point(382, 24);
this.lblMercSkillLabelTrader.Name = "lblMercSkillLabelTrader";
this.lblMercSkillLabelTrader.Size = new System.Drawing.Size(11, 16);
this.lblMercSkillLabelTrader.TabIndex = 9;
this.lblMercSkillLabelTrader.TabStop = true;
this.lblMercSkillLabelTrader.Text = "T";
this.lblMercSkillLabelTrader.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.lblMercSkillLabelTrader.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblMercSkillLabelEngineer
//
this.lblMercSkillLabelEngineer.AutoSize = true;
this.lblMercSkillLabelEngineer.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercSkillLabelEngineer.Location = new System.Drawing.Point(401, 24);
this.lblMercSkillLabelEngineer.Name = "lblMercSkillLabelEngineer";
this.lblMercSkillLabelEngineer.Size = new System.Drawing.Size(12, 16);
this.lblMercSkillLabelEngineer.TabIndex = 10;
this.lblMercSkillLabelEngineer.TabStop = true;
this.lblMercSkillLabelEngineer.Text = "E";
this.lblMercSkillLabelEngineer.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.lblMercSkillLabelEngineer.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblMercSystemLabel
//
this.lblMercSystemLabel.AutoSize = true;
this.lblMercSystemLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercSystemLabel.Location = new System.Drawing.Point(425, 24);
this.lblMercSystemLabel.Name = "lblMercSystemLabel";
this.lblMercSystemLabel.Size = new System.Drawing.Size(43, 16);
this.lblMercSystemLabel.TabIndex = 11;
this.lblMercSystemLabel.TabStop = true;
this.lblMercSystemLabel.Text = "System";
this.lblMercSystemLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblQuestSystemLabel
//
this.lblQuestSystemLabel.AutoSize = true;
this.lblQuestSystemLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblQuestSystemLabel.Location = new System.Drawing.Point(13, 24);
this.lblQuestSystemLabel.Name = "lblQuestSystemLabel";
this.lblQuestSystemLabel.Size = new System.Drawing.Size(43, 16);
this.lblQuestSystemLabel.TabIndex = 1;
this.lblQuestSystemLabel.TabStop = true;
this.lblQuestSystemLabel.Text = "System";
this.lblQuestSystemLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblQuestDescLabel
//
this.lblQuestDescLabel.AutoSize = true;
this.lblQuestDescLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblQuestDescLabel.Location = new System.Drawing.Point(85, 24);
this.lblQuestDescLabel.Name = "lblQuestDescLabel";
this.lblQuestDescLabel.Size = new System.Drawing.Size(63, 16);
this.lblQuestDescLabel.TabIndex = 2;
this.lblQuestDescLabel.TabStop = true;
this.lblQuestDescLabel.Text = "Description";
this.lblQuestDescLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblMercIDLabel
//
this.lblMercIDLabel.AutoSize = true;
this.lblMercIDLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercIDLabel.Location = new System.Drawing.Point(247, 24);
this.lblMercIDLabel.Name = "lblMercIDLabel";
this.lblMercIDLabel.Size = new System.Drawing.Size(16, 16);
this.lblMercIDLabel.TabIndex = 5;
this.lblMercIDLabel.TabStop = true;
this.lblMercIDLabel.Text = "ID";
this.lblMercIDLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.lblMercIDLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblMercNameLabel
//
this.lblMercNameLabel.AutoSize = true;
this.lblMercNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMercNameLabel.Location = new System.Drawing.Point(268, 24);
this.lblMercNameLabel.Name = "lblMercNameLabel";
this.lblMercNameLabel.Size = new System.Drawing.Size(35, 16);
this.lblMercNameLabel.TabIndex = 6;
this.lblMercNameLabel.TabStop = true;
this.lblMercNameLabel.Text = "Name";
this.lblMercNameLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblShipyardsDescLabel
//
this.lblShipyardsDescLabel.AutoSize = true;
this.lblShipyardsDescLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblShipyardsDescLabel.Location = new System.Drawing.Point(85, 258);
this.lblShipyardsDescLabel.Name = "lblShipyardsDescLabel";
this.lblShipyardsDescLabel.Size = new System.Drawing.Size(63, 16);
this.lblShipyardsDescLabel.TabIndex = 4;
this.lblShipyardsDescLabel.TabStop = true;
this.lblShipyardsDescLabel.Text = "Description";
this.lblShipyardsDescLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblShipyardsSystemLabel
//
this.lblShipyardsSystemLabel.AutoSize = true;
this.lblShipyardsSystemLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblShipyardsSystemLabel.Location = new System.Drawing.Point(13, 258);
this.lblShipyardsSystemLabel.Name = "lblShipyardsSystemLabel";
this.lblShipyardsSystemLabel.Size = new System.Drawing.Size(43, 16);
this.lblShipyardsSystemLabel.TabIndex = 3;
this.lblShipyardsSystemLabel.TabStop = true;
this.lblShipyardsSystemLabel.Text = "System";
this.lblShipyardsSystemLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SortLinkClicked);
//
// lblShipyardsLabel
//
this.lblShipyardsLabel.AutoSize = true;
this.lblShipyardsLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblShipyardsLabel.Location = new System.Drawing.Point(79, 238);
this.lblShipyardsLabel.Name = "lblShipyardsLabel";
this.lblShipyardsLabel.Size = new System.Drawing.Size(68, 19);
this.lblShipyardsLabel.TabIndex = 155;
this.lblShipyardsLabel.Text = "Shipyards";
//
// pnlMercs
//
this.pnlMercs.AutoScroll = true;
this.pnlMercs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pnlMercs.Controls.Add(this.lblMercSkillsPilot);
this.pnlMercs.Controls.Add(this.lblMercSkillsFighter);
this.pnlMercs.Controls.Add(this.lblMercSkillsTrader);
this.pnlMercs.Controls.Add(this.lblMercSkillsEngineer);
this.pnlMercs.Controls.Add(this.lblMercSystems);
this.pnlMercs.Controls.Add(this.lblMercIds);
this.pnlMercs.Controls.Add(this.lblMercNames);
this.pnlMercs.Controls.Add(this.lblMercSystems2);
this.pnlMercs.Location = new System.Drawing.Point(239, 44);
this.pnlMercs.Name = "pnlMercs";
this.pnlMercs.Size = new System.Drawing.Size(371, 307);
this.pnlMercs.TabIndex = 158;
//
// lblMercSkillsPilot
//
this.lblMercSkillsPilot.Location = new System.Drawing.Point(93, 4);
this.lblMercSkillsPilot.Name = "lblMercSkillsPilot";
this.lblMercSkillsPilot.Size = new System.Drawing.Size(20, 563);
this.lblMercSkillsPilot.TabIndex = 144;
this.lblMercSkillsPilot.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblMercSkillsFighter
//
this.lblMercSkillsFighter.Location = new System.Drawing.Point(113, 4);
this.lblMercSkillsFighter.Name = "lblMercSkillsFighter";
this.lblMercSkillsFighter.Size = new System.Drawing.Size(20, 563);
this.lblMercSkillsFighter.TabIndex = 145;
this.lblMercSkillsFighter.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblMercSkillsTrader
//
this.lblMercSkillsTrader.Location = new System.Drawing.Point(133, 4);
this.lblMercSkillsTrader.Name = "lblMercSkillsTrader";
this.lblMercSkillsTrader.Size = new System.Drawing.Size(20, 563);
this.lblMercSkillsTrader.TabIndex = 146;
this.lblMercSkillsTrader.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblMercSkillsEngineer
//
this.lblMercSkillsEngineer.Location = new System.Drawing.Point(153, 4);
this.lblMercSkillsEngineer.Name = "lblMercSkillsEngineer";
this.lblMercSkillsEngineer.Size = new System.Drawing.Size(20, 563);
this.lblMercSkillsEngineer.TabIndex = 147;
this.lblMercSkillsEngineer.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblMercSystems
//
this.lblMercSystems.LinkArea = new System.Windows.Forms.LinkArea(0, 0);
this.lblMercSystems.Location = new System.Drawing.Point(185, 4);
this.lblMercSystems.Name = "lblMercSystems";
this.lblMercSystems.Size = new System.Drawing.Size(160, 387);
this.lblMercSystems.TabIndex = 14;
this.lblMercSystems.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SystemLinkClicked);
//
// lblMercIds
//
this.lblMercIds.Location = new System.Drawing.Point(0, 4);
this.lblMercIds.Name = "lblMercIds";
this.lblMercIds.Size = new System.Drawing.Size(23, 563);
this.lblMercIds.TabIndex = 142;
this.lblMercIds.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblMercNames
//
this.lblMercNames.Location = new System.Drawing.Point(28, 4);
this.lblMercNames.Name = "lblMercNames";
this.lblMercNames.Size = new System.Drawing.Size(69, 563);
this.lblMercNames.TabIndex = 141;
//
// lblMercSystems2
//
this.lblMercSystems2.LinkArea = new System.Windows.Forms.LinkArea(0, 0);
this.lblMercSystems2.Location = new System.Drawing.Point(185, 391);
this.lblMercSystems2.Name = "lblMercSystems2";
this.lblMercSystems2.Size = new System.Drawing.Size(160, 175);
this.lblMercSystems2.TabIndex = 148;
this.lblMercSystems2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SystemLinkClicked);
//
// pnlQuests
//
this.pnlQuests.AutoScroll = true;
this.pnlQuests.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pnlQuests.Controls.Add(this.lblQuests);
this.pnlQuests.Controls.Add(this.lblQuestSystems);
this.pnlQuests.Location = new System.Drawing.Point(8, 44);
this.pnlQuests.Name = "pnlQuests";
this.pnlQuests.Size = new System.Drawing.Size(222, 182);
this.pnlQuests.TabIndex = 159;
//
// lblQuests
//
this.lblQuests.Location = new System.Drawing.Point(76, 4);
this.lblQuests.Name = "lblQuests";
this.lblQuests.Size = new System.Drawing.Size(120, 350);
this.lblQuests.TabIndex = 48;
//
// lblQuestSystems
//
this.lblQuestSystems.LinkArea = new System.Windows.Forms.LinkArea(0, 0);
this.lblQuestSystems.Location = new System.Drawing.Point(4, 4);
this.lblQuestSystems.Name = "lblQuestSystems";
this.lblQuestSystems.Size = new System.Drawing.Size(68, 350);
this.lblQuestSystems.TabIndex = 12;
this.lblQuestSystems.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SystemLinkClicked);
//
// pnlShipyards
//
this.pnlShipyards.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pnlShipyards.Controls.Add(this.lblShipyards);
this.pnlShipyards.Controls.Add(this.lblShipyardSystems);
this.pnlShipyards.Location = new System.Drawing.Point(8, 278);
this.pnlShipyards.Name = "pnlShipyards";
this.pnlShipyards.Size = new System.Drawing.Size(222, 73);
this.pnlShipyards.TabIndex = 160;
//
// lblShipyards
//
this.lblShipyards.Location = new System.Drawing.Point(76, 4);
this.lblShipyards.Name = "lblShipyards";
this.lblShipyards.Size = new System.Drawing.Size(120, 63);
this.lblShipyards.TabIndex = 158;
//
// lblShipyardSystems
//
this.lblShipyardSystems.LinkArea = new System.Windows.Forms.LinkArea(0, 0);
this.lblShipyardSystems.Location = new System.Drawing.Point(4, 4);
this.lblShipyardSystems.Name = "lblShipyardSystems";
this.lblShipyardSystems.Size = new System.Drawing.Size(68, 63);
this.lblShipyardSystems.TabIndex = 13;
this.lblShipyardSystems.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SystemLinkClicked);
//
// picLine2
//
this.picLine2.BackColor = System.Drawing.Color.DimGray;
this.picLine2.Location = new System.Drawing.Point(4, 274);
this.picLine2.Name = "picLine2";
this.picLine2.Size = new System.Drawing.Size(222, 1);
this.picLine2.TabIndex = 161;
this.picLine2.TabStop = false;
//
// FormMonster
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(617, 358);
this.Controls.Add(this.picLine2);
this.Controls.Add(this.pnlShipyards);
this.Controls.Add(this.pnlQuests);
this.Controls.Add(this.picLine1);
this.Controls.Add(this.picLine0);
this.Controls.Add(this.pnlMercs);
this.Controls.Add(this.lblShipyardsLabel);
this.Controls.Add(this.lblShipyardsDescLabel);
this.Controls.Add(this.lblShipyardsSystemLabel);
this.Controls.Add(this.lblMercNameLabel);
this.Controls.Add(this.lblMercIDLabel);
this.Controls.Add(this.lblQuestDescLabel);
this.Controls.Add(this.lblQuestSystemLabel);
this.Controls.Add(this.lblMercSystemLabel);
this.Controls.Add(this.lblMercSkillLabelEngineer);
this.Controls.Add(this.lblMercSkillLabelTrader);
this.Controls.Add(this.lblMercSkillLabelFighter);
this.Controls.Add(this.lblMercSkillLabelPilot);
this.Controls.Add(this.lblMercLabel);
this.Controls.Add(this.lblQuestsLabel);
this.Controls.Add(this.btnClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormMonster";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Monster.com Job Listing";
this.pnlMercs.ResumeLayout(false);
this.pnlQuests.ResumeLayout(false);
this.pnlShipyards.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private int Compare(int a, int b, string sortWhat, string sortBy)
{
int compareVal = 0;
if (sortWhat == "M") // Mercenaries
{
CrewMember A = game.Mercenaries[a];
CrewMember B = game.Mercenaries[b];
bool strCompare = false;
object valA = null;
object valB = null;
switch (sortBy)
{
case "I": // Id
valA = (int)A.Id;
valB = (int)B.Id;
break;
case "N": // Name
valA = A.Name;
valB = B.Name;
strCompare = true;
break;
case "P": // Pilot
valA = A.Pilot;
valB = B.Pilot;
break;
case "F": // Fighter
valA = A.Fighter;
valB = B.Fighter;
break;
case "T": // Trader
valA = A.Trader;
valB = B.Trader;
break;
case "E": // Engineer
valA = A.Engineer;
valB = B.Engineer;
break;
case "S": // System
valA = CurrentSystemDisplay(A);
valB = CurrentSystemDisplay(B);
strCompare = true;
break;
}
if (strCompare)
compareVal = ((string)valA).CompareTo((string)valB);
else
compareVal = ((int)valA).CompareTo(valB);
// Secondary sort by Name
if (compareVal == 0 && sortBy != "N")
compareVal = A.Name.CompareTo(B.Name);
}
else
{
StarSystem A = game.Universe[a];
StarSystem B = game.Universe[b];
if (sortBy == "D") // Description
{
string nameA = "";
string nameB = "";
switch (sortWhat)
{
case "Q": // Quests
nameA = A.SpecialEvent.Title;
nameB = B.SpecialEvent.Title;
break;
case "S": // Shipyards
nameA = A.Shipyard.Name;
nameB = B.Shipyard.Name;
break;
}
compareVal = nameA.CompareTo(nameB);
}
if (compareVal == 0) // Default sort - System Name
{
compareVal = A.Name.CompareTo(B.Name);
}
}
return compareVal;
}
private string CurrentSystemDisplay(CrewMember merc)
{
return (merc.CurrentSystem == null ? Strings.Unknown : (game.Commander.Ship.HasCrew(merc.Id) ?
Functions.StringVars(Strings.MercOnBoard, merc.CurrentSystem.Name) : merc.CurrentSystem.Name));
}
private void PopulateIdArrays()
{
// Populate the mercenary ids array.
ArrayList ids = new ArrayList();
foreach (CrewMember merc in game.Mercenaries)
{
if (!Consts.SpecialCrewMemberIds.Contains(merc.Id))
ids.Add((int)merc.Id);
}
mercIds = (int[])ids.ToArray(System.Type.GetType("System.Int32"));
// Populate the quest and shipyard system ids arrays.
ArrayList quests = new ArrayList();
ArrayList shipyards = new ArrayList();
foreach (StarSystem system in game.Universe)
{
if (system.ShowSpecialButton())
quests.Add((int)system.Id);
if (system.ShipyardId != ShipyardId.NA)
shipyards.Add((int)system.Id);
}
questSystemIds = (int[])quests.ToArray(System.Type.GetType("System.Int32"));
shipyardSystemIds = (int[])shipyards.ToArray(System.Type.GetType("System.Int32"));
// Sort the arrays.
Sort("M", "N"); // Sort mercenaries by name.
Sort("Q", "S"); // Sort quests by system name.
Sort("S", "S"); // Sort shipyards by system name.
}
private void SetLabelHeights()
{
lblQuests.Height =
lblQuestSystems.Height = (int)Math.Ceiling(questSystemIds.Length * 12.5) + 1;
lblShipyards.Height =
lblShipyardSystems.Height = (int)Math.Ceiling(shipyardSystemIds.Length * 12.5) + 1;
lblMercIds.Height =
lblMercNames.Height =
lblMercSkillsPilot.Height =
lblMercSkillsFighter.Height =
lblMercSkillsTrader.Height =
lblMercSkillsEngineer.Height = (int)Math.Ceiling(mercIds.Length * 12.5) + 1;
// Due to a limitation of the LinkLabel control, no more than 32 links can exist in the LinkLabel.
lblMercSystems.Height = (int)Math.Ceiling(Math.Min(mercIds.Length, SplitSystems) * 12.5) + 1;
if (mercIds.Length > SplitSystems)
{
lblMercSystems2.Visible = true;
lblMercSystems2.Height = (int)Math.Ceiling((mercIds.Length - SplitSystems) * 12.5) + 1;
}
else
{
lblMercSystems2.Visible = false;
lblMercSystems2.Top = lblMercSystems.Top;
}
}
private void Sort(string sortWhat, string sortBy)
{
int[] array = null;
switch (sortWhat)
{
case "M":
array = mercIds;
break;
case "Q":
array = questSystemIds;
break;
case "S":
array = shipyardSystemIds;
break;
}
for (int i = 0; i < array.Length - 1; i++)
{
for (int j = 0; j < array.Length - i - 1; j++)
{
if (Compare(array[j], array[j + 1], sortWhat, sortBy) > 0)
{
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
private void UpdateAll()
{
UpdateMercs();
UpdateQuests();
UpdateShipyards();
}
private void UpdateMercs()
{
lblMercIds.Text = "";
lblMercNames.Text = "";
lblMercSkillsPilot.Text = "";
lblMercSkillsFighter.Text = "";
lblMercSkillsTrader.Text = "";
lblMercSkillsEngineer.Text = "";
lblMercSystems.Text = "";
lblMercSystems2.Text = "";
lblMercSystems.Links.Clear();
lblMercSystems2.Links.Clear();
for (int i = 0; i < mercIds.Length; i++)
{
CrewMember merc = game.Mercenaries[mercIds[i]];
bool link = merc.CurrentSystem != null && !game.Commander.Ship.HasCrew(merc.Id);
lblMercIds.Text += ((int)merc.Id).ToString() + Environment.NewLine;
lblMercNames.Text += merc.Name + Environment.NewLine;
lblMercSkillsPilot.Text += merc.Pilot.ToString() + Environment.NewLine;
lblMercSkillsFighter.Text += merc.Fighter.ToString() + Environment.NewLine;
lblMercSkillsTrader.Text += merc.Trader.ToString() + Environment.NewLine;
lblMercSkillsEngineer.Text += merc.Engineer.ToString() + Environment.NewLine;
if (i < SplitSystems)
{
int start = lblMercSystems.Text.Length;
lblMercSystems.Text += CurrentSystemDisplay(merc) + Environment.NewLine;
if (link)
lblMercSystems.Links.Add(start, merc.CurrentSystem.Name.Length, merc.CurrentSystem.Name);
}
else
{
int start = lblMercSystems2.Text.Length;
lblMercSystems2.Text += CurrentSystemDisplay(merc) + Environment.NewLine;
if (link)
lblMercSystems2.Links.Add(start, merc.CurrentSystem.Name.Length, merc.CurrentSystem.Name);
}
}
lblMercIds.Text = lblMercIds.Text.Trim();
lblMercNames.Text = lblMercNames.Text.Trim();
lblMercSkillsPilot.Text = lblMercSkillsPilot.Text.Trim();
lblMercSkillsFighter.Text = lblMercSkillsFighter.Text.Trim();
lblMercSkillsTrader.Text = lblMercSkillsTrader.Text.Trim();
lblMercSkillsEngineer.Text = lblMercSkillsEngineer.Text.Trim();
lblMercSystems.Text = lblMercSystems.Text.Trim();
lblMercSystems2.Text = lblMercSystems2.Text.Trim();
}
private void UpdateQuests()
{
lblQuestSystems.Text = "";
lblQuests.Text = "";
lblQuestSystems.Links.Clear();
for (int i = 0; i < questSystemIds.Length; i++)
{
StarSystem system = game.Universe[questSystemIds[i]];
int start = lblQuestSystems.Text.Length;
lblQuestSystems.Text += system.Name + Environment.NewLine;
lblQuests.Text += system.SpecialEvent.Title + Environment.NewLine;
lblQuestSystems.Links.Add(start, system.Name.Length, system.Name);
}
lblQuestSystems.Text = lblQuestSystems.Text.Trim();
lblQuests.Text = lblQuests.Text.Trim();
}
private void UpdateShipyards()
{
lblShipyardSystems.Text = "";
lblShipyards.Text = "";
lblShipyardSystems.Links.Clear();
for (int i = 0; i < shipyardSystemIds.Length; i++)
{
StarSystem system = game.Universe[shipyardSystemIds[i]];
int start = lblShipyardSystems.Text.Length;
lblShipyardSystems.Text += system.Name + Environment.NewLine;
lblShipyards.Text += system.Shipyard.Name + Environment.NewLine;
lblShipyardSystems.Links.Add(start, system.Name.Length, system.Name);
}
lblShipyardSystems.Text = lblShipyardSystems.Text.Trim();
lblShipyards.Text = lblShipyards.Text.Trim();
}
#endregion
#region Event Handlers
private void SystemLinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
Game.CurrentGame.SelectedSystemName = e.Link.LinkData.ToString();
Game.CurrentGame.ParentWindow.UpdateAll();
Close();
}
private void SortLinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
Sort(((LinkLabel)sender).Name.Substring(3, 1), ((LinkLabel)sender).Text.Substring(0, 1));
UpdateAll();
}
#endregion
}
}
@@ -0,0 +1,454 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnClose.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnClose.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnClose.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picLine1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picLine1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picLine1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picLine0.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picLine0.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picLine0.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestsLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblQuestsLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestsLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelPilot.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelPilot.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelPilot.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercSkillLabelFighter.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelFighter.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelFighter.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercSkillLabelTrader.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelTrader.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelTrader.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercSkillLabelEngineer.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelEngineer.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillLabelEngineer.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercSystemLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSystemLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSystemLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblQuestSystemLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestSystemLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestSystemLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblQuestDescLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestDescLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestDescLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercIDLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercIDLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercIDLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercNameLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercNameLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercNameLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblShipyardsDescLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyardsDescLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyardsDescLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblShipyardsSystemLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyardsSystemLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyardsSystemLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblShipyardsLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblShipyardsLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyardsLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="pnlMercs.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="pnlMercs.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="pnlMercs.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="pnlMercs.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="pnlMercs.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="pnlMercs.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillsPilot.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercSkillsPilot.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillsPilot.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillsFighter.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercSkillsFighter.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillsFighter.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillsTrader.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercSkillsTrader.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillsTrader.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillsEngineer.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercSkillsEngineer.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSkillsEngineer.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSystems.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSystems.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSystems.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercIds.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercIds.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercIds.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercNames.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblMercNames.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercNames.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSystems2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSystems2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblMercSystems2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="pnlQuests.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="pnlQuests.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="pnlQuests.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="pnlQuests.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="pnlQuests.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="pnlQuests.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuests.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblQuests.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuests.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestSystems.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestSystems.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblQuestSystems.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="pnlShipyards.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="pnlShipyards.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="pnlShipyards.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="pnlShipyards.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="pnlShipyards.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="pnlShipyards.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyards.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblShipyards.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyards.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyardSystems.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyardSystems.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblShipyardSystems.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picLine2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="picLine2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="picLine2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Name">
<value>FormMonster</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
@@ -0,0 +1,458 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormNewCommander : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Label lblName;
private System.Windows.Forms.TextBox txtName;
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Label lblDifficulty;
private System.Windows.Forms.Label lblSkillPoints;
private System.Windows.Forms.Label lblPilot;
private System.Windows.Forms.Label lblFighter;
private System.Windows.Forms.Label lblTrader;
private System.Windows.Forms.Label lblEngineer;
private System.Windows.Forms.ComboBox selDifficulty;
private System.Windows.Forms.NumericUpDown numPilot;
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Label lblPointsRemaining;
private System.Windows.Forms.Label lblPoints;
private System.Windows.Forms.NumericUpDown numFighter;
private System.Windows.Forms.NumericUpDown numTrader;
private System.Windows.Forms.NumericUpDown numEngineer;
private System.ComponentModel.Container components = null;
#endregion
#region Methods
public FormNewCommander()
{
InitializeComponent();
selDifficulty.SelectedIndex = 2;
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblName = new System.Windows.Forms.Label();
this.txtName = new System.Windows.Forms.TextBox();
this.btnClose = new System.Windows.Forms.Button();
this.lblDifficulty = new System.Windows.Forms.Label();
this.lblSkillPoints = new System.Windows.Forms.Label();
this.lblPilot = new System.Windows.Forms.Label();
this.lblFighter = new System.Windows.Forms.Label();
this.lblTrader = new System.Windows.Forms.Label();
this.lblEngineer = new System.Windows.Forms.Label();
this.selDifficulty = new System.Windows.Forms.ComboBox();
this.numPilot = new System.Windows.Forms.NumericUpDown();
this.numFighter = new System.Windows.Forms.NumericUpDown();
this.numTrader = new System.Windows.Forms.NumericUpDown();
this.numEngineer = new System.Windows.Forms.NumericUpDown();
this.btnOk = new System.Windows.Forms.Button();
this.lblPointsRemaining = new System.Windows.Forms.Label();
this.lblPoints = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.numPilot)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numFighter)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numTrader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numEngineer)).BeginInit();
this.SuspendLayout();
//
// lblName
//
this.lblName.AutoSize = true;
this.lblName.Location = new System.Drawing.Point(8, 8);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(38, 13);
this.lblName.TabIndex = 0;
this.lblName.Text = "Name:";
//
// txtName
//
this.txtName.Location = new System.Drawing.Point(72, 5);
this.txtName.Name = "txtName";
this.txtName.Size = new System.Drawing.Size(120, 20);
this.txtName.TabIndex = 1;
this.txtName.Text = "";
this.txtName.TextChanged += new System.EventHandler(this.txtName_TextChanged);
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(30, 31);
this.btnClose.TabIndex = 33;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// lblDifficulty
//
this.lblDifficulty.AutoSize = true;
this.lblDifficulty.Location = new System.Drawing.Point(8, 40);
this.lblDifficulty.Name = "lblDifficulty";
this.lblDifficulty.Size = new System.Drawing.Size(50, 13);
this.lblDifficulty.TabIndex = 34;
this.lblDifficulty.Text = "Difficulty:";
//
// lblSkillPoints
//
this.lblSkillPoints.AutoSize = true;
this.lblSkillPoints.Location = new System.Drawing.Point(8, 72);
this.lblSkillPoints.Name = "lblSkillPoints";
this.lblSkillPoints.Size = new System.Drawing.Size(63, 13);
this.lblSkillPoints.TabIndex = 35;
this.lblSkillPoints.Text = "Skill Points:";
//
// lblPilot
//
this.lblPilot.AutoSize = true;
this.lblPilot.Location = new System.Drawing.Point(16, 96);
this.lblPilot.Name = "lblPilot";
this.lblPilot.Size = new System.Drawing.Size(29, 13);
this.lblPilot.TabIndex = 36;
this.lblPilot.Text = "Pilot:";
//
// lblFighter
//
this.lblFighter.AutoSize = true;
this.lblFighter.Location = new System.Drawing.Point(16, 120);
this.lblFighter.Name = "lblFighter";
this.lblFighter.Size = new System.Drawing.Size(43, 13);
this.lblFighter.TabIndex = 37;
this.lblFighter.Text = "Fighter:";
//
// lblTrader
//
this.lblTrader.AutoSize = true;
this.lblTrader.Location = new System.Drawing.Point(16, 144);
this.lblTrader.Name = "lblTrader";
this.lblTrader.Size = new System.Drawing.Size(41, 13);
this.lblTrader.TabIndex = 38;
this.lblTrader.Text = "Trader:";
//
// lblEngineer
//
this.lblEngineer.AutoSize = true;
this.lblEngineer.Location = new System.Drawing.Point(16, 168);
this.lblEngineer.Name = "lblEngineer";
this.lblEngineer.Size = new System.Drawing.Size(53, 13);
this.lblEngineer.TabIndex = 39;
this.lblEngineer.Text = "Engineer:";
//
// selDifficulty
//
this.selDifficulty.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.selDifficulty.Items.AddRange(new object[] {
"Beginner",
"Easy",
"Normal",
"Hard",
"Impossible"});
this.selDifficulty.Location = new System.Drawing.Point(72, 37);
this.selDifficulty.Name = "selDifficulty";
this.selDifficulty.Size = new System.Drawing.Size(120, 21);
this.selDifficulty.TabIndex = 2;
//
// numPilot
//
this.numPilot.Location = new System.Drawing.Point(72, 94);
this.numPilot.Maximum = new System.Decimal(new int[] {
10,
0,
0,
0});
this.numPilot.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numPilot.Name = "numPilot";
this.numPilot.Size = new System.Drawing.Size(36, 20);
this.numPilot.TabIndex = 3;
this.numPilot.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numPilot.Value = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numPilot.Enter += new System.EventHandler(this.num_ValueEnter);
this.numPilot.ValueChanged += new System.EventHandler(this.num_ValueChanged);
this.numPilot.Leave += new System.EventHandler(this.num_ValueChanged);
//
// numFighter
//
this.numFighter.Location = new System.Drawing.Point(72, 118);
this.numFighter.Maximum = new System.Decimal(new int[] {
10,
0,
0,
0});
this.numFighter.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numFighter.Name = "numFighter";
this.numFighter.Size = new System.Drawing.Size(36, 20);
this.numFighter.TabIndex = 4;
this.numFighter.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numFighter.Value = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numFighter.Enter += new System.EventHandler(this.num_ValueEnter);
this.numFighter.ValueChanged += new System.EventHandler(this.num_ValueChanged);
this.numFighter.Leave += new System.EventHandler(this.num_ValueChanged);
//
// numTrader
//
this.numTrader.Location = new System.Drawing.Point(72, 142);
this.numTrader.Maximum = new System.Decimal(new int[] {
10,
0,
0,
0});
this.numTrader.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numTrader.Name = "numTrader";
this.numTrader.Size = new System.Drawing.Size(36, 20);
this.numTrader.TabIndex = 5;
this.numTrader.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numTrader.Value = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numTrader.Enter += new System.EventHandler(this.num_ValueEnter);
this.numTrader.ValueChanged += new System.EventHandler(this.num_ValueChanged);
this.numTrader.Leave += new System.EventHandler(this.num_ValueChanged);
//
// numEngineer
//
this.numEngineer.Location = new System.Drawing.Point(72, 166);
this.numEngineer.Maximum = new System.Decimal(new int[] {
10,
0,
0,
0});
this.numEngineer.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numEngineer.Name = "numEngineer";
this.numEngineer.Size = new System.Drawing.Size(36, 20);
this.numEngineer.TabIndex = 6;
this.numEngineer.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numEngineer.Value = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numEngineer.Enter += new System.EventHandler(this.num_ValueEnter);
this.numEngineer.ValueChanged += new System.EventHandler(this.num_ValueChanged);
this.numEngineer.Leave += new System.EventHandler(this.num_ValueChanged);
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.Enabled = false;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(83, 200);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(36, 22);
this.btnOk.TabIndex = 7;
this.btnOk.Text = "Ok";
//
// lblPointsRemaining
//
this.lblPointsRemaining.AutoSize = true;
this.lblPointsRemaining.Location = new System.Drawing.Point(91, 72);
this.lblPointsRemaining.Name = "lblPointsRemaining";
this.lblPointsRemaining.Size = new System.Drawing.Size(90, 13);
this.lblPointsRemaining.TabIndex = 40;
this.lblPointsRemaining.Text = "points remaining.";
//
// lblPoints
//
this.lblPoints.Location = new System.Drawing.Point(73, 72);
this.lblPoints.Name = "lblPoints";
this.lblPoints.Size = new System.Drawing.Size(17, 13);
this.lblPoints.TabIndex = 41;
this.lblPoints.Text = "16";
this.lblPoints.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// FormNewCommander
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(202, 231);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblPoints,
this.lblPointsRemaining,
this.lblEngineer,
this.lblTrader,
this.lblFighter,
this.lblPilot,
this.lblSkillPoints,
this.lblDifficulty,
this.lblName,
this.btnOk,
this.numEngineer,
this.numTrader,
this.numFighter,
this.numPilot,
this.selDifficulty,
this.btnClose,
this.txtName});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormNewCommander";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "New Commander";
((System.ComponentModel.ISupportInitialize)(this.numPilot)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numFighter)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numTrader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numEngineer)).EndInit();
this.ResumeLayout(false);
}
#endregion
private void UpdateOkEnabled()
{
btnOk.Enabled = (lblPoints.Text == "0" && txtName.Text.Length > 0);
}
#endregion
#region Event Handlers
private void num_ValueChanged(object sender, System.EventArgs e)
{
int points = 20 - (Pilot + Fighter + Trader + Engineer);
lblPoints.Text = points.ToString();
numPilot.Maximum = Math.Min(10, Pilot + points);
numFighter.Maximum = Math.Min(10, Fighter + points);
numTrader.Maximum = Math.Min(10, Trader + points);
numEngineer.Maximum = Math.Min(10, Engineer + points);
UpdateOkEnabled();
}
private void num_ValueEnter(object sender, System.EventArgs e)
{
((NumericUpDown)sender).Select(0, ((NumericUpDown)sender).Value.ToString().Length);
}
private void txtName_TextChanged(object sender, System.EventArgs e)
{
UpdateOkEnabled();
}
#endregion
#region Properties
public string CommanderName
{
get
{
return txtName.Text;
}
}
public Difficulty Difficulty
{
get
{
return (Difficulty)selDifficulty.SelectedIndex;
}
}
public int Pilot
{
get
{
return (int)numPilot.Value;
}
}
public int Fighter
{
get
{
return (int)numFighter.Value;
}
}
public int Trader
{
get
{
return (int)numTrader.Value;
}
}
public int Engineer
{
get
{
return (int)numEngineer.Value;
}
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormNewCommander</value>
</data>
</root>
+491
View File
@@ -0,0 +1,491 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormOptions : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Label lblEmpty;
private System.Windows.Forms.Label lblIgnore;
private System.Windows.Forms.CheckBox chkFuel;
private System.Windows.Forms.CheckBox chkContinuousAttack;
private System.Windows.Forms.CheckBox chkAttackFleeing;
private System.Windows.Forms.CheckBox chkDisable;
private System.Windows.Forms.CheckBox chkNewspaper;
private System.Windows.Forms.CheckBox chkNewspaperShow;
private System.Windows.Forms.CheckBox chkRange;
private System.Windows.Forms.CheckBox chkStopTracking;
private System.Windows.Forms.CheckBox chkLoan;
private System.Windows.Forms.CheckBox chkIgnoreTradersDealing;
private System.Windows.Forms.CheckBox chkReserveMoney;
private System.Windows.Forms.CheckBox chkIgnoreTraders;
private System.Windows.Forms.CheckBox chkIgnorePirates;
private System.Windows.Forms.CheckBox chkIgnorePolice;
private System.Windows.Forms.CheckBox chkRepair;
private System.Windows.Forms.NumericUpDown numEmpty;
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.Button btnLoad;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
private bool initializing = true;
private GameOptions _options = new GameOptions(false);
#endregion
#region Methods
public FormOptions()
{
InitializeComponent();
if (game != null)
Options.CopyValues(game.Options);
else
{
Options.LoadFromDefaults(false, this);
btnOk.Enabled = false;
FormAlert.Alert(AlertType.OptionsNoGame, this);
}
UpdateAll();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnOk = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.lblEmpty = new System.Windows.Forms.Label();
this.chkFuel = new System.Windows.Forms.CheckBox();
this.chkContinuousAttack = new System.Windows.Forms.CheckBox();
this.chkAttackFleeing = new System.Windows.Forms.CheckBox();
this.chkNewspaper = new System.Windows.Forms.CheckBox();
this.chkRange = new System.Windows.Forms.CheckBox();
this.chkStopTracking = new System.Windows.Forms.CheckBox();
this.chkLoan = new System.Windows.Forms.CheckBox();
this.chkIgnoreTradersDealing = new System.Windows.Forms.CheckBox();
this.chkReserveMoney = new System.Windows.Forms.CheckBox();
this.chkIgnoreTraders = new System.Windows.Forms.CheckBox();
this.chkIgnorePirates = new System.Windows.Forms.CheckBox();
this.chkIgnorePolice = new System.Windows.Forms.CheckBox();
this.chkRepair = new System.Windows.Forms.CheckBox();
this.lblIgnore = new System.Windows.Forms.Label();
this.numEmpty = new System.Windows.Forms.NumericUpDown();
this.btnSave = new System.Windows.Forms.Button();
this.btnLoad = new System.Windows.Forms.Button();
this.chkNewspaperShow = new System.Windows.Forms.CheckBox();
this.chkDisable = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.numEmpty)).BeginInit();
this.SuspendLayout();
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(14, 240);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(40, 22);
this.btnOk.TabIndex = 15;
this.btnOk.Text = "Ok";
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnCancel.Location = new System.Drawing.Point(62, 240);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(49, 22);
this.btnCancel.TabIndex = 16;
this.btnCancel.Text = "Cancel";
//
// lblEmpty
//
this.lblEmpty.AutoSize = true;
this.lblEmpty.Location = new System.Drawing.Point(52, 90);
this.lblEmpty.Name = "lblEmpty";
this.lblEmpty.Size = new System.Drawing.Size(292, 16);
this.lblEmpty.TabIndex = 38;
this.lblEmpty.Text = "Cargo Bays to leave empty when buying goods in-system";
//
// chkFuel
//
this.chkFuel.Location = new System.Drawing.Point(8, 8);
this.chkFuel.Name = "chkFuel";
this.chkFuel.Size = new System.Drawing.Size(160, 16);
this.chkFuel.TabIndex = 1;
this.chkFuel.Text = "Get full fuel tanks on arrival";
this.chkFuel.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkContinuousAttack
//
this.chkContinuousAttack.Location = new System.Drawing.Point(8, 176);
this.chkContinuousAttack.Name = "chkContinuousAttack";
this.chkContinuousAttack.Size = new System.Drawing.Size(163, 16);
this.chkContinuousAttack.TabIndex = 13;
this.chkContinuousAttack.Text = "Continuous attack and flight";
this.chkContinuousAttack.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkAttackFleeing
//
this.chkAttackFleeing.Location = new System.Drawing.Point(24, 192);
this.chkAttackFleeing.Name = "chkAttackFleeing";
this.chkAttackFleeing.Size = new System.Drawing.Size(177, 16);
this.chkAttackFleeing.TabIndex = 14;
this.chkAttackFleeing.Text = "Continue attacking fleeing ship";
this.chkAttackFleeing.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkNewspaper
//
this.chkNewspaper.Location = new System.Drawing.Point(8, 40);
this.chkNewspaper.Name = "chkNewspaper";
this.chkNewspaper.Size = new System.Drawing.Size(155, 16);
this.chkNewspaper.TabIndex = 3;
this.chkNewspaper.Text = "Always pay for newspaper";
this.chkNewspaper.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkRange
//
this.chkRange.Location = new System.Drawing.Point(184, 8);
this.chkRange.Name = "chkRange";
this.chkRange.Size = new System.Drawing.Size(175, 16);
this.chkRange.TabIndex = 5;
this.chkRange.Text = "Show range to tracked system";
this.chkRange.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkStopTracking
//
this.chkStopTracking.Location = new System.Drawing.Point(184, 24);
this.chkStopTracking.Name = "chkStopTracking";
this.chkStopTracking.Size = new System.Drawing.Size(139, 16);
this.chkStopTracking.TabIndex = 6;
this.chkStopTracking.Text = "Stop tracking on arrival";
this.chkStopTracking.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkLoan
//
this.chkLoan.Location = new System.Drawing.Point(184, 56);
this.chkLoan.Name = "chkLoan";
this.chkLoan.Size = new System.Drawing.Size(124, 16);
this.chkLoan.TabIndex = 4;
this.chkLoan.Text = "Remind about loans";
this.chkLoan.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkIgnoreTradersDealing
//
this.chkIgnoreTradersDealing.Location = new System.Drawing.Point(152, 152);
this.chkIgnoreTradersDealing.Name = "chkIgnoreTradersDealing";
this.chkIgnoreTradersDealing.Size = new System.Drawing.Size(133, 16);
this.chkIgnoreTradersDealing.TabIndex = 12;
this.chkIgnoreTradersDealing.Text = "Ignore dealing traders";
this.chkIgnoreTradersDealing.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkReserveMoney
//
this.chkReserveMoney.Location = new System.Drawing.Point(184, 40);
this.chkReserveMoney.Name = "chkReserveMoney";
this.chkReserveMoney.Size = new System.Drawing.Size(176, 16);
this.chkReserveMoney.TabIndex = 7;
this.chkReserveMoney.Text = "Reserve money for warp costs";
this.chkReserveMoney.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkIgnoreTraders
//
this.chkIgnoreTraders.Location = new System.Drawing.Point(136, 136);
this.chkIgnoreTraders.Name = "chkIgnoreTraders";
this.chkIgnoreTraders.Size = new System.Drawing.Size(62, 16);
this.chkIgnoreTraders.TabIndex = 11;
this.chkIgnoreTraders.Text = "Traders";
this.chkIgnoreTraders.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkIgnorePirates
//
this.chkIgnorePirates.Location = new System.Drawing.Point(8, 136);
this.chkIgnorePirates.Name = "chkIgnorePirates";
this.chkIgnorePirates.Size = new System.Drawing.Size(58, 16);
this.chkIgnorePirates.TabIndex = 9;
this.chkIgnorePirates.Text = "Pirates";
this.chkIgnorePirates.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkIgnorePolice
//
this.chkIgnorePolice.Location = new System.Drawing.Point(74, 136);
this.chkIgnorePolice.Name = "chkIgnorePolice";
this.chkIgnorePolice.Size = new System.Drawing.Size(54, 16);
this.chkIgnorePolice.TabIndex = 10;
this.chkIgnorePolice.Text = "Police";
this.chkIgnorePolice.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkRepair
//
this.chkRepair.Location = new System.Drawing.Point(8, 24);
this.chkRepair.Name = "chkRepair";
this.chkRepair.Size = new System.Drawing.Size(167, 16);
this.chkRepair.TabIndex = 2;
this.chkRepair.Text = "Get full hull repairs on arrival";
this.chkRepair.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// lblIgnore
//
this.lblIgnore.AutoSize = true;
this.lblIgnore.Location = new System.Drawing.Point(8, 120);
this.lblIgnore.Name = "lblIgnore";
this.lblIgnore.Size = new System.Drawing.Size(152, 16);
this.lblIgnore.TabIndex = 52;
this.lblIgnore.Text = "Always ignore when it is safe:";
//
// numEmpty
//
this.numEmpty.Location = new System.Drawing.Point(8, 88);
this.numEmpty.Maximum = new System.Decimal(new int[] {
99,
0,
0,
0});
this.numEmpty.Name = "numEmpty";
this.numEmpty.Size = new System.Drawing.Size(40, 20);
this.numEmpty.TabIndex = 8;
this.numEmpty.Value = new System.Decimal(new int[] {
88,
0,
0,
0});
this.numEmpty.ValueChanged += new System.EventHandler(this.controlChanged);
//
// btnSave
//
this.btnSave.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSave.Location = new System.Drawing.Point(119, 240);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(107, 22);
this.btnSave.TabIndex = 17;
this.btnSave.Text = "Save As Defaults";
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// btnLoad
//
this.btnLoad.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLoad.Location = new System.Drawing.Point(234, 240);
this.btnLoad.Name = "btnLoad";
this.btnLoad.Size = new System.Drawing.Size(114, 22);
this.btnLoad.TabIndex = 18;
this.btnLoad.Text = "Load from Defaults";
this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click);
//
// chkNewspaperShow
//
this.chkNewspaperShow.Location = new System.Drawing.Point(24, 56);
this.chkNewspaperShow.Name = "chkNewspaperShow";
this.chkNewspaperShow.Size = new System.Drawing.Size(160, 16);
this.chkNewspaperShow.TabIndex = 53;
this.chkNewspaperShow.Text = "Show newspaper on arrival";
this.chkNewspaperShow.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// chkDisable
//
this.chkDisable.Location = new System.Drawing.Point(8, 208);
this.chkDisable.Name = "chkDisable";
this.chkDisable.Size = new System.Drawing.Size(244, 16);
this.chkDisable.TabIndex = 54;
this.chkDisable.Text = "Attempt to disable opponents when possible";
this.chkDisable.CheckedChanged += new System.EventHandler(this.controlChanged);
//
// FormOptions
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnCancel;
this.ClientSize = new System.Drawing.Size(362, 271);
this.Controls.Add(this.chkDisable);
this.Controls.Add(this.chkLoan);
this.Controls.Add(this.chkNewspaperShow);
this.Controls.Add(this.btnLoad);
this.Controls.Add(this.btnSave);
this.Controls.Add(this.numEmpty);
this.Controls.Add(this.lblIgnore);
this.Controls.Add(this.lblEmpty);
this.Controls.Add(this.chkRepair);
this.Controls.Add(this.chkIgnorePolice);
this.Controls.Add(this.chkIgnorePirates);
this.Controls.Add(this.chkIgnoreTraders);
this.Controls.Add(this.chkReserveMoney);
this.Controls.Add(this.chkIgnoreTradersDealing);
this.Controls.Add(this.chkStopTracking);
this.Controls.Add(this.chkRange);
this.Controls.Add(this.chkNewspaper);
this.Controls.Add(this.chkAttackFleeing);
this.Controls.Add(this.chkContinuousAttack);
this.Controls.Add(this.chkFuel);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOk);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormOptions";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Options";
((System.ComponentModel.ISupportInitialize)(this.numEmpty)).EndInit();
this.ResumeLayout(false);
}
#endregion
private void UpdateAll()
{
initializing = true;
chkFuel.Checked = Options.AutoFuel;
chkRepair.Checked = Options.AutoRepair;
chkNewspaper.Checked = Options.NewsAutoPay;
chkNewspaperShow.Checked = Options.NewsAutoShow;
chkLoan.Checked = Options.RemindLoans;
chkRange.Checked = Options.ShowTrackedRange;
chkStopTracking.Checked = Options.TrackAutoOff;
chkReserveMoney.Checked = Options.ReserveMoney;
numEmpty.Value = Options.LeaveEmpty;
chkIgnorePirates.Checked = Options.AlwaysIgnorePirates;
chkIgnorePolice.Checked = Options.AlwaysIgnorePolice;
chkIgnoreTraders.Checked = Options.AlwaysIgnoreTraders;
chkIgnoreTradersDealing.Checked = Options.AlwaysIgnoreTradeInOrbit;
chkContinuousAttack.Checked = Options.ContinuousAttack;
chkAttackFleeing.Checked = Options.ContinuousAttackFleeing;
chkDisable.Checked = Options.DisableOpponents;
UpdateContinueAttackFleeing();
UpdateIgnoreTradersDealing();
UpdateNewsAutoShow();
initializing = false;
}
private void UpdateContinueAttackFleeing()
{
if (!chkContinuousAttack.Checked)
chkAttackFleeing.Checked = false;
chkAttackFleeing.Enabled = chkContinuousAttack.Checked;
}
private void UpdateIgnoreTradersDealing()
{
if (!chkIgnoreTraders.Checked)
chkIgnoreTradersDealing.Checked = false;
chkIgnoreTradersDealing.Enabled = chkIgnoreTraders.Checked;
}
private void UpdateNewsAutoShow()
{
if (!chkNewspaper.Checked)
chkNewspaperShow.Checked = false;
chkNewspaperShow.Enabled = chkNewspaper.Checked;
}
#endregion
#region Event Handlers
private void btnLoad_Click(object sender, System.EventArgs e)
{
Options.LoadFromDefaults(true, this);
UpdateAll();
}
private void btnSave_Click(object sender, System.EventArgs e)
{
Options.SaveAsDefaults(this);
}
private void controlChanged(object sender, System.EventArgs e)
{
if (!initializing)
{
initializing = true;
UpdateContinueAttackFleeing();
UpdateIgnoreTradersDealing();
UpdateNewsAutoShow();
initializing = false;
Options.AutoFuel = chkFuel.Checked;
Options.AutoRepair = chkRepair.Checked;
Options.NewsAutoPay = chkNewspaper.Checked;
Options.NewsAutoShow = chkNewspaperShow.Checked;
Options.RemindLoans = chkLoan.Checked;
Options.ShowTrackedRange = chkRange.Checked;
Options.TrackAutoOff = chkStopTracking.Checked;
Options.ReserveMoney = chkReserveMoney.Checked;
Options.LeaveEmpty = (int)numEmpty.Value;
Options.AlwaysIgnorePirates = chkIgnorePirates.Checked;
Options.AlwaysIgnorePolice = chkIgnorePolice.Checked;
Options.AlwaysIgnoreTraders = chkIgnoreTraders.Checked;
Options.AlwaysIgnoreTradeInOrbit = chkIgnoreTradersDealing.Checked;
Options.ContinuousAttack = chkContinuousAttack.Checked;
Options.ContinuousAttackFleeing = chkAttackFleeing.Checked;
Options.DisableOpponents = chkDisable.Checked;
}
}
#endregion
#region Properties
public GameOptions Options
{
get
{
return _options;
}
}
#endregion
}
}
@@ -0,0 +1,328 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnOk.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnOk.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnOk.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblEmpty.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblEmpty.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblEmpty.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkFuel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkFuel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkFuel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkContinuousAttack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkContinuousAttack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkContinuousAttack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkAttackFleeing.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkAttackFleeing.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkAttackFleeing.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkNewspaper.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkNewspaper.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkNewspaper.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkRange.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkRange.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkRange.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkStopTracking.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkStopTracking.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkStopTracking.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkLoan.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkLoan.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkLoan.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkIgnoreTradersDealing.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkIgnoreTradersDealing.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkIgnoreTradersDealing.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkReserveMoney.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkReserveMoney.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkReserveMoney.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkIgnoreTraders.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkIgnoreTraders.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkIgnoreTraders.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkIgnorePirates.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkIgnorePirates.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkIgnorePirates.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkIgnorePolice.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkIgnorePolice.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkIgnorePolice.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkRepair.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkRepair.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkRepair.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblIgnore.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblIgnore.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblIgnore.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="numEmpty.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="numEmpty.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="numEmpty.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnSave.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnSave.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnSave.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnLoad.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnLoad.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnLoad.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkNewspaperShow.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkNewspaperShow.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkNewspaperShow.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkDisable.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="chkDisable.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="chkDisable.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.Name">
<value>FormOptions</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
@@ -0,0 +1,208 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormPayBackLoan : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Label lblQuestion;
private System.Windows.Forms.Button btnMax;
private System.Windows.Forms.Button btnNothing;
private System.Windows.Forms.NumericUpDown numAmount;
private System.Windows.Forms.Label lblStatement;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormPayBackLoan()
{
InitializeComponent();
Commander cmdr = game.Commander;
int max = Math.Min(cmdr.Debt, cmdr.Cash);
numAmount.Maximum = max;
numAmount.Value = numAmount.Minimum;
lblStatement.Text = Functions.StringVars(Strings.BankLoanStatementDebt,
Functions.Multiples(cmdr.Debt, Strings.MoneyUnit));
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblQuestion = new System.Windows.Forms.Label();
this.numAmount = new System.Windows.Forms.NumericUpDown();
this.btnOk = new System.Windows.Forms.Button();
this.btnMax = new System.Windows.Forms.Button();
this.btnNothing = new System.Windows.Forms.Button();
this.lblStatement = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.numAmount)).BeginInit();
this.SuspendLayout();
//
// lblQuestion
//
this.lblQuestion.AutoSize = true;
this.lblQuestion.Location = new System.Drawing.Point(8, 24);
this.lblQuestion.Name = "lblQuestion";
this.lblQuestion.Size = new System.Drawing.Size(188, 13);
this.lblQuestion.TabIndex = 3;
this.lblQuestion.Text = "How much do you want to pay back?";
//
// numAmount
//
this.numAmount.Location = new System.Drawing.Point(196, 22);
this.numAmount.Maximum = new System.Decimal(new int[] {
999999,
0,
0,
0});
this.numAmount.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.numAmount.Name = "numAmount";
this.numAmount.Size = new System.Drawing.Size(58, 20);
this.numAmount.TabIndex = 1;
this.numAmount.ThousandsSeparator = true;
this.numAmount.Value = new System.Decimal(new int[] {
88888,
0,
0,
0});
//
// btnOk
//
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOk.Location = new System.Drawing.Point(58, 48);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(41, 22);
this.btnOk.TabIndex = 2;
this.btnOk.Text = "Ok";
//
// btnMax
//
this.btnMax.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnMax.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnMax.Location = new System.Drawing.Point(106, 48);
this.btnMax.Name = "btnMax";
this.btnMax.Size = new System.Drawing.Size(41, 22);
this.btnMax.TabIndex = 3;
this.btnMax.Text = "Max";
this.btnMax.Click += new System.EventHandler(this.btnMax_Click);
//
// btnNothing
//
this.btnNothing.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnNothing.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnNothing.Location = new System.Drawing.Point(154, 48);
this.btnNothing.Name = "btnNothing";
this.btnNothing.Size = new System.Drawing.Size(53, 22);
this.btnNothing.TabIndex = 4;
this.btnNothing.Text = "Nothing";
//
// lblStatement
//
this.lblStatement.Location = new System.Drawing.Point(8, 8);
this.lblStatement.Name = "lblStatement";
this.lblStatement.Size = new System.Drawing.Size(176, 13);
this.lblStatement.TabIndex = 5;
this.lblStatement.Text = "You have a debt of 88,888 credits.";
//
// FormPayBackLoan
//
this.AcceptButton = this.btnOk;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnNothing;
this.ClientSize = new System.Drawing.Size(264, 79);
this.ControlBox = false;
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblStatement,
this.btnNothing,
this.btnMax,
this.btnOk,
this.numAmount,
this.lblQuestion});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FormPayBackLoan";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Pay Back Loan";
((System.ComponentModel.ISupportInitialize)(this.numAmount)).EndInit();
this.ResumeLayout(false);
}
#endregion
#endregion
#region Event Handlers
private void btnMax_Click(object sender, System.EventArgs e)
{
numAmount.Value = numAmount.Maximum;
}
#endregion
#region Properties
public int Amount
{
get
{
return (int)numAmount.Value;
}
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormPayBackLoan</value>
</data>
</root>
+595
View File
@@ -0,0 +1,595 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormPlunder : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnPlunderAll9;
private System.Windows.Forms.Button btnPlunderQty9;
private System.Windows.Forms.Button btnPlunderAll8;
private System.Windows.Forms.Button btnPlunderQty8;
private System.Windows.Forms.Button btnPlunderAll7;
private System.Windows.Forms.Button btnPlunderQty7;
private System.Windows.Forms.Button btnPlunderAll6;
private System.Windows.Forms.Button btnPlunderQty6;
private System.Windows.Forms.Button btnPlunderAll5;
private System.Windows.Forms.Button btnPlunderQty5;
private System.Windows.Forms.Button btnPlunderAll4;
private System.Windows.Forms.Button btnPlunderQty4;
private System.Windows.Forms.Button btnPlunderAll3;
private System.Windows.Forms.Button btnPlunderQty3;
private System.Windows.Forms.Button btnPlunderAll2;
private System.Windows.Forms.Button btnPlunderQty2;
private System.Windows.Forms.Button btnPlunderAll1;
private System.Windows.Forms.Button btnPlunderQty1;
private System.Windows.Forms.Button btnPlunderAll0;
private System.Windows.Forms.Button btnPlunderQty0;
private System.Windows.Forms.Label lblTradeCmdty9;
private System.Windows.Forms.Label lblTradeCmdty8;
private System.Windows.Forms.Label lblTradeCmdty2;
private System.Windows.Forms.Label lblTradeCmdty0;
private System.Windows.Forms.Label lblTradeCmdty1;
private System.Windows.Forms.Label lblTradeCmdty6;
private System.Windows.Forms.Label lblTradeCmdty5;
private System.Windows.Forms.Label lblTradeCmdty4;
private System.Windows.Forms.Label lblTradeCmdty3;
private System.Windows.Forms.Label lblTradeCmdty7;
private System.Windows.Forms.Label lblBaysLabel;
private System.Windows.Forms.Label lblBays;
private System.Windows.Forms.Button btnDone;
private System.Windows.Forms.Button btnJettison;
private System.ComponentModel.Container components = null;
private Button[] btnPlunderQty;
private Button[] btnPlunderAll;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormPlunder()
{
InitializeComponent();
#region Arrays of Cargo controls
btnPlunderQty = new Button[]
{
btnPlunderQty0,
btnPlunderQty1,
btnPlunderQty2,
btnPlunderQty3,
btnPlunderQty4,
btnPlunderQty5,
btnPlunderQty6,
btnPlunderQty7,
btnPlunderQty8,
btnPlunderQty9
};
btnPlunderAll = new Button[]
{
btnPlunderAll0,
btnPlunderAll1,
btnPlunderAll2,
btnPlunderAll3,
btnPlunderAll4,
btnPlunderAll5,
btnPlunderAll6,
btnPlunderAll7,
btnPlunderAll8,
btnPlunderAll9
};
#endregion
UpdateAll();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnPlunderAll9 = new System.Windows.Forms.Button();
this.btnPlunderQty9 = new System.Windows.Forms.Button();
this.btnPlunderAll8 = new System.Windows.Forms.Button();
this.btnPlunderQty8 = new System.Windows.Forms.Button();
this.btnPlunderAll7 = new System.Windows.Forms.Button();
this.btnPlunderQty7 = new System.Windows.Forms.Button();
this.btnPlunderAll6 = new System.Windows.Forms.Button();
this.btnPlunderQty6 = new System.Windows.Forms.Button();
this.btnPlunderAll5 = new System.Windows.Forms.Button();
this.btnPlunderQty5 = new System.Windows.Forms.Button();
this.btnPlunderAll4 = new System.Windows.Forms.Button();
this.btnPlunderQty4 = new System.Windows.Forms.Button();
this.btnPlunderAll3 = new System.Windows.Forms.Button();
this.btnPlunderQty3 = new System.Windows.Forms.Button();
this.btnPlunderAll2 = new System.Windows.Forms.Button();
this.btnPlunderQty2 = new System.Windows.Forms.Button();
this.btnPlunderAll1 = new System.Windows.Forms.Button();
this.btnPlunderQty1 = new System.Windows.Forms.Button();
this.btnPlunderAll0 = new System.Windows.Forms.Button();
this.btnPlunderQty0 = new System.Windows.Forms.Button();
this.lblTradeCmdty9 = new System.Windows.Forms.Label();
this.lblTradeCmdty8 = new System.Windows.Forms.Label();
this.lblTradeCmdty2 = new System.Windows.Forms.Label();
this.lblTradeCmdty0 = new System.Windows.Forms.Label();
this.lblTradeCmdty1 = new System.Windows.Forms.Label();
this.lblTradeCmdty6 = new System.Windows.Forms.Label();
this.lblTradeCmdty5 = new System.Windows.Forms.Label();
this.lblTradeCmdty4 = new System.Windows.Forms.Label();
this.lblTradeCmdty3 = new System.Windows.Forms.Label();
this.lblTradeCmdty7 = new System.Windows.Forms.Label();
this.lblBaysLabel = new System.Windows.Forms.Label();
this.lblBays = new System.Windows.Forms.Label();
this.btnDone = new System.Windows.Forms.Button();
this.btnJettison = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// btnPlunderAll9
//
this.btnPlunderAll9.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll9.Location = new System.Drawing.Point(100, 220);
this.btnPlunderAll9.Name = "btnPlunderAll9";
this.btnPlunderAll9.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll9.TabIndex = 141;
this.btnPlunderAll9.Text = "All";
this.btnPlunderAll9.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty9
//
this.btnPlunderQty9.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty9.Location = new System.Drawing.Point(68, 220);
this.btnPlunderQty9.Name = "btnPlunderQty9";
this.btnPlunderQty9.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty9.TabIndex = 140;
this.btnPlunderQty9.Text = "88";
this.btnPlunderQty9.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll8
//
this.btnPlunderAll8.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll8.Location = new System.Drawing.Point(100, 196);
this.btnPlunderAll8.Name = "btnPlunderAll8";
this.btnPlunderAll8.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll8.TabIndex = 139;
this.btnPlunderAll8.Text = "All";
this.btnPlunderAll8.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty8
//
this.btnPlunderQty8.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty8.Location = new System.Drawing.Point(68, 196);
this.btnPlunderQty8.Name = "btnPlunderQty8";
this.btnPlunderQty8.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty8.TabIndex = 138;
this.btnPlunderQty8.Text = "88";
this.btnPlunderQty8.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll7
//
this.btnPlunderAll7.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll7.Location = new System.Drawing.Point(100, 172);
this.btnPlunderAll7.Name = "btnPlunderAll7";
this.btnPlunderAll7.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll7.TabIndex = 137;
this.btnPlunderAll7.Text = "All";
this.btnPlunderAll7.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty7
//
this.btnPlunderQty7.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty7.Location = new System.Drawing.Point(68, 172);
this.btnPlunderQty7.Name = "btnPlunderQty7";
this.btnPlunderQty7.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty7.TabIndex = 136;
this.btnPlunderQty7.Text = "88";
this.btnPlunderQty7.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll6
//
this.btnPlunderAll6.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll6.Location = new System.Drawing.Point(100, 148);
this.btnPlunderAll6.Name = "btnPlunderAll6";
this.btnPlunderAll6.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll6.TabIndex = 135;
this.btnPlunderAll6.Text = "All";
this.btnPlunderAll6.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty6
//
this.btnPlunderQty6.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty6.Location = new System.Drawing.Point(68, 148);
this.btnPlunderQty6.Name = "btnPlunderQty6";
this.btnPlunderQty6.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty6.TabIndex = 134;
this.btnPlunderQty6.Text = "88";
this.btnPlunderQty6.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll5
//
this.btnPlunderAll5.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll5.Location = new System.Drawing.Point(100, 124);
this.btnPlunderAll5.Name = "btnPlunderAll5";
this.btnPlunderAll5.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll5.TabIndex = 133;
this.btnPlunderAll5.Text = "All";
this.btnPlunderAll5.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty5
//
this.btnPlunderQty5.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty5.Location = new System.Drawing.Point(68, 124);
this.btnPlunderQty5.Name = "btnPlunderQty5";
this.btnPlunderQty5.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty5.TabIndex = 132;
this.btnPlunderQty5.Text = "88";
this.btnPlunderQty5.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll4
//
this.btnPlunderAll4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll4.Location = new System.Drawing.Point(100, 100);
this.btnPlunderAll4.Name = "btnPlunderAll4";
this.btnPlunderAll4.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll4.TabIndex = 131;
this.btnPlunderAll4.Text = "All";
this.btnPlunderAll4.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty4
//
this.btnPlunderQty4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty4.Location = new System.Drawing.Point(68, 100);
this.btnPlunderQty4.Name = "btnPlunderQty4";
this.btnPlunderQty4.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty4.TabIndex = 130;
this.btnPlunderQty4.Text = "88";
this.btnPlunderQty4.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll3
//
this.btnPlunderAll3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll3.Location = new System.Drawing.Point(100, 76);
this.btnPlunderAll3.Name = "btnPlunderAll3";
this.btnPlunderAll3.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll3.TabIndex = 129;
this.btnPlunderAll3.Text = "All";
this.btnPlunderAll3.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty3
//
this.btnPlunderQty3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty3.Location = new System.Drawing.Point(68, 76);
this.btnPlunderQty3.Name = "btnPlunderQty3";
this.btnPlunderQty3.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty3.TabIndex = 128;
this.btnPlunderQty3.Text = "88";
this.btnPlunderQty3.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll2
//
this.btnPlunderAll2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll2.Location = new System.Drawing.Point(100, 52);
this.btnPlunderAll2.Name = "btnPlunderAll2";
this.btnPlunderAll2.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll2.TabIndex = 127;
this.btnPlunderAll2.Text = "All";
this.btnPlunderAll2.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty2
//
this.btnPlunderQty2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty2.Location = new System.Drawing.Point(68, 52);
this.btnPlunderQty2.Name = "btnPlunderQty2";
this.btnPlunderQty2.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty2.TabIndex = 126;
this.btnPlunderQty2.Text = "88";
this.btnPlunderQty2.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll1
//
this.btnPlunderAll1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll1.Location = new System.Drawing.Point(100, 28);
this.btnPlunderAll1.Name = "btnPlunderAll1";
this.btnPlunderAll1.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll1.TabIndex = 125;
this.btnPlunderAll1.Text = "All";
this.btnPlunderAll1.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty1
//
this.btnPlunderQty1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty1.Location = new System.Drawing.Point(68, 28);
this.btnPlunderQty1.Name = "btnPlunderQty1";
this.btnPlunderQty1.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty1.TabIndex = 124;
this.btnPlunderQty1.Text = "88";
this.btnPlunderQty1.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderAll0
//
this.btnPlunderAll0.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderAll0.Location = new System.Drawing.Point(100, 4);
this.btnPlunderAll0.Name = "btnPlunderAll0";
this.btnPlunderAll0.Size = new System.Drawing.Size(32, 22);
this.btnPlunderAll0.TabIndex = 123;
this.btnPlunderAll0.Text = "All";
this.btnPlunderAll0.Click += new System.EventHandler(this.btnPlunder_Click);
//
// btnPlunderQty0
//
this.btnPlunderQty0.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPlunderQty0.Location = new System.Drawing.Point(68, 4);
this.btnPlunderQty0.Name = "btnPlunderQty0";
this.btnPlunderQty0.Size = new System.Drawing.Size(28, 22);
this.btnPlunderQty0.TabIndex = 122;
this.btnPlunderQty0.Text = "88";
this.btnPlunderQty0.Click += new System.EventHandler(this.btnPlunder_Click);
//
// lblTradeCmdty9
//
this.lblTradeCmdty9.AutoSize = true;
this.lblTradeCmdty9.Location = new System.Drawing.Point(8, 224);
this.lblTradeCmdty9.Name = "lblTradeCmdty9";
this.lblTradeCmdty9.Size = new System.Drawing.Size(41, 13);
this.lblTradeCmdty9.TabIndex = 151;
this.lblTradeCmdty9.Text = "Robots";
//
// lblTradeCmdty8
//
this.lblTradeCmdty8.AutoSize = true;
this.lblTradeCmdty8.Location = new System.Drawing.Point(8, 200);
this.lblTradeCmdty8.Name = "lblTradeCmdty8";
this.lblTradeCmdty8.Size = new System.Drawing.Size(52, 13);
this.lblTradeCmdty8.TabIndex = 150;
this.lblTradeCmdty8.Text = "Narcotics";
//
// lblTradeCmdty2
//
this.lblTradeCmdty2.AutoSize = true;
this.lblTradeCmdty2.Location = new System.Drawing.Point(8, 56);
this.lblTradeCmdty2.Name = "lblTradeCmdty2";
this.lblTradeCmdty2.Size = new System.Drawing.Size(31, 13);
this.lblTradeCmdty2.TabIndex = 149;
this.lblTradeCmdty2.Text = "Food";
//
// lblTradeCmdty0
//
this.lblTradeCmdty0.AutoSize = true;
this.lblTradeCmdty0.Location = new System.Drawing.Point(8, 8);
this.lblTradeCmdty0.Name = "lblTradeCmdty0";
this.lblTradeCmdty0.Size = new System.Drawing.Size(36, 13);
this.lblTradeCmdty0.TabIndex = 148;
this.lblTradeCmdty0.Text = "Water";
//
// lblTradeCmdty1
//
this.lblTradeCmdty1.AutoSize = true;
this.lblTradeCmdty1.Location = new System.Drawing.Point(8, 32);
this.lblTradeCmdty1.Name = "lblTradeCmdty1";
this.lblTradeCmdty1.Size = new System.Drawing.Size(27, 13);
this.lblTradeCmdty1.TabIndex = 147;
this.lblTradeCmdty1.Text = "Furs";
//
// lblTradeCmdty6
//
this.lblTradeCmdty6.AutoSize = true;
this.lblTradeCmdty6.Location = new System.Drawing.Point(8, 152);
this.lblTradeCmdty6.Name = "lblTradeCmdty6";
this.lblTradeCmdty6.Size = new System.Drawing.Size(50, 13);
this.lblTradeCmdty6.TabIndex = 146;
this.lblTradeCmdty6.Text = "Medicine";
//
// lblTradeCmdty5
//
this.lblTradeCmdty5.AutoSize = true;
this.lblTradeCmdty5.Location = new System.Drawing.Point(8, 128);
this.lblTradeCmdty5.Name = "lblTradeCmdty5";
this.lblTradeCmdty5.Size = new System.Drawing.Size(46, 13);
this.lblTradeCmdty5.TabIndex = 145;
this.lblTradeCmdty5.Text = "Firearms";
//
// lblTradeCmdty4
//
this.lblTradeCmdty4.AutoSize = true;
this.lblTradeCmdty4.Location = new System.Drawing.Point(8, 104);
this.lblTradeCmdty4.Name = "lblTradeCmdty4";
this.lblTradeCmdty4.Size = new System.Drawing.Size(40, 13);
this.lblTradeCmdty4.TabIndex = 144;
this.lblTradeCmdty4.Text = "Games";
//
// lblTradeCmdty3
//
this.lblTradeCmdty3.AutoSize = true;
this.lblTradeCmdty3.Location = new System.Drawing.Point(8, 80);
this.lblTradeCmdty3.Name = "lblTradeCmdty3";
this.lblTradeCmdty3.Size = new System.Drawing.Size(24, 13);
this.lblTradeCmdty3.TabIndex = 143;
this.lblTradeCmdty3.Text = "Ore";
//
// lblTradeCmdty7
//
this.lblTradeCmdty7.AutoSize = true;
this.lblTradeCmdty7.Location = new System.Drawing.Point(8, 176);
this.lblTradeCmdty7.Name = "lblTradeCmdty7";
this.lblTradeCmdty7.Size = new System.Drawing.Size(53, 13);
this.lblTradeCmdty7.TabIndex = 142;
this.lblTradeCmdty7.Text = "Machines";
//
// lblBaysLabel
//
this.lblBaysLabel.AutoSize = true;
this.lblBaysLabel.Location = new System.Drawing.Point(144, 8);
this.lblBaysLabel.Name = "lblBaysLabel";
this.lblBaysLabel.Size = new System.Drawing.Size(33, 13);
this.lblBaysLabel.TabIndex = 152;
this.lblBaysLabel.Text = "Bays:";
//
// lblBays
//
this.lblBays.Location = new System.Drawing.Point(176, 8);
this.lblBays.Name = "lblBays";
this.lblBays.Size = new System.Drawing.Size(48, 13);
this.lblBays.TabIndex = 153;
this.lblBays.Text = "888/888";
//
// btnDone
//
this.btnDone.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnDone.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnDone.Location = new System.Drawing.Point(87, 252);
this.btnDone.Name = "btnDone";
this.btnDone.Size = new System.Drawing.Size(44, 22);
this.btnDone.TabIndex = 154;
this.btnDone.Text = "Done";
//
// btnJettison
//
this.btnJettison.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnJettison.Location = new System.Drawing.Point(150, 24);
this.btnJettison.Name = "btnJettison";
this.btnJettison.Size = new System.Drawing.Size(53, 22);
this.btnJettison.TabIndex = 155;
this.btnJettison.Text = "Jettison";
this.btnJettison.Click += new System.EventHandler(this.btnJettison_Click);
//
// FormPlunder
//
this.AcceptButton = this.btnDone;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnDone;
this.ClientSize = new System.Drawing.Size(230, 283);
this.Controls.Add(this.btnJettison);
this.Controls.Add(this.btnDone);
this.Controls.Add(this.lblBays);
this.Controls.Add(this.lblBaysLabel);
this.Controls.Add(this.lblTradeCmdty9);
this.Controls.Add(this.lblTradeCmdty8);
this.Controls.Add(this.lblTradeCmdty2);
this.Controls.Add(this.lblTradeCmdty0);
this.Controls.Add(this.lblTradeCmdty1);
this.Controls.Add(this.lblTradeCmdty6);
this.Controls.Add(this.lblTradeCmdty5);
this.Controls.Add(this.lblTradeCmdty4);
this.Controls.Add(this.lblTradeCmdty3);
this.Controls.Add(this.lblTradeCmdty7);
this.Controls.Add(this.btnPlunderAll9);
this.Controls.Add(this.btnPlunderQty9);
this.Controls.Add(this.btnPlunderAll8);
this.Controls.Add(this.btnPlunderQty8);
this.Controls.Add(this.btnPlunderAll7);
this.Controls.Add(this.btnPlunderQty7);
this.Controls.Add(this.btnPlunderAll6);
this.Controls.Add(this.btnPlunderQty6);
this.Controls.Add(this.btnPlunderAll5);
this.Controls.Add(this.btnPlunderQty5);
this.Controls.Add(this.btnPlunderAll4);
this.Controls.Add(this.btnPlunderQty4);
this.Controls.Add(this.btnPlunderAll3);
this.Controls.Add(this.btnPlunderQty3);
this.Controls.Add(this.btnPlunderAll2);
this.Controls.Add(this.btnPlunderQty2);
this.Controls.Add(this.btnPlunderAll1);
this.Controls.Add(this.btnPlunderQty1);
this.Controls.Add(this.btnPlunderAll0);
this.Controls.Add(this.btnPlunderQty0);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormPlunder";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Plunder Cargo";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private void Plunder(int tradeItem, bool all)
{
game.CargoPlunder(tradeItem, all, this);
UpdateAll();
}
private void UpdateAll()
{
Ship ship = game.Commander.Ship;
Ship opp = game.Opponent;
for (int i = 0; i < btnPlunderQty.Length; i++)
btnPlunderQty[i].Text = opp.Cargo[i].ToString();
lblBays.Text = ship.FilledCargoBays.ToString() + "/" + ship.CargoBays.ToString();
}
#endregion
#region Event Handlers
private void btnJettison_Click(object sender, System.EventArgs e)
{
(new FormJettison()).ShowDialog(this);
}
#endregion
#region Properties
private void btnPlunder_Click(object sender, System.EventArgs e)
{
string name = ((Button)sender).Name;
bool all = name.IndexOf("Qty") < 0;
int index = int.Parse(name.Substring(name.Length - 1));
Plunder(index, all);
}
#endregion
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1,954 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormShipList : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Button btnBuy0;
private System.Windows.Forms.Label lblName0;
private System.Windows.Forms.Button btnInfo0;
private System.Windows.Forms.Label lblPrice0;
private System.Windows.Forms.Label lblPrice1;
private System.Windows.Forms.Button btnInfo1;
private System.Windows.Forms.Label lblName1;
private System.Windows.Forms.Button btnBuy1;
private System.Windows.Forms.Label lblPrice2;
private System.Windows.Forms.Button btnInfo2;
private System.Windows.Forms.Label lblName2;
private System.Windows.Forms.Button btnBuy2;
private System.Windows.Forms.Label lblPrice3;
private System.Windows.Forms.Button btnInfo3;
private System.Windows.Forms.Label lblName3;
private System.Windows.Forms.Button btnBuy3;
private System.Windows.Forms.Label lblPrice4;
private System.Windows.Forms.Button btnInfo4;
private System.Windows.Forms.Label lblName4;
private System.Windows.Forms.Button btnBuy4;
private System.Windows.Forms.Label lblPrice5;
private System.Windows.Forms.Button btnInfo5;
private System.Windows.Forms.Label lblName5;
private System.Windows.Forms.Button btnBuy5;
private System.Windows.Forms.Label lblPrice6;
private System.Windows.Forms.Button btnInfo6;
private System.Windows.Forms.Label lblName6;
private System.Windows.Forms.Button btnBuy6;
private System.Windows.Forms.Label lblPrice7;
private System.Windows.Forms.Button btnInfo7;
private System.Windows.Forms.Label lblName7;
private System.Windows.Forms.Button btnBuy7;
private System.Windows.Forms.Label lblPrice8;
private System.Windows.Forms.Button btnInfo8;
private System.Windows.Forms.Label lblName8;
private System.Windows.Forms.Button btnBuy8;
private System.Windows.Forms.Label lblPrice9;
private System.Windows.Forms.Button btnInfo9;
private System.Windows.Forms.Label lblName9;
private System.Windows.Forms.Button btnBuy9;
private System.Windows.Forms.GroupBox boxShipInfo;
private System.Windows.Forms.Label lblSizeLabel;
private System.Windows.Forms.Label lblNameLabel;
private System.Windows.Forms.Label lblBaysLabel;
private System.Windows.Forms.Label lblRangeLabel;
private System.Windows.Forms.Label lblHullLabel;
private System.Windows.Forms.Label lblWeaponLabel;
private System.Windows.Forms.Label lblShieldLabel;
private System.Windows.Forms.Label lblCrewLabel;
private System.Windows.Forms.Label lblGadgetLabel;
private System.Windows.Forms.PictureBox picShip;
private System.Windows.Forms.Label lblName;
private System.Windows.Forms.Label lblSize;
private System.Windows.Forms.Label lblBays;
private System.Windows.Forms.Label lblRange;
private System.Windows.Forms.Label lblHull;
private System.Windows.Forms.Label lblWeapon;
private System.Windows.Forms.Label lblShield;
private System.Windows.Forms.Label lblGadget;
private System.Windows.Forms.Label lblCrew;
private System.ComponentModel.Container components = null;
private Label[] lblPrice;
private Button[] btnBuy;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
private int[] prices = new int[Consts.ShipSpecs.Length];
#endregion
#region Methods
public FormShipList()
{
InitializeComponent();
#region Array of controls
lblPrice = new Label[]
{
lblPrice0,
lblPrice1,
lblPrice2,
lblPrice3,
lblPrice4,
lblPrice5,
lblPrice6,
lblPrice7,
lblPrice8,
lblPrice9,
};
btnBuy = new Button[]
{
btnBuy0,
btnBuy1,
btnBuy2,
btnBuy3,
btnBuy4,
btnBuy5,
btnBuy6,
btnBuy7,
btnBuy8,
btnBuy9,
};
#endregion
UpdateAll();
Info((int)game.Commander.Ship.Type);
if (game.Commander.Ship.Tribbles > 0 && !game.TribbleMessage)
{
FormAlert.Alert(AlertType.TribblesTradeIn, this);
game.TribbleMessage = true;
}
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnClose = new System.Windows.Forms.Button();
this.btnBuy0 = new System.Windows.Forms.Button();
this.lblName0 = new System.Windows.Forms.Label();
this.btnInfo0 = new System.Windows.Forms.Button();
this.lblPrice0 = new System.Windows.Forms.Label();
this.lblPrice1 = new System.Windows.Forms.Label();
this.btnInfo1 = new System.Windows.Forms.Button();
this.lblName1 = new System.Windows.Forms.Label();
this.btnBuy1 = new System.Windows.Forms.Button();
this.lblPrice2 = new System.Windows.Forms.Label();
this.btnInfo2 = new System.Windows.Forms.Button();
this.lblName2 = new System.Windows.Forms.Label();
this.btnBuy2 = new System.Windows.Forms.Button();
this.lblPrice3 = new System.Windows.Forms.Label();
this.btnInfo3 = new System.Windows.Forms.Button();
this.lblName3 = new System.Windows.Forms.Label();
this.btnBuy3 = new System.Windows.Forms.Button();
this.lblPrice4 = new System.Windows.Forms.Label();
this.btnInfo4 = new System.Windows.Forms.Button();
this.lblName4 = new System.Windows.Forms.Label();
this.btnBuy4 = new System.Windows.Forms.Button();
this.lblPrice5 = new System.Windows.Forms.Label();
this.btnInfo5 = new System.Windows.Forms.Button();
this.lblName5 = new System.Windows.Forms.Label();
this.btnBuy5 = new System.Windows.Forms.Button();
this.lblPrice6 = new System.Windows.Forms.Label();
this.btnInfo6 = new System.Windows.Forms.Button();
this.lblName6 = new System.Windows.Forms.Label();
this.btnBuy6 = new System.Windows.Forms.Button();
this.lblPrice7 = new System.Windows.Forms.Label();
this.btnInfo7 = new System.Windows.Forms.Button();
this.lblName7 = new System.Windows.Forms.Label();
this.btnBuy7 = new System.Windows.Forms.Button();
this.lblPrice8 = new System.Windows.Forms.Label();
this.btnInfo8 = new System.Windows.Forms.Button();
this.lblName8 = new System.Windows.Forms.Label();
this.btnBuy8 = new System.Windows.Forms.Button();
this.lblPrice9 = new System.Windows.Forms.Label();
this.btnInfo9 = new System.Windows.Forms.Button();
this.lblName9 = new System.Windows.Forms.Label();
this.btnBuy9 = new System.Windows.Forms.Button();
this.boxShipInfo = new System.Windows.Forms.GroupBox();
this.lblCrew = new System.Windows.Forms.Label();
this.lblGadget = new System.Windows.Forms.Label();
this.lblShield = new System.Windows.Forms.Label();
this.lblWeapon = new System.Windows.Forms.Label();
this.lblHull = new System.Windows.Forms.Label();
this.lblRange = new System.Windows.Forms.Label();
this.lblBays = new System.Windows.Forms.Label();
this.lblSize = new System.Windows.Forms.Label();
this.lblName = new System.Windows.Forms.Label();
this.picShip = new System.Windows.Forms.PictureBox();
this.lblGadgetLabel = new System.Windows.Forms.Label();
this.lblCrewLabel = new System.Windows.Forms.Label();
this.lblShieldLabel = new System.Windows.Forms.Label();
this.lblWeaponLabel = new System.Windows.Forms.Label();
this.lblHullLabel = new System.Windows.Forms.Label();
this.lblRangeLabel = new System.Windows.Forms.Label();
this.lblBaysLabel = new System.Windows.Forms.Label();
this.lblNameLabel = new System.Windows.Forms.Label();
this.lblSizeLabel = new System.Windows.Forms.Label();
this.boxShipInfo.SuspendLayout();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// btnBuy0
//
this.btnBuy0.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy0.Location = new System.Drawing.Point(8, 8);
this.btnBuy0.Name = "btnBuy0";
this.btnBuy0.Size = new System.Drawing.Size(35, 22);
this.btnBuy0.TabIndex = 1;
this.btnBuy0.Text = "Buy";
this.btnBuy0.Visible = false;
this.btnBuy0.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName0
//
this.lblName0.Location = new System.Drawing.Point(48, 12);
this.lblName0.Name = "lblName0";
this.lblName0.Size = new System.Drawing.Size(70, 13);
this.lblName0.TabIndex = 34;
this.lblName0.Text = "Flea";
//
// btnInfo0
//
this.btnInfo0.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo0.Location = new System.Drawing.Point(120, 8);
this.btnInfo0.Name = "btnInfo0";
this.btnInfo0.Size = new System.Drawing.Size(34, 22);
this.btnInfo0.TabIndex = 11;
this.btnInfo0.Text = "Info";
this.btnInfo0.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice0
//
this.lblPrice0.Location = new System.Drawing.Point(160, 12);
this.lblPrice0.Name = "lblPrice0";
this.lblPrice0.Size = new System.Drawing.Size(64, 13);
this.lblPrice0.TabIndex = 36;
this.lblPrice0.Text = "-888,888 cr.";
this.lblPrice0.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblPrice1
//
this.lblPrice1.Location = new System.Drawing.Point(160, 36);
this.lblPrice1.Name = "lblPrice1";
this.lblPrice1.Size = new System.Drawing.Size(64, 13);
this.lblPrice1.TabIndex = 40;
this.lblPrice1.Text = "-888,888 cr.";
this.lblPrice1.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo1
//
this.btnInfo1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo1.Location = new System.Drawing.Point(120, 32);
this.btnInfo1.Name = "btnInfo1";
this.btnInfo1.Size = new System.Drawing.Size(34, 22);
this.btnInfo1.TabIndex = 12;
this.btnInfo1.Text = "Info";
this.btnInfo1.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName1
//
this.lblName1.Location = new System.Drawing.Point(48, 36);
this.lblName1.Name = "lblName1";
this.lblName1.Size = new System.Drawing.Size(70, 13);
this.lblName1.TabIndex = 38;
this.lblName1.Text = "Gnat";
//
// btnBuy1
//
this.btnBuy1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy1.Location = new System.Drawing.Point(8, 32);
this.btnBuy1.Name = "btnBuy1";
this.btnBuy1.Size = new System.Drawing.Size(35, 22);
this.btnBuy1.TabIndex = 2;
this.btnBuy1.Text = "Buy";
this.btnBuy1.Visible = false;
this.btnBuy1.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice2
//
this.lblPrice2.Location = new System.Drawing.Point(160, 60);
this.lblPrice2.Name = "lblPrice2";
this.lblPrice2.Size = new System.Drawing.Size(64, 13);
this.lblPrice2.TabIndex = 44;
this.lblPrice2.Text = "-888,888 cr.";
this.lblPrice2.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo2
//
this.btnInfo2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo2.Location = new System.Drawing.Point(120, 56);
this.btnInfo2.Name = "btnInfo2";
this.btnInfo2.Size = new System.Drawing.Size(34, 22);
this.btnInfo2.TabIndex = 13;
this.btnInfo2.Text = "Info";
this.btnInfo2.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName2
//
this.lblName2.Location = new System.Drawing.Point(48, 60);
this.lblName2.Name = "lblName2";
this.lblName2.Size = new System.Drawing.Size(70, 13);
this.lblName2.TabIndex = 42;
this.lblName2.Text = "Firefly";
//
// btnBuy2
//
this.btnBuy2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy2.Location = new System.Drawing.Point(8, 56);
this.btnBuy2.Name = "btnBuy2";
this.btnBuy2.Size = new System.Drawing.Size(35, 22);
this.btnBuy2.TabIndex = 3;
this.btnBuy2.Text = "Buy";
this.btnBuy2.Visible = false;
this.btnBuy2.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice3
//
this.lblPrice3.Location = new System.Drawing.Point(160, 84);
this.lblPrice3.Name = "lblPrice3";
this.lblPrice3.Size = new System.Drawing.Size(64, 13);
this.lblPrice3.TabIndex = 48;
this.lblPrice3.Text = "-888,888 cr.";
this.lblPrice3.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo3
//
this.btnInfo3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo3.Location = new System.Drawing.Point(120, 80);
this.btnInfo3.Name = "btnInfo3";
this.btnInfo3.Size = new System.Drawing.Size(34, 22);
this.btnInfo3.TabIndex = 14;
this.btnInfo3.Text = "Info";
this.btnInfo3.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName3
//
this.lblName3.Location = new System.Drawing.Point(48, 84);
this.lblName3.Name = "lblName3";
this.lblName3.Size = new System.Drawing.Size(70, 13);
this.lblName3.TabIndex = 46;
this.lblName3.Text = "Mosquito";
//
// btnBuy3
//
this.btnBuy3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy3.Location = new System.Drawing.Point(8, 80);
this.btnBuy3.Name = "btnBuy3";
this.btnBuy3.Size = new System.Drawing.Size(35, 22);
this.btnBuy3.TabIndex = 4;
this.btnBuy3.Text = "Buy";
this.btnBuy3.Visible = false;
this.btnBuy3.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice4
//
this.lblPrice4.Location = new System.Drawing.Point(160, 108);
this.lblPrice4.Name = "lblPrice4";
this.lblPrice4.Size = new System.Drawing.Size(64, 13);
this.lblPrice4.TabIndex = 52;
this.lblPrice4.Text = "-888,888 cr.";
this.lblPrice4.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo4
//
this.btnInfo4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo4.Location = new System.Drawing.Point(120, 104);
this.btnInfo4.Name = "btnInfo4";
this.btnInfo4.Size = new System.Drawing.Size(34, 22);
this.btnInfo4.TabIndex = 15;
this.btnInfo4.Text = "Info";
this.btnInfo4.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName4
//
this.lblName4.Location = new System.Drawing.Point(48, 108);
this.lblName4.Name = "lblName4";
this.lblName4.Size = new System.Drawing.Size(70, 13);
this.lblName4.TabIndex = 50;
this.lblName4.Text = "Bumblebee";
//
// btnBuy4
//
this.btnBuy4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy4.Location = new System.Drawing.Point(8, 104);
this.btnBuy4.Name = "btnBuy4";
this.btnBuy4.Size = new System.Drawing.Size(35, 22);
this.btnBuy4.TabIndex = 5;
this.btnBuy4.Text = "Buy";
this.btnBuy4.Visible = false;
this.btnBuy4.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice5
//
this.lblPrice5.Location = new System.Drawing.Point(160, 132);
this.lblPrice5.Name = "lblPrice5";
this.lblPrice5.Size = new System.Drawing.Size(64, 13);
this.lblPrice5.TabIndex = 56;
this.lblPrice5.Text = "got one";
this.lblPrice5.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo5
//
this.btnInfo5.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo5.Location = new System.Drawing.Point(120, 128);
this.btnInfo5.Name = "btnInfo5";
this.btnInfo5.Size = new System.Drawing.Size(34, 22);
this.btnInfo5.TabIndex = 16;
this.btnInfo5.Text = "Info";
this.btnInfo5.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName5
//
this.lblName5.Location = new System.Drawing.Point(48, 132);
this.lblName5.Name = "lblName5";
this.lblName5.Size = new System.Drawing.Size(70, 13);
this.lblName5.TabIndex = 54;
this.lblName5.Text = "Beetle";
//
// btnBuy5
//
this.btnBuy5.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy5.Location = new System.Drawing.Point(8, 128);
this.btnBuy5.Name = "btnBuy5";
this.btnBuy5.Size = new System.Drawing.Size(35, 22);
this.btnBuy5.TabIndex = 6;
this.btnBuy5.Text = "Buy";
this.btnBuy5.Visible = false;
this.btnBuy5.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice6
//
this.lblPrice6.Location = new System.Drawing.Point(160, 156);
this.lblPrice6.Name = "lblPrice6";
this.lblPrice6.Size = new System.Drawing.Size(64, 13);
this.lblPrice6.TabIndex = 60;
this.lblPrice6.Text = "-888,888 cr.";
this.lblPrice6.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo6
//
this.btnInfo6.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo6.Location = new System.Drawing.Point(120, 152);
this.btnInfo6.Name = "btnInfo6";
this.btnInfo6.Size = new System.Drawing.Size(34, 22);
this.btnInfo6.TabIndex = 17;
this.btnInfo6.Text = "Info";
this.btnInfo6.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName6
//
this.lblName6.Location = new System.Drawing.Point(48, 156);
this.lblName6.Name = "lblName6";
this.lblName6.Size = new System.Drawing.Size(70, 13);
this.lblName6.TabIndex = 58;
this.lblName6.Text = "Hornet";
//
// btnBuy6
//
this.btnBuy6.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy6.Location = new System.Drawing.Point(8, 152);
this.btnBuy6.Name = "btnBuy6";
this.btnBuy6.Size = new System.Drawing.Size(35, 22);
this.btnBuy6.TabIndex = 7;
this.btnBuy6.Text = "Buy";
this.btnBuy6.Visible = false;
this.btnBuy6.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice7
//
this.lblPrice7.Location = new System.Drawing.Point(160, 180);
this.lblPrice7.Name = "lblPrice7";
this.lblPrice7.Size = new System.Drawing.Size(64, 13);
this.lblPrice7.TabIndex = 64;
this.lblPrice7.Text = "-888,888 cr.";
this.lblPrice7.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo7
//
this.btnInfo7.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo7.Location = new System.Drawing.Point(120, 176);
this.btnInfo7.Name = "btnInfo7";
this.btnInfo7.Size = new System.Drawing.Size(34, 22);
this.btnInfo7.TabIndex = 18;
this.btnInfo7.Text = "Info";
this.btnInfo7.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName7
//
this.lblName7.Location = new System.Drawing.Point(48, 180);
this.lblName7.Name = "lblName7";
this.lblName7.Size = new System.Drawing.Size(70, 13);
this.lblName7.TabIndex = 62;
this.lblName7.Text = "Grasshopper";
//
// btnBuy7
//
this.btnBuy7.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy7.Location = new System.Drawing.Point(8, 176);
this.btnBuy7.Name = "btnBuy7";
this.btnBuy7.Size = new System.Drawing.Size(35, 22);
this.btnBuy7.TabIndex = 8;
this.btnBuy7.Text = "Buy";
this.btnBuy7.Visible = false;
this.btnBuy7.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice8
//
this.lblPrice8.Location = new System.Drawing.Point(160, 204);
this.lblPrice8.Name = "lblPrice8";
this.lblPrice8.Size = new System.Drawing.Size(64, 13);
this.lblPrice8.TabIndex = 68;
this.lblPrice8.Text = "-888,888 cr.";
this.lblPrice8.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo8
//
this.btnInfo8.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo8.Location = new System.Drawing.Point(120, 200);
this.btnInfo8.Name = "btnInfo8";
this.btnInfo8.Size = new System.Drawing.Size(34, 22);
this.btnInfo8.TabIndex = 19;
this.btnInfo8.Text = "Info";
this.btnInfo8.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName8
//
this.lblName8.Location = new System.Drawing.Point(48, 204);
this.lblName8.Name = "lblName8";
this.lblName8.Size = new System.Drawing.Size(70, 13);
this.lblName8.TabIndex = 66;
this.lblName8.Text = "Termite";
//
// btnBuy8
//
this.btnBuy8.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy8.Location = new System.Drawing.Point(8, 200);
this.btnBuy8.Name = "btnBuy8";
this.btnBuy8.Size = new System.Drawing.Size(35, 22);
this.btnBuy8.TabIndex = 9;
this.btnBuy8.Text = "Buy";
this.btnBuy8.Visible = false;
this.btnBuy8.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblPrice9
//
this.lblPrice9.Location = new System.Drawing.Point(160, 228);
this.lblPrice9.Name = "lblPrice9";
this.lblPrice9.Size = new System.Drawing.Size(64, 13);
this.lblPrice9.TabIndex = 72;
this.lblPrice9.Text = "not sold";
this.lblPrice9.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnInfo9
//
this.btnInfo9.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInfo9.Location = new System.Drawing.Point(120, 224);
this.btnInfo9.Name = "btnInfo9";
this.btnInfo9.Size = new System.Drawing.Size(34, 22);
this.btnInfo9.TabIndex = 20;
this.btnInfo9.Text = "Info";
this.btnInfo9.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// lblName9
//
this.lblName9.Location = new System.Drawing.Point(48, 228);
this.lblName9.Name = "lblName9";
this.lblName9.Size = new System.Drawing.Size(70, 13);
this.lblName9.TabIndex = 70;
this.lblName9.Text = "Wasp";
//
// btnBuy9
//
this.btnBuy9.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuy9.Location = new System.Drawing.Point(8, 224);
this.btnBuy9.Name = "btnBuy9";
this.btnBuy9.Size = new System.Drawing.Size(35, 22);
this.btnBuy9.TabIndex = 10;
this.btnBuy9.Text = "Buy";
this.btnBuy9.Visible = false;
this.btnBuy9.Click += new System.EventHandler(this.btnBuyInfo_Click);
//
// boxShipInfo
//
this.boxShipInfo.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblCrew,
this.lblGadget,
this.lblShield,
this.lblWeapon,
this.lblHull,
this.lblRange,
this.lblBays,
this.lblSize,
this.lblName,
this.picShip,
this.lblGadgetLabel,
this.lblCrewLabel,
this.lblShieldLabel,
this.lblWeaponLabel,
this.lblHullLabel,
this.lblRangeLabel,
this.lblBaysLabel,
this.lblNameLabel,
this.lblSizeLabel});
this.boxShipInfo.Location = new System.Drawing.Point(232, 0);
this.boxShipInfo.Name = "boxShipInfo";
this.boxShipInfo.Size = new System.Drawing.Size(200, 248);
this.boxShipInfo.TabIndex = 73;
this.boxShipInfo.TabStop = false;
this.boxShipInfo.Text = "Ship Information";
//
// lblCrew
//
this.lblCrew.Location = new System.Drawing.Point(96, 224);
this.lblCrew.Name = "lblCrew";
this.lblCrew.Size = new System.Drawing.Size(10, 13);
this.lblCrew.TabIndex = 43;
this.lblCrew.Text = "8";
//
// lblGadget
//
this.lblGadget.Location = new System.Drawing.Point(96, 208);
this.lblGadget.Name = "lblGadget";
this.lblGadget.Size = new System.Drawing.Size(10, 13);
this.lblGadget.TabIndex = 42;
this.lblGadget.Text = "8";
//
// lblShield
//
this.lblShield.Location = new System.Drawing.Point(96, 192);
this.lblShield.Name = "lblShield";
this.lblShield.Size = new System.Drawing.Size(10, 13);
this.lblShield.TabIndex = 41;
this.lblShield.Text = "8";
//
// lblWeapon
//
this.lblWeapon.Location = new System.Drawing.Point(96, 176);
this.lblWeapon.Name = "lblWeapon";
this.lblWeapon.Size = new System.Drawing.Size(10, 13);
this.lblWeapon.TabIndex = 40;
this.lblWeapon.Text = "8";
//
// lblHull
//
this.lblHull.Location = new System.Drawing.Point(96, 160);
this.lblHull.Name = "lblHull";
this.lblHull.Size = new System.Drawing.Size(23, 13);
this.lblHull.TabIndex = 39;
this.lblHull.Text = "888";
//
// lblRange
//
this.lblRange.Location = new System.Drawing.Point(96, 144);
this.lblRange.Name = "lblRange";
this.lblRange.Size = new System.Drawing.Size(59, 13);
this.lblRange.TabIndex = 38;
this.lblRange.Text = "88 parsecs";
//
// lblBays
//
this.lblBays.Location = new System.Drawing.Point(96, 128);
this.lblBays.Name = "lblBays";
this.lblBays.Size = new System.Drawing.Size(17, 13);
this.lblBays.TabIndex = 37;
this.lblBays.Text = "88";
//
// lblSize
//
this.lblSize.Location = new System.Drawing.Point(96, 112);
this.lblSize.Name = "lblSize";
this.lblSize.Size = new System.Drawing.Size(45, 13);
this.lblSize.TabIndex = 36;
this.lblSize.Text = "Medium";
//
// lblName
//
this.lblName.Location = new System.Drawing.Point(96, 96);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(100, 13);
this.lblName.TabIndex = 35;
this.lblName.Text = "Grasshopper";
//
// picShip
//
this.picShip.BackColor = System.Drawing.Color.White;
this.picShip.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.picShip.Location = new System.Drawing.Point(67, 25);
this.picShip.Name = "picShip";
this.picShip.Size = new System.Drawing.Size(66, 54);
this.picShip.TabIndex = 12;
this.picShip.TabStop = false;
//
// lblGadgetLabel
//
this.lblGadgetLabel.AutoSize = true;
this.lblGadgetLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblGadgetLabel.Location = new System.Drawing.Point(8, 208);
this.lblGadgetLabel.Name = "lblGadgetLabel";
this.lblGadgetLabel.Size = new System.Drawing.Size(76, 13);
this.lblGadgetLabel.TabIndex = 11;
this.lblGadgetLabel.Text = "Gadget Slots:";
//
// lblCrewLabel
//
this.lblCrewLabel.AutoSize = true;
this.lblCrewLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblCrewLabel.Location = new System.Drawing.Point(8, 224);
this.lblCrewLabel.Name = "lblCrewLabel";
this.lblCrewLabel.Size = new System.Drawing.Size(84, 13);
this.lblCrewLabel.TabIndex = 10;
this.lblCrewLabel.Text = "Crew Quarters:";
//
// lblShieldLabel
//
this.lblShieldLabel.AutoSize = true;
this.lblShieldLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblShieldLabel.Location = new System.Drawing.Point(8, 192);
this.lblShieldLabel.Name = "lblShieldLabel";
this.lblShieldLabel.Size = new System.Drawing.Size(70, 13);
this.lblShieldLabel.TabIndex = 9;
this.lblShieldLabel.Text = "Shield Slots:";
//
// lblWeaponLabel
//
this.lblWeaponLabel.AutoSize = true;
this.lblWeaponLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblWeaponLabel.Location = new System.Drawing.Point(8, 176);
this.lblWeaponLabel.Name = "lblWeaponLabel";
this.lblWeaponLabel.Size = new System.Drawing.Size(81, 13);
this.lblWeaponLabel.TabIndex = 8;
this.lblWeaponLabel.Text = "Weapon Slots:";
//
// lblHullLabel
//
this.lblHullLabel.AutoSize = true;
this.lblHullLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblHullLabel.Location = new System.Drawing.Point(8, 160);
this.lblHullLabel.Name = "lblHullLabel";
this.lblHullLabel.Size = new System.Drawing.Size(73, 13);
this.lblHullLabel.TabIndex = 7;
this.lblHullLabel.Text = "Hull Strength";
//
// lblRangeLabel
//
this.lblRangeLabel.AutoSize = true;
this.lblRangeLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblRangeLabel.Location = new System.Drawing.Point(8, 144);
this.lblRangeLabel.Name = "lblRangeLabel";
this.lblRangeLabel.Size = new System.Drawing.Size(42, 13);
this.lblRangeLabel.TabIndex = 6;
this.lblRangeLabel.Text = "Range:";
//
// lblBaysLabel
//
this.lblBaysLabel.AutoSize = true;
this.lblBaysLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblBaysLabel.Location = new System.Drawing.Point(8, 128);
this.lblBaysLabel.Name = "lblBaysLabel";
this.lblBaysLabel.Size = new System.Drawing.Size(69, 13);
this.lblBaysLabel.TabIndex = 5;
this.lblBaysLabel.Text = "Cargo Bays:";
//
// lblNameLabel
//
this.lblNameLabel.AutoSize = true;
this.lblNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblNameLabel.Location = new System.Drawing.Point(8, 96);
this.lblNameLabel.Name = "lblNameLabel";
this.lblNameLabel.Size = new System.Drawing.Size(39, 13);
this.lblNameLabel.TabIndex = 4;
this.lblNameLabel.Text = "Name:";
//
// lblSizeLabel
//
this.lblSizeLabel.AutoSize = true;
this.lblSizeLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblSizeLabel.Location = new System.Drawing.Point(8, 112);
this.lblSizeLabel.Name = "lblSizeLabel";
this.lblSizeLabel.Size = new System.Drawing.Size(31, 13);
this.lblSizeLabel.TabIndex = 3;
this.lblSizeLabel.Text = "Size:";
//
// FormShipList
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(438, 255);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.boxShipInfo,
this.lblPrice9,
this.btnInfo9,
this.lblName9,
this.btnBuy9,
this.lblPrice8,
this.btnInfo8,
this.lblName8,
this.btnBuy8,
this.lblPrice7,
this.btnInfo7,
this.lblName7,
this.btnBuy7,
this.lblPrice6,
this.btnInfo6,
this.lblName6,
this.btnBuy6,
this.lblPrice5,
this.btnInfo5,
this.lblName5,
this.btnBuy5,
this.lblPrice4,
this.btnInfo4,
this.lblName4,
this.btnBuy4,
this.lblPrice3,
this.btnInfo3,
this.lblName3,
this.btnBuy3,
this.lblPrice2,
this.btnInfo2,
this.lblName2,
this.btnBuy2,
this.lblPrice1,
this.btnInfo1,
this.lblName1,
this.btnBuy1,
this.lblPrice0,
this.btnInfo0,
this.lblName0,
this.btnBuy0,
this.btnClose});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormShipList";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Ship List";
this.boxShipInfo.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void Buy(int id)
{
Info(id);
if (game.Commander.TradeShip(Consts.ShipSpecs[id], prices[id], this))
{
if (game.QuestStatusScarab == SpecialEvent.StatusScarabDone)
game.QuestStatusScarab = SpecialEvent.StatusScarabNotStarted;
UpdateAll();
game.ParentWindow.UpdateAll();
}
}
private void Info(int id)
{
ShipSpec spec = Consts.ShipSpecs[id];
picShip.Image = spec.Image;
lblName.Text = spec.Name;
lblSize.Text = Strings.Sizes[(int)spec.Size];
lblBays.Text = Functions.FormatNumber(spec.CargoBays);
lblRange.Text = Functions.Multiples(spec.FuelTanks, Strings.DistanceUnit);
lblHull.Text = Functions.FormatNumber(spec.HullStrength);
lblWeapon.Text = Functions.FormatNumber(spec.WeaponSlots);
lblShield.Text = Functions.FormatNumber(spec.ShieldSlots);
lblGadget.Text = Functions.FormatNumber(spec.GadgetSlots);
lblCrew.Text = Functions.FormatNumber(spec.CrewQuarters);
}
private void UpdateAll()
{
for (int i = 0; i < lblPrice.Length; i++)
{
btnBuy[i].Visible = false;
if (Consts.ShipSpecs[i].MinimumTechLevel > game.Commander.CurrentSystem.TechLevel)
lblPrice[i].Text = Strings.CargoBuyNA;
else if (Consts.ShipSpecs[i].Type == game.Commander.Ship.Type)
lblPrice[i].Text = Strings.ShipBuyGotOne;
else
{
btnBuy[i].Visible = true;
prices[i] = Consts.ShipSpecs[i].Price - game.Commander.Ship.Worth(false);
lblPrice[i].Text = Functions.FormatMoney(prices[i]);
}
}
}
#endregion
#region Event Handlers
private void btnBuyInfo_Click(object sender, System.EventArgs e)
{
string name = ((Button)sender).Name;
int index = int.Parse(name.Substring(name.Length - 1));
if (name.IndexOf("Buy") < 0)
Info(index);
else
Buy(index);
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormShipList</value>
</data>
</root>
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+296
View File
@@ -0,0 +1,296 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormTest : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Label lblAlertType;
private System.Windows.Forms.GroupBox boxAlert;
private System.Windows.Forms.Label lblValue2;
private System.Windows.Forms.Label lblValue1;
private System.Windows.Forms.Label lblValue3;
private System.Windows.Forms.ComboBox selAlertType;
private System.Windows.Forms.TextBox txtValue1;
private System.Windows.Forms.TextBox txtValue2;
private System.Windows.Forms.TextBox txtValue3;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button btnTestAlert;
private System.Windows.Forms.Button btnTestSpecialEvent;
private System.Windows.Forms.ComboBox selSpecialEvent;
private System.Windows.Forms.Label lblSpecialEvent;
private System.ComponentModel.Container components = null;
#endregion
#region Methods
public FormTest()
{
InitializeComponent();
for (AlertType type = AlertType.Alert; type <= AlertType.WildWontStayAboardReactor; type++)
selAlertType.Items.Add(type);
selAlertType.SelectedIndex = 0;
for (SpecialEventType type = SpecialEventType.Artifact; type < SpecialEventType.WildGetsOut; type++)
selSpecialEvent.Items.Add(type);
selSpecialEvent.SelectedIndex = 0;
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblAlertType = new System.Windows.Forms.Label();
this.boxAlert = new System.Windows.Forms.GroupBox();
this.btnTestAlert = new System.Windows.Forms.Button();
this.txtValue3 = new System.Windows.Forms.TextBox();
this.txtValue2 = new System.Windows.Forms.TextBox();
this.txtValue1 = new System.Windows.Forms.TextBox();
this.selAlertType = new System.Windows.Forms.ComboBox();
this.lblValue3 = new System.Windows.Forms.Label();
this.lblValue1 = new System.Windows.Forms.Label();
this.lblValue2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.btnTestSpecialEvent = new System.Windows.Forms.Button();
this.selSpecialEvent = new System.Windows.Forms.ComboBox();
this.lblSpecialEvent = new System.Windows.Forms.Label();
this.boxAlert.SuspendLayout();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// lblAlertType
//
this.lblAlertType.AutoSize = true;
this.lblAlertType.Location = new System.Drawing.Point(8, 19);
this.lblAlertType.Name = "lblAlertType";
this.lblAlertType.Size = new System.Drawing.Size(56, 13);
this.lblAlertType.TabIndex = 0;
this.lblAlertType.Text = "Alert Type";
//
// boxAlert
//
this.boxAlert.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnTestAlert,
this.txtValue3,
this.txtValue2,
this.txtValue1,
this.selAlertType,
this.lblValue3,
this.lblValue1,
this.lblValue2,
this.lblAlertType});
this.boxAlert.Location = new System.Drawing.Point(8, 8);
this.boxAlert.Name = "boxAlert";
this.boxAlert.Size = new System.Drawing.Size(200, 152);
this.boxAlert.TabIndex = 1;
this.boxAlert.TabStop = false;
this.boxAlert.Text = "Test Alert";
//
// btnTestAlert
//
this.btnTestAlert.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnTestAlert.Location = new System.Drawing.Point(80, 120);
this.btnTestAlert.Name = "btnTestAlert";
this.btnTestAlert.Size = new System.Drawing.Size(41, 22);
this.btnTestAlert.TabIndex = 8;
this.btnTestAlert.Text = "Test";
this.btnTestAlert.Click += new System.EventHandler(this.btnTestAlert_Click);
//
// txtValue3
//
this.txtValue3.Location = new System.Drawing.Point(72, 88);
this.txtValue3.Name = "txtValue3";
this.txtValue3.Size = new System.Drawing.Size(120, 20);
this.txtValue3.TabIndex = 7;
this.txtValue3.Text = "";
//
// txtValue2
//
this.txtValue2.Location = new System.Drawing.Point(72, 64);
this.txtValue2.Name = "txtValue2";
this.txtValue2.Size = new System.Drawing.Size(120, 20);
this.txtValue2.TabIndex = 6;
this.txtValue2.Text = "";
//
// txtValue1
//
this.txtValue1.Location = new System.Drawing.Point(72, 40);
this.txtValue1.Name = "txtValue1";
this.txtValue1.Size = new System.Drawing.Size(120, 20);
this.txtValue1.TabIndex = 5;
this.txtValue1.Text = "";
//
// selAlertType
//
this.selAlertType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.selAlertType.Location = new System.Drawing.Point(72, 16);
this.selAlertType.Name = "selAlertType";
this.selAlertType.Size = new System.Drawing.Size(120, 21);
this.selAlertType.TabIndex = 4;
//
// lblValue3
//
this.lblValue3.AutoSize = true;
this.lblValue3.Location = new System.Drawing.Point(8, 91);
this.lblValue3.Name = "lblValue3";
this.lblValue3.Size = new System.Drawing.Size(43, 13);
this.lblValue3.TabIndex = 3;
this.lblValue3.Text = "Value 3";
//
// lblValue1
//
this.lblValue1.AutoSize = true;
this.lblValue1.Location = new System.Drawing.Point(8, 43);
this.lblValue1.Name = "lblValue1";
this.lblValue1.Size = new System.Drawing.Size(43, 13);
this.lblValue1.TabIndex = 2;
this.lblValue1.Text = "Value 1";
//
// lblValue2
//
this.lblValue2.AutoSize = true;
this.lblValue2.Location = new System.Drawing.Point(8, 67);
this.lblValue2.Name = "lblValue2";
this.lblValue2.Size = new System.Drawing.Size(43, 13);
this.lblValue2.TabIndex = 1;
this.lblValue2.Text = "Value 2";
//
// groupBox1
//
this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnTestSpecialEvent,
this.selSpecialEvent,
this.lblSpecialEvent});
this.groupBox1.Location = new System.Drawing.Point(8, 168);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(200, 80);
this.groupBox1.TabIndex = 2;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Test Special Alert";
//
// btnTestSpecialEvent
//
this.btnTestSpecialEvent.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnTestSpecialEvent.Location = new System.Drawing.Point(80, 48);
this.btnTestSpecialEvent.Name = "btnTestSpecialEvent";
this.btnTestSpecialEvent.Size = new System.Drawing.Size(41, 22);
this.btnTestSpecialEvent.TabIndex = 8;
this.btnTestSpecialEvent.Text = "Test";
this.btnTestSpecialEvent.Click += new System.EventHandler(this.btnTestSpecialEvent_Click);
//
// selSpecialEvent
//
this.selSpecialEvent.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.selSpecialEvent.Location = new System.Drawing.Point(88, 16);
this.selSpecialEvent.Name = "selSpecialEvent";
this.selSpecialEvent.Size = new System.Drawing.Size(104, 21);
this.selSpecialEvent.TabIndex = 4;
//
// lblSpecialEvent
//
this.lblSpecialEvent.AutoSize = true;
this.lblSpecialEvent.Location = new System.Drawing.Point(8, 19);
this.lblSpecialEvent.Name = "lblSpecialEvent";
this.lblSpecialEvent.Size = new System.Drawing.Size(73, 13);
this.lblSpecialEvent.TabIndex = 0;
this.lblSpecialEvent.Text = "Special Event";
//
// FormTest
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(370, 255);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.groupBox1,
this.boxAlert});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormTest";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Test";
this.boxAlert.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
#endregion
#region Event Handlers
private void btnTestAlert_Click(object sender, System.EventArgs e)
{
FormAlert.Alert(AlertType.Alert, this, "Result", "The result was " +
FormAlert.Alert((AlertType)selAlertType.SelectedItem,
this, txtValue1.Text, txtValue2.Text, txtValue3.Text).ToString());
}
private void btnTestSpecialEvent_Click(object sender, System.EventArgs e)
{
SpecialEvent specEvent = Consts.SpecialEvents[(int)selSpecialEvent.SelectedItem];
string btn1, btn2;
DialogResult res1, res2;
if (specEvent.MessageOnly)
{
btn1 = "Ok";
btn2 = null;
res1 = DialogResult.OK;
res2 = DialogResult.None;
}
else
{
btn1 = "Yes";
btn2 = "No";
res1 = DialogResult.Yes;
res2 = DialogResult.No;
}
(new FormAlert(specEvent.Title, specEvent.String, btn1, res1, btn2, res2, null)).ShowDialog(this);
}
#endregion
}
}
+102
View File
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormTest</value>
</data>
</root>
@@ -0,0 +1,391 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormViewBank : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Label lblLoan;
private System.Windows.Forms.Label lblCurrentDebtLabel;
private System.Windows.Forms.Label lblMaxLoanLabel;
private System.Windows.Forms.Label lblCurrentDebt;
private System.Windows.Forms.Label lblMaxLoan;
private System.Windows.Forms.Button btnGetLoan;
private System.Windows.Forms.Button btnBuyInsurance;
private System.Windows.Forms.Label lblNoClaim;
private System.Windows.Forms.Label lblShipValue;
private System.Windows.Forms.Label lblNoClaimLabel;
private System.Windows.Forms.Label lblShipValueLabel;
private System.Windows.Forms.Label lblInsurance;
private System.Windows.Forms.Label lblInsAmt;
private System.Windows.Forms.Label lblInsAmtLabel;
private System.Windows.Forms.Button btnPayBack;
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Label lblMaxNoClaim;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
private Commander cmdr = Game.CurrentGame.Commander;
private int MaxLoan = Game.CurrentGame.Commander.PoliceRecordScore >=
Consts.PoliceRecordScoreClean ?
Math.Min(25000, Math.Max(1000, Game.CurrentGame.Commander.Worth / 5000 * 500)) :
500;
#endregion
#region Methods
public FormViewBank()
{
InitializeComponent();
UpdateAll();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblLoan = new System.Windows.Forms.Label();
this.lblCurrentDebtLabel = new System.Windows.Forms.Label();
this.lblMaxLoanLabel = new System.Windows.Forms.Label();
this.lblCurrentDebt = new System.Windows.Forms.Label();
this.lblMaxLoan = new System.Windows.Forms.Label();
this.btnGetLoan = new System.Windows.Forms.Button();
this.btnBuyInsurance = new System.Windows.Forms.Button();
this.lblNoClaim = new System.Windows.Forms.Label();
this.lblShipValue = new System.Windows.Forms.Label();
this.lblNoClaimLabel = new System.Windows.Forms.Label();
this.lblShipValueLabel = new System.Windows.Forms.Label();
this.lblInsurance = new System.Windows.Forms.Label();
this.lblInsAmt = new System.Windows.Forms.Label();
this.lblInsAmtLabel = new System.Windows.Forms.Label();
this.btnPayBack = new System.Windows.Forms.Button();
this.btnClose = new System.Windows.Forms.Button();
this.lblMaxNoClaim = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// lblLoan
//
this.lblLoan.AutoSize = true;
this.lblLoan.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblLoan.Location = new System.Drawing.Point(8, 8);
this.lblLoan.Name = "lblLoan";
this.lblLoan.Size = new System.Drawing.Size(44, 19);
this.lblLoan.TabIndex = 1;
this.lblLoan.Text = "Loan";
//
// lblCurrentDebtLabel
//
this.lblCurrentDebtLabel.AutoSize = true;
this.lblCurrentDebtLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblCurrentDebtLabel.Location = new System.Drawing.Point(16, 32);
this.lblCurrentDebtLabel.Name = "lblCurrentDebtLabel";
this.lblCurrentDebtLabel.Size = new System.Drawing.Size(75, 13);
this.lblCurrentDebtLabel.TabIndex = 2;
this.lblCurrentDebtLabel.Text = "Current Debt:";
//
// lblMaxLoanLabel
//
this.lblMaxLoanLabel.AutoSize = true;
this.lblMaxLoanLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblMaxLoanLabel.Location = new System.Drawing.Point(16, 52);
this.lblMaxLoanLabel.Name = "lblMaxLoanLabel";
this.lblMaxLoanLabel.Size = new System.Drawing.Size(88, 13);
this.lblMaxLoanLabel.TabIndex = 3;
this.lblMaxLoanLabel.Text = "Maximum Loan:";
//
// lblCurrentDebt
//
this.lblCurrentDebt.Location = new System.Drawing.Point(136, 32);
this.lblCurrentDebt.Name = "lblCurrentDebt";
this.lblCurrentDebt.Size = new System.Drawing.Size(56, 13);
this.lblCurrentDebt.TabIndex = 4;
this.lblCurrentDebt.Text = "88,888 cr.";
this.lblCurrentDebt.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblMaxLoan
//
this.lblMaxLoan.Location = new System.Drawing.Point(136, 52);
this.lblMaxLoan.Name = "lblMaxLoan";
this.lblMaxLoan.Size = new System.Drawing.Size(56, 13);
this.lblMaxLoan.TabIndex = 5;
this.lblMaxLoan.Text = "88,888 cr.";
this.lblMaxLoan.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// btnGetLoan
//
this.btnGetLoan.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnGetLoan.Location = new System.Drawing.Point(16, 72);
this.btnGetLoan.Name = "btnGetLoan";
this.btnGetLoan.Size = new System.Drawing.Size(61, 22);
this.btnGetLoan.TabIndex = 1;
this.btnGetLoan.Text = "Get Loan";
this.btnGetLoan.Click += new System.EventHandler(this.btnGetLoan_Click);
//
// btnBuyInsurance
//
this.btnBuyInsurance.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnBuyInsurance.Location = new System.Drawing.Point(16, 196);
this.btnBuyInsurance.Name = "btnBuyInsurance";
this.btnBuyInsurance.Size = new System.Drawing.Size(90, 22);
this.btnBuyInsurance.TabIndex = 3;
this.btnBuyInsurance.Text = "Stop Insurance";
this.btnBuyInsurance.Click += new System.EventHandler(this.btnBuyInsurance_Click);
//
// lblNoClaim
//
this.lblNoClaim.Location = new System.Drawing.Point(154, 156);
this.lblNoClaim.Name = "lblNoClaim";
this.lblNoClaim.Size = new System.Drawing.Size(32, 13);
this.lblNoClaim.TabIndex = 27;
this.lblNoClaim.Text = "88%";
this.lblNoClaim.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblShipValue
//
this.lblShipValue.Location = new System.Drawing.Point(136, 136);
this.lblShipValue.Name = "lblShipValue";
this.lblShipValue.Size = new System.Drawing.Size(56, 13);
this.lblShipValue.TabIndex = 26;
this.lblShipValue.Text = "88,888 cr.";
this.lblShipValue.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblNoClaimLabel
//
this.lblNoClaimLabel.AutoSize = true;
this.lblNoClaimLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblNoClaimLabel.Location = new System.Drawing.Point(16, 156);
this.lblNoClaimLabel.Name = "lblNoClaimLabel";
this.lblNoClaimLabel.Size = new System.Drawing.Size(106, 13);
this.lblNoClaimLabel.TabIndex = 25;
this.lblNoClaimLabel.Text = "No-Claim Discount:";
//
// lblShipValueLabel
//
this.lblShipValueLabel.AutoSize = true;
this.lblShipValueLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblShipValueLabel.Location = new System.Drawing.Point(16, 136);
this.lblShipValueLabel.Name = "lblShipValueLabel";
this.lblShipValueLabel.Size = new System.Drawing.Size(65, 13);
this.lblShipValueLabel.TabIndex = 24;
this.lblShipValueLabel.Text = "Ship Value:";
//
// lblInsurance
//
this.lblInsurance.AutoSize = true;
this.lblInsurance.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblInsurance.Location = new System.Drawing.Point(8, 112);
this.lblInsurance.Name = "lblInsurance";
this.lblInsurance.Size = new System.Drawing.Size(81, 19);
this.lblInsurance.TabIndex = 23;
this.lblInsurance.Text = "Insurance";
//
// lblInsAmt
//
this.lblInsAmt.Location = new System.Drawing.Point(136, 176);
this.lblInsAmt.Name = "lblInsAmt";
this.lblInsAmt.Size = new System.Drawing.Size(82, 13);
this.lblInsAmt.TabIndex = 30;
this.lblInsAmt.Text = "8,888 cr. daily";
this.lblInsAmt.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblInsAmtLabel
//
this.lblInsAmtLabel.AutoSize = true;
this.lblInsAmtLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblInsAmtLabel.Location = new System.Drawing.Point(16, 176);
this.lblInsAmtLabel.Name = "lblInsAmtLabel";
this.lblInsAmtLabel.Size = new System.Drawing.Size(38, 13);
this.lblInsAmtLabel.TabIndex = 29;
this.lblInsAmtLabel.Text = "Costs:";
//
// btnPayBack
//
this.btnPayBack.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnPayBack.Location = new System.Drawing.Point(88, 72);
this.btnPayBack.Name = "btnPayBack";
this.btnPayBack.Size = new System.Drawing.Size(90, 22);
this.btnPayBack.TabIndex = 2;
this.btnPayBack.Text = "Pay Back Loan";
this.btnPayBack.Click += new System.EventHandler(this.btnPayBack_Click);
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(26, 27);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// lblMaxNoClaim
//
this.lblMaxNoClaim.AutoSize = true;
this.lblMaxNoClaim.Location = new System.Drawing.Point(182, 156);
this.lblMaxNoClaim.Name = "lblMaxNoClaim";
this.lblMaxNoClaim.Size = new System.Drawing.Size(33, 13);
this.lblMaxNoClaim.TabIndex = 33;
this.lblMaxNoClaim.Text = "(max)";
this.lblMaxNoClaim.Visible = false;
//
// FormViewBank
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(226, 231);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblMaxNoClaim,
this.btnClose,
this.btnPayBack,
this.lblInsAmt,
this.lblInsAmtLabel,
this.lblNoClaimLabel,
this.lblShipValueLabel,
this.lblInsurance,
this.lblMaxLoanLabel,
this.lblCurrentDebtLabel,
this.lblLoan,
this.btnBuyInsurance,
this.lblNoClaim,
this.lblShipValue,
this.btnGetLoan,
this.lblMaxLoan,
this.lblCurrentDebt});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormViewBank";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Bank";
this.ResumeLayout(false);
}
#endregion
private void UpdateAll()
{
// Loan Info
lblCurrentDebt.Text = Functions.FormatMoney(cmdr.Debt);
lblMaxLoan.Text = Functions.FormatMoney(MaxLoan);
btnPayBack.Visible = (cmdr.Debt > 0);
// Insurance Info
lblShipValue.Text = Functions.FormatMoney(cmdr.Ship.BaseWorth(true));
lblNoClaim.Text = Functions.FormatPercent(cmdr.NoClaim);
lblMaxNoClaim.Visible = (cmdr.NoClaim == Consts.MaxNoClaim);
lblInsAmt.Text = Functions.StringVars(Strings.MoneyRateSuffix,
Functions.FormatMoney(game.InsuranceCosts));
btnBuyInsurance.Text = Functions.StringVars(Strings.BankInsuranceButtonText, cmdr.Insurance ?
Strings.BankInsuranceButtonStop : Strings.BankInsuranceButtonBuy);
}
#endregion
#region Event Handlers
private void btnGetLoan_Click(object sender, System.EventArgs e)
{
if (cmdr.Debt >= MaxLoan)
FormAlert.Alert(AlertType.DebtTooLargeLoan, this);
else
{
FormGetLoan form = new FormGetLoan(MaxLoan - cmdr.Debt);
if (form.ShowDialog(this) == DialogResult.OK)
{
cmdr.Cash += form.Amount;
cmdr.Debt += form.Amount;
UpdateAll();
game.ParentWindow.UpdateAll();
}
}
}
private void btnPayBack_Click(object sender, System.EventArgs e)
{
if (cmdr.Debt == 0)
FormAlert.Alert(AlertType.DebtNone, this);
else
{
FormPayBackLoan form = new FormPayBackLoan();
if (form.ShowDialog(this) == DialogResult.OK)
{
cmdr.Cash -= form.Amount;
cmdr.Debt -= form.Amount;
UpdateAll();
game.ParentWindow.UpdateAll();
}
}
}
private void btnBuyInsurance_Click(object sender, System.EventArgs e)
{
if (cmdr.Insurance)
{
if (FormAlert.Alert(AlertType.InsuranceStop, this) == DialogResult.Yes)
{
cmdr.Insurance = false;
cmdr.NoClaim = 0;
}
}
else if (!cmdr.Ship.EscapePod)
FormAlert.Alert(AlertType.InsuranceNoEscapePod, this);
else
{
cmdr.Insurance = true;
cmdr.NoClaim = 0;
}
UpdateAll();
game.ParentWindow.UpdateAll();
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormViewBank</value>
</data>
</root>
@@ -0,0 +1,529 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormViewCommander : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Label lblNameLabel;
private System.Windows.Forms.Label lblName;
private System.Windows.Forms.Label lblDifficulty;
private System.Windows.Forms.Label lblTimeLabel;
private System.Windows.Forms.Label lblCashLabel;
private System.Windows.Forms.Label lblDebtLabel;
private System.Windows.Forms.Label lblNetWorthLabel;
private System.Windows.Forms.Label lblDifficultyLabel;
private System.Windows.Forms.Label lblTime;
private System.Windows.Forms.GroupBox boxSkills;
private System.Windows.Forms.Label lblEngineer;
private System.Windows.Forms.Label lblTrader;
private System.Windows.Forms.Label lblFighter;
private System.Windows.Forms.Label lblPilot;
private System.Windows.Forms.Label lblEngineerLabel;
private System.Windows.Forms.Label lblTraderLabel;
private System.Windows.Forms.Label lblFighterLabel;
private System.Windows.Forms.Label lblPilotLabel;
private System.Windows.Forms.GroupBox boxFinances;
private System.Windows.Forms.Label lblNetWorth;
private System.Windows.Forms.Label lblDebt;
private System.Windows.Forms.Label lblCash;
private System.Windows.Forms.Label lblKills;
private System.Windows.Forms.Label lblReputation;
private System.Windows.Forms.Label lblRecord;
private System.Windows.Forms.Label lblPoliceLabel;
private System.Windows.Forms.Label lblReputationLabel;
private System.Windows.Forms.Label lblKillsLabel;
private System.Windows.Forms.GroupBox boxNotoriety;
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Label lblBountyLabel;
private System.Windows.Forms.Label lblBounty;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
#endregion
#region Methods
public FormViewCommander()
{
InitializeComponent();
InitializeScreen();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblNameLabel = new System.Windows.Forms.Label();
this.lblName = new System.Windows.Forms.Label();
this.lblDifficulty = new System.Windows.Forms.Label();
this.btnClose = new System.Windows.Forms.Button();
this.lblTimeLabel = new System.Windows.Forms.Label();
this.lblCashLabel = new System.Windows.Forms.Label();
this.lblDebtLabel = new System.Windows.Forms.Label();
this.lblNetWorthLabel = new System.Windows.Forms.Label();
this.lblDifficultyLabel = new System.Windows.Forms.Label();
this.lblTime = new System.Windows.Forms.Label();
this.boxSkills = new System.Windows.Forms.GroupBox();
this.lblEngineer = new System.Windows.Forms.Label();
this.lblTrader = new System.Windows.Forms.Label();
this.lblFighter = new System.Windows.Forms.Label();
this.lblPilot = new System.Windows.Forms.Label();
this.lblEngineerLabel = new System.Windows.Forms.Label();
this.lblTraderLabel = new System.Windows.Forms.Label();
this.lblFighterLabel = new System.Windows.Forms.Label();
this.lblPilotLabel = new System.Windows.Forms.Label();
this.boxFinances = new System.Windows.Forms.GroupBox();
this.lblCash = new System.Windows.Forms.Label();
this.lblDebt = new System.Windows.Forms.Label();
this.lblNetWorth = new System.Windows.Forms.Label();
this.boxNotoriety = new System.Windows.Forms.GroupBox();
this.lblPoliceLabel = new System.Windows.Forms.Label();
this.lblReputationLabel = new System.Windows.Forms.Label();
this.lblKillsLabel = new System.Windows.Forms.Label();
this.lblKills = new System.Windows.Forms.Label();
this.lblReputation = new System.Windows.Forms.Label();
this.lblRecord = new System.Windows.Forms.Label();
this.lblBountyLabel = new System.Windows.Forms.Label();
this.lblBounty = new System.Windows.Forms.Label();
this.boxSkills.SuspendLayout();
this.boxFinances.SuspendLayout();
this.boxNotoriety.SuspendLayout();
this.SuspendLayout();
//
// lblNameLabel
//
this.lblNameLabel.AutoSize = true;
this.lblNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblNameLabel.Location = new System.Drawing.Point(8, 8);
this.lblNameLabel.Name = "lblNameLabel";
this.lblNameLabel.Size = new System.Drawing.Size(39, 16);
this.lblNameLabel.TabIndex = 2;
this.lblNameLabel.Text = "Name:";
//
// lblName
//
this.lblName.Location = new System.Drawing.Point(69, 8);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(155, 13);
this.lblName.TabIndex = 4;
this.lblName.Text = "XXXXXXXXXXXXXXXXXX";
//
// lblDifficulty
//
this.lblDifficulty.Location = new System.Drawing.Point(69, 24);
this.lblDifficulty.Name = "lblDifficulty";
this.lblDifficulty.Size = new System.Drawing.Size(58, 13);
this.lblDifficulty.TabIndex = 5;
this.lblDifficulty.Text = "Impossible";
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(26, 27);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// lblTimeLabel
//
this.lblTimeLabel.AutoSize = true;
this.lblTimeLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblTimeLabel.Location = new System.Drawing.Point(8, 40);
this.lblTimeLabel.Name = "lblTimeLabel";
this.lblTimeLabel.Size = new System.Drawing.Size(34, 16);
this.lblTimeLabel.TabIndex = 37;
this.lblTimeLabel.Text = "Time:";
//
// lblCashLabel
//
this.lblCashLabel.AutoSize = true;
this.lblCashLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblCashLabel.Location = new System.Drawing.Point(8, 16);
this.lblCashLabel.Name = "lblCashLabel";
this.lblCashLabel.Size = new System.Drawing.Size(35, 16);
this.lblCashLabel.TabIndex = 38;
this.lblCashLabel.Text = "Cash:";
//
// lblDebtLabel
//
this.lblDebtLabel.AutoSize = true;
this.lblDebtLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblDebtLabel.Location = new System.Drawing.Point(8, 32);
this.lblDebtLabel.Name = "lblDebtLabel";
this.lblDebtLabel.Size = new System.Drawing.Size(32, 16);
this.lblDebtLabel.TabIndex = 39;
this.lblDebtLabel.Text = "Debt:";
//
// lblNetWorthLabel
//
this.lblNetWorthLabel.AutoSize = true;
this.lblNetWorthLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblNetWorthLabel.Location = new System.Drawing.Point(8, 48);
this.lblNetWorthLabel.Name = "lblNetWorthLabel";
this.lblNetWorthLabel.Size = new System.Drawing.Size(60, 16);
this.lblNetWorthLabel.TabIndex = 40;
this.lblNetWorthLabel.Text = "Net Worth:";
//
// lblDifficultyLabel
//
this.lblDifficultyLabel.AutoSize = true;
this.lblDifficultyLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblDifficultyLabel.Location = new System.Drawing.Point(8, 24);
this.lblDifficultyLabel.Name = "lblDifficultyLabel";
this.lblDifficultyLabel.Size = new System.Drawing.Size(53, 16);
this.lblDifficultyLabel.TabIndex = 43;
this.lblDifficultyLabel.Text = "Difficulty:";
//
// lblTime
//
this.lblTime.Location = new System.Drawing.Point(69, 40);
this.lblTime.Name = "lblTime";
this.lblTime.Size = new System.Drawing.Size(66, 13);
this.lblTime.TabIndex = 44;
this.lblTime.Text = "88,888 days";
//
// boxSkills
//
this.boxSkills.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblEngineer,
this.lblTrader,
this.lblFighter,
this.lblPilot,
this.lblEngineerLabel,
this.lblTraderLabel,
this.lblFighterLabel,
this.lblPilotLabel});
this.boxSkills.Location = new System.Drawing.Point(8, 64);
this.boxSkills.Name = "boxSkills";
this.boxSkills.Size = new System.Drawing.Size(216, 56);
this.boxSkills.TabIndex = 49;
this.boxSkills.TabStop = false;
this.boxSkills.Text = "Skills";
//
// lblEngineer
//
this.lblEngineer.Location = new System.Drawing.Point(167, 32);
this.lblEngineer.Name = "lblEngineer";
this.lblEngineer.Size = new System.Drawing.Size(40, 13);
this.lblEngineer.TabIndex = 56;
this.lblEngineer.Text = "88 (88)";
//
// lblTrader
//
this.lblTrader.Location = new System.Drawing.Point(58, 32);
this.lblTrader.Name = "lblTrader";
this.lblTrader.Size = new System.Drawing.Size(40, 13);
this.lblTrader.TabIndex = 55;
this.lblTrader.Text = "88 (88)";
//
// lblFighter
//
this.lblFighter.Location = new System.Drawing.Point(167, 16);
this.lblFighter.Name = "lblFighter";
this.lblFighter.Size = new System.Drawing.Size(40, 13);
this.lblFighter.TabIndex = 54;
this.lblFighter.Text = "88 (88)";
//
// lblPilot
//
this.lblPilot.Location = new System.Drawing.Point(58, 16);
this.lblPilot.Name = "lblPilot";
this.lblPilot.Size = new System.Drawing.Size(40, 13);
this.lblPilot.TabIndex = 53;
this.lblPilot.Text = "88 (88)";
//
// lblEngineerLabel
//
this.lblEngineerLabel.AutoSize = true;
this.lblEngineerLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblEngineerLabel.Location = new System.Drawing.Point(104, 32);
this.lblEngineerLabel.Name = "lblEngineerLabel";
this.lblEngineerLabel.Size = new System.Drawing.Size(55, 16);
this.lblEngineerLabel.TabIndex = 52;
this.lblEngineerLabel.Text = "Engineer:";
//
// lblTraderLabel
//
this.lblTraderLabel.AutoSize = true;
this.lblTraderLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblTraderLabel.Location = new System.Drawing.Point(8, 32);
this.lblTraderLabel.Name = "lblTraderLabel";
this.lblTraderLabel.Size = new System.Drawing.Size(42, 16);
this.lblTraderLabel.TabIndex = 51;
this.lblTraderLabel.Text = "Trader:";
//
// lblFighterLabel
//
this.lblFighterLabel.AutoSize = true;
this.lblFighterLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblFighterLabel.Location = new System.Drawing.Point(104, 16);
this.lblFighterLabel.Name = "lblFighterLabel";
this.lblFighterLabel.Size = new System.Drawing.Size(44, 16);
this.lblFighterLabel.TabIndex = 50;
this.lblFighterLabel.Text = "Fighter:";
//
// lblPilotLabel
//
this.lblPilotLabel.AutoSize = true;
this.lblPilotLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblPilotLabel.Location = new System.Drawing.Point(8, 16);
this.lblPilotLabel.Name = "lblPilotLabel";
this.lblPilotLabel.Size = new System.Drawing.Size(31, 16);
this.lblPilotLabel.TabIndex = 49;
this.lblPilotLabel.Text = "Pilot:";
//
// boxFinances
//
this.boxFinances.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblCash,
this.lblDebt,
this.lblNetWorth,
this.lblNetWorthLabel,
this.lblCashLabel,
this.lblDebtLabel});
this.boxFinances.Location = new System.Drawing.Point(8, 128);
this.boxFinances.Name = "boxFinances";
this.boxFinances.Size = new System.Drawing.Size(216, 72);
this.boxFinances.TabIndex = 50;
this.boxFinances.TabStop = false;
this.boxFinances.Text = "Finances";
//
// lblCash
//
this.lblCash.Location = new System.Drawing.Point(104, 16);
this.lblCash.Name = "lblCash";
this.lblCash.Size = new System.Drawing.Size(70, 13);
this.lblCash.TabIndex = 43;
this.lblCash.Text = "8,888,888 cr.";
this.lblCash.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblDebt
//
this.lblDebt.Location = new System.Drawing.Point(104, 32);
this.lblDebt.Name = "lblDebt";
this.lblDebt.Size = new System.Drawing.Size(70, 13);
this.lblDebt.TabIndex = 42;
this.lblDebt.Text = "8,888,888 cr.";
this.lblDebt.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblNetWorth
//
this.lblNetWorth.Location = new System.Drawing.Point(104, 48);
this.lblNetWorth.Name = "lblNetWorth";
this.lblNetWorth.Size = new System.Drawing.Size(70, 13);
this.lblNetWorth.TabIndex = 41;
this.lblNetWorth.Text = "8,888,888 cr.";
this.lblNetWorth.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// boxNotoriety
//
this.boxNotoriety.Controls.AddRange(new System.Windows.Forms.Control[] { this.lblBountyLabel,
this.lblBounty,
this.lblPoliceLabel,
this.lblReputationLabel,
this.lblKillsLabel,
this.lblKills,
this.lblReputation,
this.lblRecord});
this.boxNotoriety.Location = new System.Drawing.Point(8, 208);
this.boxNotoriety.Name = "boxNotoriety";
this.boxNotoriety.Size = new System.Drawing.Size(216, 88);
this.boxNotoriety.TabIndex = 51;
this.boxNotoriety.TabStop = false;
this.boxNotoriety.Text = "Notoriety";
//
// lblPoliceLabel
//
this.lblPoliceLabel.AutoSize = true;
this.lblPoliceLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblPoliceLabel.Location = new System.Drawing.Point(8, 48);
this.lblPoliceLabel.Name = "lblPoliceLabel";
this.lblPoliceLabel.Size = new System.Drawing.Size(81, 16);
this.lblPoliceLabel.TabIndex = 46;
this.lblPoliceLabel.Text = "Police Record:";
//
// lblReputationLabel
//
this.lblReputationLabel.AutoSize = true;
this.lblReputationLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblReputationLabel.Location = new System.Drawing.Point(8, 32);
this.lblReputationLabel.Name = "lblReputationLabel";
this.lblReputationLabel.Size = new System.Drawing.Size(65, 16);
this.lblReputationLabel.TabIndex = 45;
this.lblReputationLabel.Text = "Reputation:";
//
// lblKillsLabel
//
this.lblKillsLabel.AutoSize = true;
this.lblKillsLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblKillsLabel.Location = new System.Drawing.Point(8, 16);
this.lblKillsLabel.Name = "lblKillsLabel";
this.lblKillsLabel.Size = new System.Drawing.Size(30, 16);
this.lblKillsLabel.TabIndex = 44;
this.lblKillsLabel.Text = "Kills:";
//
// lblKills
//
this.lblKills.Location = new System.Drawing.Point(104, 16);
this.lblKills.Name = "lblKills";
this.lblKills.Size = new System.Drawing.Size(33, 13);
this.lblKills.TabIndex = 43;
this.lblKills.Text = "8,888";
//
// lblReputation
//
this.lblReputation.Location = new System.Drawing.Point(104, 32);
this.lblReputation.Name = "lblReputation";
this.lblReputation.Size = new System.Drawing.Size(88, 13);
this.lblReputation.TabIndex = 42;
this.lblReputation.Text = "Mostly Harmless";
//
// lblRecord
//
this.lblRecord.Location = new System.Drawing.Point(104, 48);
this.lblRecord.Name = "lblRecord";
this.lblRecord.Size = new System.Drawing.Size(63, 13);
this.lblRecord.TabIndex = 41;
this.lblRecord.Text = "Psychopath";
//
// lblBountyLabel
//
this.lblBountyLabel.AutoSize = true;
this.lblBountyLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblBountyLabel.Location = new System.Drawing.Point(8, 64);
this.lblBountyLabel.Name = "lblBountyLabel";
this.lblBountyLabel.Size = new System.Drawing.Size(84, 16);
this.lblBountyLabel.TabIndex = 48;
this.lblBountyLabel.Text = "Bounty offered:";
this.lblBountyLabel.Visible = false;
//
// lblBounty
//
this.lblBounty.Location = new System.Drawing.Point(104, 64);
this.lblBounty.Name = "lblBounty";
this.lblBounty.Size = new System.Drawing.Size(72, 13);
this.lblBounty.TabIndex = 47;
this.lblBounty.Text = "8,888,888 cr.";
this.lblBounty.Visible = false;
// FormViewCommander
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(232, 304);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.boxNotoriety,
this.boxFinances,
this.boxSkills,
this.lblTime,
this.lblDifficultyLabel,
this.lblTimeLabel,
this.lblNameLabel,
this.btnClose,
this.lblDifficulty,
this.lblName});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormViewCommander";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Commander Status";
this.boxSkills.ResumeLayout(false);
this.boxFinances.ResumeLayout(false);
this.boxNotoriety.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void InitializeScreen()
{
Commander cmdr = game.Commander;
lblName.Text = cmdr.Name;
lblDifficulty.Text = Strings.DifficultyLevels[(int)game.Difficulty];
lblTime.Text = Functions.Multiples(cmdr.Days, Strings.TimeUnit);
lblPilot.Text = cmdr.Pilot.ToString() + " (" + cmdr.Ship.Pilot + ")";
lblFighter.Text = cmdr.Fighter.ToString() + " (" + cmdr.Ship.Fighter + ")";
lblTrader.Text = cmdr.Trader.ToString() + " (" + cmdr.Ship.Trader + ")";
lblEngineer.Text = cmdr.Engineer.ToString() + " (" + cmdr.Ship.Engineer + ")";
lblCash.Text = Functions.FormatMoney(cmdr.Cash);
lblDebt.Text = Functions.FormatMoney(cmdr.Debt);
lblNetWorth.Text = Functions.FormatMoney(cmdr.Worth);
lblKills.Text = Functions.FormatNumber(cmdr.KillsPirate + cmdr.KillsPolice + cmdr.KillsTrader);
lblRecord.Text = PoliceRecord.GetPoliceRecordFromScore(cmdr.PoliceRecordScore).Name;
lblReputation.Text = Reputation.GetReputationFromScore(cmdr.ReputationScore).Name;
int score = cmdr.PoliceRecordScore;
if (score <= Consts.PoliceRecordScoreCrook)
{
lblBountyLabel.Visible = true;
lblBountyLabel.Text = "Bounty offered:";
lblBounty.Visible = true;
lblBounty.Text = Functions.FormatMoney(-1000*score);
}
else if (score >= Consts.PoliceRecordScoreTrusted)
{
lblBountyLabel.Visible = true;
lblBountyLabel.Text = "Angry kingpins:";
lblBounty.Visible = true;
lblBounty.Text = Functions.FormatNumber(score / 5);
}
else
{
lblBountyLabel.Visible = false;
lblBounty.Visible = false;
}
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>frmViewCommander</value>
</data>
</root>
@@ -0,0 +1,264 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormViewHighScores : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Label lblRank0;
private System.Windows.Forms.Label lblRank2;
private System.Windows.Forms.Label lblRank1;
private System.Windows.Forms.Label lblScore0;
private System.Windows.Forms.Label lblScore1;
private System.Windows.Forms.Label lblScore2;
private System.Windows.Forms.Label lblName0;
private System.Windows.Forms.Label lblName1;
private System.Windows.Forms.Label lblName2;
private System.Windows.Forms.Label lblStatus0;
private System.Windows.Forms.Label lblStatus1;
private System.Windows.Forms.Label lblStatus2;
private System.ComponentModel.Container components = null;
#endregion
#region Methods
public FormViewHighScores()
{
InitializeComponent();
Label[] lblName = new Label[] { lblName0, lblName1, lblName2 };
Label[] lblScore = new Label[] { lblScore0, lblScore1, lblScore2 };
Label[] lblStatus = new Label[] { lblStatus0, lblStatus1, lblStatus2 };
HighScoreRecord[] highScores = Functions.GetHighScores(this);
for (int i = highScores.Length - 1; i >= 0 && highScores[i] != null; i--)
{
lblName[2 - i].Text = highScores[i].Name;
lblScore[2 - i].Text = Functions.FormatNumber(highScores[i].Score / 10) + "." + highScores[i].Score % 10;
lblStatus[2 - i].Text = Functions.StringVars(Strings.HighScoreStatus, new string[]
{
Strings.GameCompletionTypes[(int)highScores[i].Type],
Functions.Multiples(highScores[i].Days, Strings.TimeUnit),
Functions.Multiples(highScores[i].Worth, Strings.MoneyUnit),
Strings.DifficultyLevels[(int)highScores[i].Difficulty].ToLower()
});
lblScore[2 - i].Visible = true;
lblStatus[2 - i].Visible = true;
}
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnClose = new System.Windows.Forms.Button();
this.lblRank0 = new System.Windows.Forms.Label();
this.lblRank2 = new System.Windows.Forms.Label();
this.lblRank1 = new System.Windows.Forms.Label();
this.lblScore0 = new System.Windows.Forms.Label();
this.lblScore1 = new System.Windows.Forms.Label();
this.lblScore2 = new System.Windows.Forms.Label();
this.lblName0 = new System.Windows.Forms.Label();
this.lblName1 = new System.Windows.Forms.Label();
this.lblName2 = new System.Windows.Forms.Label();
this.lblStatus0 = new System.Windows.Forms.Label();
this.lblStatus1 = new System.Windows.Forms.Label();
this.lblStatus2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// lblRank0
//
this.lblRank0.AutoSize = true;
this.lblRank0.Location = new System.Drawing.Point(8, 8);
this.lblRank0.Name = "lblRank0";
this.lblRank0.Size = new System.Drawing.Size(14, 13);
this.lblRank0.TabIndex = 33;
this.lblRank0.Text = "1.";
this.lblRank0.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblRank2
//
this.lblRank2.AutoSize = true;
this.lblRank2.Location = new System.Drawing.Point(8, 136);
this.lblRank2.Name = "lblRank2";
this.lblRank2.Size = new System.Drawing.Size(14, 13);
this.lblRank2.TabIndex = 34;
this.lblRank2.Text = "3.";
this.lblRank2.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblRank1
//
this.lblRank1.AutoSize = true;
this.lblRank1.Location = new System.Drawing.Point(8, 72);
this.lblRank1.Name = "lblRank1";
this.lblRank1.Size = new System.Drawing.Size(14, 13);
this.lblRank1.TabIndex = 35;
this.lblRank1.Text = "2.";
this.lblRank1.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// lblScore0
//
this.lblScore0.Location = new System.Drawing.Point(168, 8);
this.lblScore0.Name = "lblScore0";
this.lblScore0.Size = new System.Drawing.Size(43, 13);
this.lblScore0.TabIndex = 36;
this.lblScore0.Text = "888.8%";
this.lblScore0.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.lblScore0.Visible = false;
//
// lblScore1
//
this.lblScore1.Location = new System.Drawing.Point(168, 72);
this.lblScore1.Name = "lblScore1";
this.lblScore1.Size = new System.Drawing.Size(43, 13);
this.lblScore1.TabIndex = 37;
this.lblScore1.Text = "888.8%";
this.lblScore1.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.lblScore1.Visible = false;
//
// lblScore2
//
this.lblScore2.Location = new System.Drawing.Point(168, 136);
this.lblScore2.Name = "lblScore2";
this.lblScore2.Size = new System.Drawing.Size(43, 13);
this.lblScore2.TabIndex = 38;
this.lblScore2.Text = "888.8%";
this.lblScore2.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.lblScore2.Visible = false;
//
// lblName0
//
this.lblName0.Location = new System.Drawing.Point(24, 8);
this.lblName0.Name = "lblName0";
this.lblName0.Size = new System.Drawing.Size(144, 13);
this.lblName0.TabIndex = 39;
this.lblName0.Text = "Empty";
//
// lblName1
//
this.lblName1.Location = new System.Drawing.Point(24, 72);
this.lblName1.Name = "lblName1";
this.lblName1.Size = new System.Drawing.Size(144, 13);
this.lblName1.TabIndex = 40;
this.lblName1.Text = "Empty";
//
// lblName2
//
this.lblName2.Location = new System.Drawing.Point(24, 136);
this.lblName2.Name = "lblName2";
this.lblName2.Size = new System.Drawing.Size(144, 13);
this.lblName2.TabIndex = 41;
this.lblName2.Text = "Empty";
//
// lblStatus0
//
this.lblStatus0.Location = new System.Drawing.Point(24, 24);
this.lblStatus0.Name = "lblStatus0";
this.lblStatus0.Size = new System.Drawing.Size(200, 26);
this.lblStatus0.TabIndex = 42;
this.lblStatus0.Text = "Claimed moon in 888,888 days, worth 8,888,888 credits on impossible level.";
this.lblStatus0.Visible = false;
//
// lblStatus1
//
this.lblStatus1.Location = new System.Drawing.Point(24, 88);
this.lblStatus1.Name = "lblStatus1";
this.lblStatus1.Size = new System.Drawing.Size(200, 26);
this.lblStatus1.TabIndex = 43;
this.lblStatus1.Text = "Claimed moon in 888,888 days, worth 8,888,888 credits on impossible level.";
this.lblStatus1.Visible = false;
//
// lblStatus2
//
this.lblStatus2.Location = new System.Drawing.Point(24, 152);
this.lblStatus2.Name = "lblStatus2";
this.lblStatus2.Size = new System.Drawing.Size(200, 26);
this.lblStatus2.TabIndex = 44;
this.lblStatus2.Text = "Claimed moon in 888,888 days, worth 8,888,888 credits on impossible level.";
this.lblStatus2.Visible = false;
//
// FormViewHighScores
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(218, 191);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblStatus2,
this.lblStatus1,
this.lblStatus0,
this.lblName2,
this.lblName1,
this.lblName0,
this.lblScore2,
this.lblScore1,
this.lblScore0,
this.lblRank1,
this.lblRank2,
this.lblRank0,
this.btnClose});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormViewHighScores";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "High Scores";
this.ResumeLayout(false);
}
#endregion
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormViewHighScores</value>
</data>
</root>
@@ -0,0 +1,479 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormViewPersonnel : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.GroupBox boxForHire;
private System.Windows.Forms.GroupBox boxInfo;
private System.Windows.Forms.GroupBox boxCurrentCrew;
private System.Windows.Forms.Button btnHireFire;
private System.Windows.Forms.Label lblRate;
private System.Windows.Forms.Label lblName;
private System.Windows.Forms.Label lblEngineer;
private System.Windows.Forms.Label lblTrader;
private System.Windows.Forms.Label lblFighter;
private System.Windows.Forms.Label lblPilot;
private System.Windows.Forms.Label lblEngineerLabel;
private System.Windows.Forms.Label lblTraderLabel;
private System.Windows.Forms.Label lblFighterLabel;
private System.Windows.Forms.Label lblPilotLabel;
private System.Windows.Forms.ListBox lstForHire;
private System.Windows.Forms.ListBox lstCrew;
private System.Windows.Forms.Label lblCrewNoQuarters;
private System.Windows.Forms.Label lblForHireNone;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
private CrewMember selectedCrewMember = null;
private bool handlingSelect = false;
#endregion
#region Methods
public FormViewPersonnel()
{
InitializeComponent();
UpdateAll();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnClose = new System.Windows.Forms.Button();
this.boxCurrentCrew = new System.Windows.Forms.GroupBox();
this.lstCrew = new System.Windows.Forms.ListBox();
this.boxForHire = new System.Windows.Forms.GroupBox();
this.lstForHire = new System.Windows.Forms.ListBox();
this.boxInfo = new System.Windows.Forms.GroupBox();
this.btnHireFire = new System.Windows.Forms.Button();
this.lblRate = new System.Windows.Forms.Label();
this.lblName = new System.Windows.Forms.Label();
this.lblEngineer = new System.Windows.Forms.Label();
this.lblTrader = new System.Windows.Forms.Label();
this.lblFighter = new System.Windows.Forms.Label();
this.lblPilot = new System.Windows.Forms.Label();
this.lblEngineerLabel = new System.Windows.Forms.Label();
this.lblTraderLabel = new System.Windows.Forms.Label();
this.lblFighterLabel = new System.Windows.Forms.Label();
this.lblPilotLabel = new System.Windows.Forms.Label();
this.lblCrewNoQuarters = new System.Windows.Forms.Label();
this.lblForHireNone = new System.Windows.Forms.Label();
this.boxCurrentCrew.SuspendLayout();
this.boxForHire.SuspendLayout();
this.boxInfo.SuspendLayout();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// boxCurrentCrew
//
this.boxCurrentCrew.Controls.Add(this.lblCrewNoQuarters);
this.boxCurrentCrew.Controls.Add(this.lstCrew);
this.boxCurrentCrew.Location = new System.Drawing.Point(8, 8);
this.boxCurrentCrew.Name = "boxCurrentCrew";
this.boxCurrentCrew.Size = new System.Drawing.Size(144, 114);
this.boxCurrentCrew.TabIndex = 33;
this.boxCurrentCrew.TabStop = false;
this.boxCurrentCrew.Text = "Current Crew";
//
// lstCrew
//
this.lstCrew.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstCrew.Location = new System.Drawing.Point(8, 24);
this.lstCrew.Name = "lstCrew";
this.lstCrew.Size = new System.Drawing.Size(126, 80);
this.lstCrew.TabIndex = 6;
this.lstCrew.DoubleClick += new System.EventHandler(this.HireFire);
this.lstCrew.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
//
// boxForHire
//
this.boxForHire.Controls.Add(this.lblForHireNone);
this.boxForHire.Controls.Add(this.lstForHire);
this.boxForHire.Location = new System.Drawing.Point(160, 8);
this.boxForHire.Name = "boxForHire";
this.boxForHire.Size = new System.Drawing.Size(144, 114);
this.boxForHire.TabIndex = 34;
this.boxForHire.TabStop = false;
this.boxForHire.Text = "Mercenaries For Hire";
//
// lstForHire
//
this.lstForHire.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstForHire.Location = new System.Drawing.Point(8, 24);
this.lstForHire.Name = "lstForHire";
this.lstForHire.Size = new System.Drawing.Size(126, 80);
this.lstForHire.TabIndex = 5;
this.lstForHire.DoubleClick += new System.EventHandler(this.HireFire);
this.lstForHire.SelectedIndexChanged += new System.EventHandler(this.SelectedIndexChanged);
//
// boxInfo
//
this.boxInfo.Controls.Add(this.btnHireFire);
this.boxInfo.Controls.Add(this.lblRate);
this.boxInfo.Controls.Add(this.lblName);
this.boxInfo.Controls.Add(this.lblEngineer);
this.boxInfo.Controls.Add(this.lblTrader);
this.boxInfo.Controls.Add(this.lblFighter);
this.boxInfo.Controls.Add(this.lblPilot);
this.boxInfo.Controls.Add(this.lblEngineerLabel);
this.boxInfo.Controls.Add(this.lblTraderLabel);
this.boxInfo.Controls.Add(this.lblFighterLabel);
this.boxInfo.Controls.Add(this.lblPilotLabel);
this.boxInfo.Location = new System.Drawing.Point(312, 8);
this.boxInfo.Name = "boxInfo";
this.boxInfo.Size = new System.Drawing.Size(168, 114);
this.boxInfo.TabIndex = 35;
this.boxInfo.TabStop = false;
this.boxInfo.Text = "Mercenary Information";
//
// btnHireFire
//
this.btnHireFire.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnHireFire.Location = new System.Drawing.Point(120, 80);
this.btnHireFire.Name = "btnHireFire";
this.btnHireFire.Size = new System.Drawing.Size(36, 22);
this.btnHireFire.TabIndex = 4;
this.btnHireFire.Text = "Hire";
this.btnHireFire.Click += new System.EventHandler(this.HireFire);
//
// lblRate
//
this.lblRate.Location = new System.Drawing.Point(104, 40);
this.lblRate.Name = "lblRate";
this.lblRate.Size = new System.Drawing.Size(59, 13);
this.lblRate.TabIndex = 97;
this.lblRate.Text = "88 cr. daily";
//
// lblName
//
this.lblName.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblName.Location = new System.Drawing.Point(12, 18);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(72, 13);
this.lblName.TabIndex = 96;
this.lblName.Text = "Xxxxxxxxxxx";
//
// lblEngineer
//
this.lblEngineer.Location = new System.Drawing.Point(64, 88);
this.lblEngineer.Name = "lblEngineer";
this.lblEngineer.Size = new System.Drawing.Size(17, 13);
this.lblEngineer.TabIndex = 95;
this.lblEngineer.Text = "88";
//
// lblTrader
//
this.lblTrader.Location = new System.Drawing.Point(64, 72);
this.lblTrader.Name = "lblTrader";
this.lblTrader.Size = new System.Drawing.Size(17, 13);
this.lblTrader.TabIndex = 94;
this.lblTrader.Text = "88";
//
// lblFighter
//
this.lblFighter.Location = new System.Drawing.Point(64, 56);
this.lblFighter.Name = "lblFighter";
this.lblFighter.Size = new System.Drawing.Size(17, 13);
this.lblFighter.TabIndex = 93;
this.lblFighter.Text = "88";
//
// lblPilot
//
this.lblPilot.Location = new System.Drawing.Point(64, 40);
this.lblPilot.Name = "lblPilot";
this.lblPilot.Size = new System.Drawing.Size(17, 13);
this.lblPilot.TabIndex = 92;
this.lblPilot.Text = "88";
//
// lblEngineerLabel
//
this.lblEngineerLabel.AutoSize = true;
this.lblEngineerLabel.Location = new System.Drawing.Point(12, 88);
this.lblEngineerLabel.Name = "lblEngineerLabel";
this.lblEngineerLabel.Size = new System.Drawing.Size(53, 16);
this.lblEngineerLabel.TabIndex = 91;
this.lblEngineerLabel.Text = "Engineer:";
//
// lblTraderLabel
//
this.lblTraderLabel.AutoSize = true;
this.lblTraderLabel.Location = new System.Drawing.Point(12, 72);
this.lblTraderLabel.Name = "lblTraderLabel";
this.lblTraderLabel.Size = new System.Drawing.Size(41, 16);
this.lblTraderLabel.TabIndex = 90;
this.lblTraderLabel.Text = "Trader:";
//
// lblFighterLabel
//
this.lblFighterLabel.AutoSize = true;
this.lblFighterLabel.Location = new System.Drawing.Point(12, 56);
this.lblFighterLabel.Name = "lblFighterLabel";
this.lblFighterLabel.Size = new System.Drawing.Size(43, 16);
this.lblFighterLabel.TabIndex = 89;
this.lblFighterLabel.Text = "Fighter:";
//
// lblPilotLabel
//
this.lblPilotLabel.AutoSize = true;
this.lblPilotLabel.Location = new System.Drawing.Point(12, 40);
this.lblPilotLabel.Name = "lblPilotLabel";
this.lblPilotLabel.Size = new System.Drawing.Size(29, 16);
this.lblPilotLabel.TabIndex = 88;
this.lblPilotLabel.Text = "Pilot:";
//
// lblCrewNoQuarters
//
this.lblCrewNoQuarters.Location = new System.Drawing.Point(16, 24);
this.lblCrewNoQuarters.Name = "lblCrewNoQuarters";
this.lblCrewNoQuarters.Size = new System.Drawing.Size(120, 16);
this.lblCrewNoQuarters.TabIndex = 7;
this.lblCrewNoQuarters.Text = "No quarters available";
this.lblCrewNoQuarters.Visible = false;
//
// lblForHireNone
//
this.lblForHireNone.Location = new System.Drawing.Point(16, 24);
this.lblForHireNone.Name = "lblForHireNone";
this.lblForHireNone.Size = new System.Drawing.Size(120, 16);
this.lblForHireNone.TabIndex = 8;
this.lblForHireNone.Text = "No one for hire";
this.lblForHireNone.Visible = false;
//
// FormViewPersonnel
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(488, 129);
this.Controls.Add(this.boxInfo);
this.Controls.Add(this.boxForHire);
this.Controls.Add(this.boxCurrentCrew);
this.Controls.Add(this.btnClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormViewPersonnel";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Personnel";
this.boxCurrentCrew.ResumeLayout(false);
this.boxForHire.ResumeLayout(false);
this.boxInfo.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void DeselectAll()
{
lstForHire.ClearSelected();
lstCrew.ClearSelected();
}
private void UpdateAll()
{
selectedCrewMember = null;
UpdateForHire();
UpdateCurrentCrew();
UpdateInfo();
}
private void UpdateCurrentCrew()
{
CrewMember[] crew = game.Commander.Ship.Crew;
lstCrew.Items.Clear();
for (int i = 1; i < crew.Length; i++)
{
if (crew[i] == null)
lstCrew.Items.Add(Strings.PersonnelVacancy);
else
lstCrew.Items.Add(crew[i]);
}
bool entries = (lstCrew.Items.Count > 0);
lstCrew.Visible = entries;
lblCrewNoQuarters.Visible = !entries;
if (entries)
lstCrew.Height = lstCrew.ItemHeight * Math.Min(lstCrew.Items.Count, 6) + 2;
else
// TODO: remove this when strings are moved to resource.
lblCrewNoQuarters.Text = Strings.PersonnelNoQuarters;
}
private void UpdateForHire()
{
CrewMember[] mercs = game.Commander.CurrentSystem.MercenariesForHire;
lstForHire.Items.Clear();
for (int i = 0; i < mercs.Length; i++)
lstForHire.Items.Add(mercs[i]);
bool entries = (lstForHire.Items.Count > 0);
lstForHire.Visible = entries;
lblForHireNone.Visible = !entries;
if (entries)
lstForHire.Height = lstForHire.ItemHeight * Math.Min(lstForHire.Items.Count, 6) + 2;
else
// TODO: remove this when strings are moved to resource.
lblForHireNone.Text = Strings.PersonnelNoMercenaries;
}
private void UpdateInfo()
{
bool visible = false;
bool rateVisible = false;
bool hireFireVisible = false;
if (selectedCrewMember != null)
{
visible = true;
if (selectedCrewMember.Rate > 0)
rateVisible = true;
lblName.Text = selectedCrewMember.Name;
lblRate.Text = Functions.StringVars(Strings.MoneyRateSuffix,
Functions.FormatMoney(selectedCrewMember.Rate));
lblPilot.Text = selectedCrewMember.Pilot.ToString();
lblFighter.Text = selectedCrewMember.Fighter.ToString();
lblTrader.Text = selectedCrewMember.Trader.ToString();
lblEngineer.Text = selectedCrewMember.Engineer.ToString();
btnHireFire.Text = game.Commander.Ship.HasCrew(selectedCrewMember.Id) ? Strings.MercenaryFire :
Strings.MercenaryHire;
hireFireVisible = rateVisible || selectedCrewMember.Id == CrewMemberId.Zeethibal;
}
lblName.Visible = visible;
lblRate.Visible = rateVisible;
lblPilotLabel.Visible = visible;
lblFighterLabel.Visible = visible;
lblTraderLabel.Visible = visible;
lblEngineerLabel.Visible = visible;
lblPilot.Visible = visible;
lblFighter.Visible = visible;
lblTrader.Visible = visible;
lblEngineer.Visible = visible;
btnHireFire.Visible = hireFireVisible;
}
#endregion
#region Event Handlers
private void HireFire(object sender, System.EventArgs e)
{
if (selectedCrewMember != null && btnHireFire.Visible)
{
if (game.Commander.Ship.HasCrew(selectedCrewMember.Id))
{
if (FormAlert.Alert(AlertType.CrewFireMercenary, this, selectedCrewMember.Name) == DialogResult.Yes)
{
game.Commander.Ship.Fire(selectedCrewMember.Id);
UpdateAll();
game.ParentWindow.UpdateAll();
}
}
else
{
if (game.Commander.Ship.FreeCrewQuarters == 0)
FormAlert.Alert(AlertType.CrewNoQuarters, this, selectedCrewMember.Name);
else
{
game.Commander.Ship.Hire(selectedCrewMember);
UpdateAll();
game.ParentWindow.UpdateAll();
}
}
}
}
private void SelectedIndexChanged(object sender, System.EventArgs e)
{
if (!handlingSelect)
{
handlingSelect = true;
object obj = ((ListBox)sender).SelectedItem;
DeselectAll();
if (typeof(CrewMember).IsInstanceOfType(obj))
{
((ListBox)sender).SelectedItem = obj;
selectedCrewMember = (CrewMember)obj;
}
else
selectedCrewMember = null;
handlingSelect = false;
UpdateInfo();
}
}
#endregion
}
}
@@ -0,0 +1,328 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnClose.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnClose.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnClose.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxCurrentCrew.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxCurrentCrew.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="boxCurrentCrew.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxCurrentCrew.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="boxCurrentCrew.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxCurrentCrew.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstCrew.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstCrew.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lstCrew.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxForHire.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxForHire.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="boxForHire.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxForHire.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="boxForHire.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxForHire.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstForHire.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lstForHire.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lstForHire.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxInfo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="boxInfo.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="boxInfo.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxInfo.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="boxInfo.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="boxInfo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnHireFire.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnHireFire.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnHireFire.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblRate.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblRate.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblRate.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblName.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblEngineer.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblEngineer.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblEngineer.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblTrader.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblTrader.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblTrader.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblFighter.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblFighter.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblFighter.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPilot.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblPilot.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPilot.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblEngineerLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblEngineerLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblEngineerLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblTraderLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblTraderLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblTraderLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblFighterLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblFighterLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblFighterLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPilotLabel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblPilotLabel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblPilotLabel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblCrewNoQuarters.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblCrewNoQuarters.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblCrewNoQuarters.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblForHireNone.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblForHireNone.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblForHireNone.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Name">
<value>FormViewPersonnel</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
@@ -0,0 +1,305 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormViewQuests : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.LinkLabel lblQuests;
private System.ComponentModel.Container components = null;
#endregion
#region Methods
public FormViewQuests()
{
InitializeComponent();
UpdateAll();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnClose = new System.Windows.Forms.Button();
this.lblQuests = new System.Windows.Forms.LinkLabel();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// lblQuests
//
this.lblQuests.LinkArea = new System.Windows.Forms.LinkArea(0, 0);
this.lblQuests.Location = new System.Drawing.Point(8, 8);
this.lblQuests.Name = "lblQuests";
this.lblQuests.Size = new System.Drawing.Size(368, 312);
this.lblQuests.TabIndex = 44;
this.lblQuests.Text = @"Kill the space monster at Acamar.
Get your lightning shield at Zalkon.
Deliver antidote to Japori.
Deliver the alien artifact to Professor Berger at some hi-tech system.
Bring ambassador Jarek to Devidia. Jarek is wondering why the journey is taking so long, and is no longer of much help in negotiating trades.
Inform Gemulon about alien invasion within 8 days.
Stop Dr. Fehler's experiment at Daled within 8 days.
Deliver the unstable reactor to Nix before it consumes all its fuel.
Find and destroy the Scarab (which is hiding at the exit to a wormhole).
Smuggle Jonathan Wild to Kravat. Wild is getting impatient, and will no longer aid your crew along the way.
Get rid of those pesky tribbles.
Claim your moon at Utopia.";
this.lblQuests.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lblQuests_LinkClicked);
//
// FormViewQuests
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(378, 325);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnClose,
this.lblQuests});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormViewQuests";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Quests";
this.ResumeLayout(false);
}
#endregion
private string[] GetQuestStrings()
{
Game game = Game.CurrentGame;
ArrayList quests = new ArrayList(12);
if (game.QuestStatusGemulon > SpecialEvent.StatusGemulonNotStarted &&
game.QuestStatusGemulon < SpecialEvent.StatusGemulonDate)
{
if (game.QuestStatusGemulon == SpecialEvent.StatusGemulonDate - 1)
quests.Add(Strings.QuestGemulonInformTomorrow);
else
quests.Add(Functions.StringVars(Strings.QuestGemulonInformDays,
Functions.Multiples(SpecialEvent.StatusGemulonDate - game.QuestStatusGemulon, "day")));
}
else if (game.QuestStatusGemulon == SpecialEvent.StatusGemulonFuel)
quests.Add(Strings.QuestGemulonFuel);
if (game.QuestStatusExperiment > SpecialEvent.StatusExperimentNotStarted &&
game.QuestStatusExperiment < SpecialEvent.StatusExperimentDate)
{
if (game.QuestStatusExperiment == SpecialEvent.StatusExperimentDate - 1)
quests.Add(Strings.QuestExperimentInformTomorrow);
else
quests.Add(Functions.StringVars(Strings.QuestExperimentInformDays,
Functions.Multiples(SpecialEvent.StatusExperimentDate - game.QuestStatusExperiment, "day")));
}
if (game.Commander.Ship.ReactorOnBoard)
{
if (game.QuestStatusReactor == SpecialEvent.StatusReactorFuelOk)
quests.Add(Strings.QuestReactor);
else
quests.Add(Strings.QuestReactorFuel);
}
else if (game.QuestStatusReactor == SpecialEvent.StatusReactorDelivered)
quests.Add(Strings.QuestReactorLaser);
if (game.QuestStatusSpaceMonster == SpecialEvent.StatusSpaceMonsterAtAcamar)
quests.Add(Strings.QuestSpaceMonsterKill);
if (game.QuestStatusJapori == SpecialEvent.StatusJaporiInTransit)
quests.Add(Strings.QuestJaporiDeliver);
switch (game.QuestStatusDragonfly)
{
case SpecialEvent.StatusDragonflyFlyBaratas:
quests.Add(Strings.QuestDragonflyBaratas);
break;
case SpecialEvent.StatusDragonflyFlyMelina:
quests.Add(Strings.QuestDragonflyMelina);
break;
case SpecialEvent.StatusDragonflyFlyRegulas:
quests.Add(Strings.QuestDragonflyRegulas);
break;
case SpecialEvent.StatusDragonflyFlyZalkon:
quests.Add(Strings.QuestDragonflyZalkon);
break;
case SpecialEvent.StatusDragonflyDestroyed:
quests.Add(Strings.QuestDragonflyShield);
break;
}
switch (game.QuestStatusPrincess)
{
case SpecialEvent.StatusPrincessFlyCentauri:
quests.Add(Strings.QuestPrincessCentauri);
break;
case SpecialEvent.StatusPrincessFlyInthara:
quests.Add(Strings.QuestPrincessInthara);
break;
case SpecialEvent.StatusPrincessFlyQonos:
quests.Add(Strings.QuestPrincessQonos);
break;
case SpecialEvent.StatusPrincessRescued:
if (game.Commander.Ship.PrincessOnBoard)
{
if (game.QuestStatusPrincess == SpecialEvent.StatusPrincessImpatient)
quests.Add(Functions.StringVars(Strings.QuestPrincessReturningImpatient,
game.Mercenaries[(int)CrewMemberId.Princess].Name));
else
quests.Add(Functions.StringVars(Strings.QuestPrincessReturning,
game.Mercenaries[(int)CrewMemberId.Princess].Name));
}
else
quests.Add(Functions.StringVars(Strings.QuestPrincessReturn,
game.Mercenaries[(int)CrewMemberId.Princess].Name));
break;
case SpecialEvent.StatusPrincessReturned:
quests.Add(Strings.QuestPrincessQuantum);
break;
}
if (game.QuestStatusScarab == SpecialEvent.StatusScarabHunting)
quests.Add(Strings.QuestScarabFind);
else if (game.QuestStatusScarab == SpecialEvent.StatusScarabDestroyed)
{
if (Consts.SpecialEvents[(int)SpecialEventType.ScarabUpgradeHull].Location == null)
quests.Add(Functions.StringVars(Strings.QuestScarabNotify,
Consts.SpecialEvents[(int)SpecialEventType.ScarabDestroyed].Location.Name));
else
quests.Add(Functions.StringVars(Strings.QuestScarabHull,
Consts.SpecialEvents[(int)SpecialEventType.ScarabUpgradeHull].Location.Name));
}
if (game.Commander.Ship.SculptureOnBoard)
quests.Add(Strings.QuestSculpture);
else if (game.QuestStatusReactor == SpecialEvent.StatusReactorDelivered)
quests.Add(Strings.QuestSculptureHiddenBays);
if (game.QuestStatusArtifact == SpecialEvent.StatusArtifactOnBoard)
quests.Add(Strings.QuestArtifact);
if (game.Commander.Ship.JarekOnBoard)
{
if (game.QuestStatusJarek == SpecialEvent.StatusJarekImpatient)
quests.Add(Strings.QuestJarekImpatient);
else
quests.Add(Strings.QuestJarek);
}
if (game.Commander.Ship.WildOnBoard)
{
if (game.QuestStatusWild == SpecialEvent.StatusWildImpatient)
quests.Add(Strings.QuestWildImpatient);
else
quests.Add(Strings.QuestWild);
}
if (game.Commander.Ship.Tribbles > 0)
quests.Add(Strings.QuestTribbles);
if (game.QuestStatusMoon == SpecialEvent.StatusMoonBought)
quests.Add(Strings.QuestMoon);
return Functions.ArrayListToStringArray(quests);
}
private void UpdateAll()
{
string[] quests = GetQuestStrings();
if (quests.Length == 0)
lblQuests.Text = Strings.QuestNone;
else
{
lblQuests.Text = String.Join(Environment.NewLine + Environment.NewLine, quests);
for (int i = 0; i < Strings.SystemNames.Length; i++)
{
string systemName = Strings.SystemNames[i];
int start = 0;
int index = -1;
while ((index = lblQuests.Text.IndexOf(systemName, start)) >= 0)
{
lblQuests.Links.Add(index, systemName.Length, systemName);
start = index + systemName.Length;
}
}
}
}
#endregion
#region Event Handlers
private void lblQuests_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
Game.CurrentGame.SelectedSystemName = e.Link.LinkData.ToString();
Game.CurrentGame.ParentWindow.UpdateAll();
Close();
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormViewQuests</value>
</data>
</root>
@@ -0,0 +1,313 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Fryz.Apps.SpaceTrader
{
public class FormViewShip : System.Windows.Forms.Form
{
#region Control Declarations
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Label lblTypeLabel;
private System.Windows.Forms.Label lblType;
private System.Windows.Forms.GroupBox boxSpecialCargo;
private System.Windows.Forms.Label lblSpecialCargo;
private System.Windows.Forms.Label lblEquipLabel;
private System.Windows.Forms.Label lblEquip;
private System.ComponentModel.Container components = null;
#endregion
#region Member Declarations
private Game game = Game.CurrentGame;
private Ship ship = Game.CurrentGame.Commander.Ship;
#endregion
#region Methods
public FormViewShip()
{
InitializeComponent();
lblType.Text = ship.Name;
lblEquipLabel.Text = "";
lblEquip.Text = "";
DisplayEquipment();
DisplaySpecialCargo();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
components.Dispose();
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblTypeLabel = new System.Windows.Forms.Label();
this.lblType = new System.Windows.Forms.Label();
this.btnClose = new System.Windows.Forms.Button();
this.lblEquipLabel = new System.Windows.Forms.Label();
this.lblEquip = new System.Windows.Forms.Label();
this.boxSpecialCargo = new System.Windows.Forms.GroupBox();
this.lblSpecialCargo = new System.Windows.Forms.Label();
this.boxSpecialCargo.SuspendLayout();
this.SuspendLayout();
//
// lblTypeLabel
//
this.lblTypeLabel.AutoSize = true;
this.lblTypeLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblTypeLabel.Location = new System.Drawing.Point(8, 8);
this.lblTypeLabel.Name = "lblTypeLabel";
this.lblTypeLabel.Size = new System.Drawing.Size(34, 13);
this.lblTypeLabel.TabIndex = 2;
this.lblTypeLabel.Text = "Type:";
//
// lblType
//
this.lblType.Location = new System.Drawing.Point(80, 8);
this.lblType.Name = "lblType";
this.lblType.Size = new System.Drawing.Size(100, 13);
this.lblType.TabIndex = 4;
this.lblType.Text = "Grasshopper";
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(-32, -32);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(32, 32);
this.btnClose.TabIndex = 32;
this.btnClose.TabStop = false;
this.btnClose.Text = "X";
//
// lblEquipLabel
//
this.lblEquipLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblEquipLabel.Location = new System.Drawing.Point(8, 34);
this.lblEquipLabel.Name = "lblEquipLabel";
this.lblEquipLabel.Size = new System.Drawing.Size(64, 176);
this.lblEquipLabel.TabIndex = 43;
this.lblEquipLabel.Text = "Hull:\r\n\r\nEquipment:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nUnfilled:";
//
// lblEquip
//
this.lblEquip.Location = new System.Drawing.Point(80, 34);
this.lblEquip.Name = "lblEquip";
this.lblEquip.Size = new System.Drawing.Size(120, 176);
this.lblEquip.TabIndex = 44;
this.lblEquip.Text = "Hardened\r\n\r\n1 Military Laser\r\n1 Morgan\'s Laser\r\n1 Energy Shield\r\n1 Reflective Shi" +
"eld\r\n1 Lightning Shield\r\nNavigating System\r\nAuto-Repair System\r\n10 Extra Cargo Bays\r\nAn Escape Pod\r\n" +
"\r\n1 weapon slot\r\n1 gadget slot";
//
// boxSpecialCargo
//
this.boxSpecialCargo.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblSpecialCargo});
this.boxSpecialCargo.Location = new System.Drawing.Point(192, 8);
this.boxSpecialCargo.Name = "boxSpecialCargo";
this.boxSpecialCargo.Size = new System.Drawing.Size(200, 204);
this.boxSpecialCargo.TabIndex = 64;
this.boxSpecialCargo.TabStop = false;
this.boxSpecialCargo.Text = "Special Cargo";
//
// lblSpecialCargo
//
this.lblSpecialCargo.Location = new System.Drawing.Point(8, 16);
this.lblSpecialCargo.Name = "lblSpecialCargo";
this.lblSpecialCargo.Size = new System.Drawing.Size(190, 176);
this.lblSpecialCargo.TabIndex = 0;
this.lblSpecialCargo.Text = "No special items.";
//
// FormViewShip
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.btnClose;
this.ClientSize = new System.Drawing.Size(402, 219);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.boxSpecialCargo,
this.lblEquip,
this.lblEquipLabel,
this.btnClose,
this.lblTypeLabel,
this.lblType});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FormViewShip";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Current Ship";
this.boxSpecialCargo.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void DisplayEquipment()
{
if (game.QuestStatusScarab == SpecialEvent.StatusScarabDone)
{
lblEquipLabel.Text += "Hull:" + Environment.NewLine + Environment.NewLine;
lblEquip.Text += "Hardened" + Environment.NewLine + Environment.NewLine;
}
bool equipPrinted = false;
for (int i = 0; i < Consts.Weapons.Length; i++)
{
int count = 0;
for (int j = 0; j < ship.Weapons.Length; j++)
{
if (ship.Weapons[j] != null && ship.Weapons[j].Type == Consts.Weapons[i].Type)
count++;
}
if (count > 0)
{
lblEquipLabel.Text += equipPrinted ? Environment.NewLine : "Equipment:" + Environment.NewLine;
lblEquip.Text += Functions.Multiples(count, Consts.Weapons[i].Name) + Environment.NewLine;
equipPrinted = true;
}
}
for (int i = 0; i < Consts.Shields.Length; i++)
{
int count = 0;
for (int j = 0; j < ship.Shields.Length; j++)
{
if (ship.Shields[j] != null && ship.Shields[j].Type == Consts.Shields[i].Type)
count++;
}
if (count > 0)
{
lblEquipLabel.Text += equipPrinted ? Environment.NewLine : "Equipment:" + Environment.NewLine;
lblEquip.Text += Functions.Multiples(count, Consts.Shields[i].Name) + Environment.NewLine;
equipPrinted = true;
}
}
for (int i = 0; i < Consts.Gadgets.Length; i++)
{
int count = 0;
for (int j = 0; j < ship.Gadgets.Length; j++)
{
if (ship.Gadgets[j] != null && ship.Gadgets[j].Type == Consts.Gadgets[i].Type)
count++;
}
if (count > 0)
{
lblEquipLabel.Text += equipPrinted ? Environment.NewLine : "Equipment:" + Environment.NewLine;
if (i == (int)GadgetType.ExtraCargoBays || i == (int)GadgetType.HiddenCargoBays)
{
count *= 5;
lblEquip.Text += Functions.FormatNumber(count) + Consts.Gadgets[i].Name.Substring(1) + Environment.NewLine;
}
else
lblEquip.Text += Functions.Multiples(count, Consts.Gadgets[i].Name) + Environment.NewLine;
equipPrinted = true;
}
}
if (ship.EscapePod)
{
lblEquipLabel.Text += equipPrinted ? Environment.NewLine : "Equipment:" + Environment.NewLine;
lblEquip.Text += "1 " + Strings.ShipInfoEscapePod + Environment.NewLine;
equipPrinted = true;
}
if (ship.FreeSlots > 0)
{
lblEquipLabel.Text += (equipPrinted ? Environment.NewLine : "") + "Unfilled:";
lblEquip.Text += (equipPrinted ? Environment.NewLine : "");
if (ship.FreeSlotsWeapon > 0)
lblEquip.Text += Functions.Multiples(ship.FreeSlotsWeapon, "weapon slot") + Environment.NewLine;
if (ship.FreeSlotsShield > 0)
lblEquip.Text += Functions.Multiples(ship.FreeSlotsShield, "shield slot") + Environment.NewLine;
if (ship.FreeSlotsGadget > 0)
lblEquip.Text += Functions.Multiples(ship.FreeSlotsGadget, "gadget slot") + Environment.NewLine;
}
}
private void DisplaySpecialCargo()
{
ArrayList specialCargo = new ArrayList(12);
if (ship.Tribbles > 0)
{
if (ship.Tribbles == Consts.MaxTribbles)
specialCargo.Add(Strings.SpecialCargoTribblesInfest);
else
specialCargo.Add(Functions.Multiples(ship.Tribbles, Strings.SpecialCargoTribblesCute) + ".");
}
if (game.QuestStatusJapori == SpecialEvent.StatusJaporiInTransit)
specialCargo.Add(Strings.SpecialCargoJapori);
if (ship.ArtifactOnBoard)
specialCargo.Add(Strings.SpecialCargoArtifact);
if (game.QuestStatusJarek == SpecialEvent.StatusJarekDone)
specialCargo.Add(Strings.SpecialCargoJarek);
if (ship.ReactorOnBoard)
{
specialCargo.Add(Strings.SpecialCargoReactor);
specialCargo.Add(Functions.Multiples(10 - ((game.QuestStatusReactor - 1) / 2), "bay") +
Strings.SpecialCargoReactorBays);
}
if (ship.SculptureOnBoard)
specialCargo.Add(Strings.SpecialCargoSculpture);
if (game.CanSuperWarp)
specialCargo.Add(Strings.SpecialCargoExperiment);
lblSpecialCargo.Text = specialCargo.Count == 0 ? Strings.SpecialCargoNone :
String.Join(Environment.NewLine + Environment.NewLine, Functions.ArrayListToStringArray(specialCargo));
}
#endregion
}
}
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>FormViewShip</value>
</data>
</root>
@@ -0,0 +1,519 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{0ED352CE-6DA4-49C4-A458-93630C48F40D}</ProjectGuid>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccProvider>
</SccProvider>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>App.ico</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>SpaceTrader</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>WinExe</OutputType>
<RootNamespace>Fryz.Apps.SpaceTrader</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>Fryz.Apps.SpaceTrader.SpaceTrader</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<SccAuxPath>
</SccAuxPath>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>2.0</OldToolsVersion>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<ManifestCertificateThumbprint>161215E3F0C7C7DA82EB34A448041A4EF78490F1</ManifestCertificateThumbprint>
<ManifestKeyFile>Fryz.Apps.SpaceTrader_TemporaryKey.pfx</ManifestKeyFile>
<GenerateManifests>true</GenerateManifests>
<SignManifests>true</SignManifests>
<IsWebBootstrapper>true</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Web</InstallFrom>
<UpdateEnabled>true</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<InstallUrl>http://spacetraderwin.sourceforge.net/publish/</InstallUrl>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Content Include="App.ico" />
<Content Include="Space Trader for Windows Documentation.htm" />
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Commander.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Consts.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="CrewMember.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Enums.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Equipment.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Form_About.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Alert.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_BuyFuel.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_BuyRepairs.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_CargoBuy.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_CargoSell.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Costs.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Encounter.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Equipment.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Find.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_GetLoan.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Jettison.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Monster.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_NewCommander.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Options.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_PayBackLoan.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Plunder.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_ShipList.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Shipyard.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_SpaceTrader.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_Test.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_ViewBank.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_ViewCommander.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_ViewHighScores.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_ViewPersonnel.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_ViewQuests.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form_ViewShip.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Functions.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="FutureVersionException.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Gadget.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Game.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="GameEndException.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="GameOptions.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="HighScoreRecord.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="PoliceRecord.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="PoliticalSystem.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Reputation.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Shield.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Ship.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ShipSpec.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ShipTemplate.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Shipyard.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="SpecialEvent.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="StarSystem.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Strings.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="STSerializableObject.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="TradeItem.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Weapon.cs">
<SubType>Code</SubType>
</Compile>
<None Include="changelog.txt" />
<None Include="images\alien.bmp" />
<None Include="images\arrdown.bmp" />
<None Include="images\arrleft.bmp" />
<None Include="images\arrright.bmp" />
<None Include="images\arrup.bmp" />
<None Include="images\blank.bmp" />
<None Include="images\bottle.bmp" />
<None Include="images\bottled.bmp" />
<None Include="images\chartlnv.bmp" />
<None Include="images\chartlv.bmp" />
<None Include="images\chartlw.bmp" />
<None Include="images\chartsnv.bmp" />
<None Include="images\chartsnvs.bmp" />
<None Include="images\chartsv.bmp" />
<None Include="images\chartsvs.bmp" />
<None Include="images\chartsw.bmp" />
<None Include="images\chartsws.bmp" />
<None Include="images\continuous0.bmp" />
<None Include="images\continuous1.bmp" />
<None Include="images\destroyed.bmp" />
<None Include="images\df.bmp" />
<None Include="images\dfd.bmp" />
<None Include="images\dfs.bmp" />
<None Include="images\dfsd.bmp" />
<None Include="images\dummy_ship.bmp" />
<None Include="images\find.bmp" />
<None Include="images\g_bays.bmp" />
<None Include="images\g_cloak.bmp" />
<None Include="images\g_fuel.bmp" />
<None Include="images\g_hbays.bmp" />
<None Include="images\g_navsys.bmp" />
<None Include="images\g_repsys.bmp" />
<None Include="images\g_targsys.bmp" />
<None Include="images\logo.gif" />
<None Include="images\mantis.bmp" />
<None Include="images\mantisd.bmp" />
<None Include="images\mantiss.bmp" />
<None Include="images\mantissd.bmp" />
<None Include="images\moon.bmp" />
<None Include="images\moongirl.bmp" />
<None Include="images\pirate.bmp" />
<None Include="images\police.bmp" />
<None Include="images\retire.bmp" />
<None Include="images\scarab.bmp" />
<None Include="images\scarabd.bmp" />
<None Include="images\scarabs.bmp" />
<None Include="images\scarabsd.bmp" />
<None Include="images\scorp.bmp" />
<None Include="images\scorpd.bmp" />
<None Include="images\scorps.bmp" />
<None Include="images\scorpsd.bmp" />
<None Include="images\ship0.bmp" />
<None Include="images\ship0d.bmp" />
<None Include="images\ship1.bmp" />
<None Include="images\ship10.bmp" />
<None Include="images\ship10d.bmp" />
<None Include="images\ship10s.bmp" />
<None Include="images\ship10sd.bmp" />
<None Include="images\ship1d.bmp" />
<None Include="images\ship2.bmp" />
<None Include="images\ship2d.bmp" />
<None Include="images\ship2s.bmp" />
<None Include="images\ship2sd.bmp" />
<None Include="images\ship3.bmp" />
<None Include="images\ship3d.bmp" />
<None Include="images\ship3s.bmp" />
<None Include="images\ship3sd.bmp" />
<None Include="images\ship4.bmp" />
<None Include="images\ship4d.bmp" />
<None Include="images\ship4s.bmp" />
<None Include="images\ship4sd.bmp" />
<None Include="images\ship5.bmp" />
<None Include="images\ship5d.bmp" />
<None Include="images\ship5s.bmp" />
<None Include="images\ship5sd.bmp" />
<None Include="images\ship6.bmp" />
<None Include="images\ship6d.bmp" />
<None Include="images\ship6s.bmp" />
<None Include="images\ship6sd.bmp" />
<None Include="images\ship7.bmp" />
<None Include="images\ship7d.bmp" />
<None Include="images\ship7s.bmp" />
<None Include="images\ship7sd.bmp" />
<None Include="images\ship8.bmp" />
<None Include="images\ship8d.bmp" />
<None Include="images\ship8s.bmp" />
<None Include="images\ship8sd.bmp" />
<None Include="images\ship9.bmp" />
<None Include="images\ship9d.bmp" />
<None Include="images\ship9s.bmp" />
<None Include="images\ship9sd.bmp" />
<None Include="images\sm.bmp" />
<None Include="images\smd.bmp" />
<None Include="images\special.bmp" />
<None Include="images\splash.bmp" />
<None Include="images\splash.jpg" />
<None Include="images\sy-corellian.bmp" />
<None Include="images\sy-incom.bmp" />
<None Include="images\sy-kuat.bmp" />
<None Include="images\sy-sienar.bmp" />
<None Include="images\sy-sorosuub.bmp" />
<None Include="images\s_energy.bmp" />
<None Include="images\s_lightning.bmp" />
<None Include="images\s_reflective.bmp" />
<None Include="images\trader.bmp" />
<None Include="images\trib0.bmp" />
<None Include="images\trib1.bmp" />
<None Include="images\trib2.bmp" />
<None Include="images\trib3.bmp" />
<None Include="images\trib4.bmp" />
<None Include="images\trib5.bmp" />
<None Include="images\trib6.bmp" />
<None Include="images\trib7.bmp" />
<None Include="images\w_beam.bmp" />
<None Include="images\w_military.bmp" />
<None Include="images\w_morgan.bmp" />
<None Include="images\w_photon.bmp" />
<None Include="images\w_pulse.bmp" />
<None Include="images\w_quantum.bmp" />
<EmbeddedResource Include="Form_About.resx">
<DependentUpon>Form_About.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Alert.resx">
<DependentUpon>Form_Alert.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_BuyFuel.resx">
<DependentUpon>Form_BuyFuel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_BuyRepairs.resx">
<DependentUpon>Form_BuyRepairs.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_CargoBuy.resx">
<DependentUpon>Form_CargoBuy.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_CargoSell.resx">
<DependentUpon>Form_CargoSell.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Costs.resx">
<DependentUpon>Form_Costs.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Encounter.resx">
<DependentUpon>Form_Encounter.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Equipment.resx">
<DependentUpon>Form_Equipment.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Find.resx">
<DependentUpon>Form_Find.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_GetLoan.resx">
<DependentUpon>Form_GetLoan.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Jettison.resx">
<DependentUpon>Form_Jettison.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Monster.resx">
<DependentUpon>Form_Monster.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_NewCommander.resx">
<DependentUpon>Form_NewCommander.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Options.resx">
<DependentUpon>Form_Options.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_PayBackLoan.resx">
<DependentUpon>Form_PayBackLoan.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Plunder.resx">
<DependentUpon>Form_Plunder.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_ShipList.resx">
<DependentUpon>Form_ShipList.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Shipyard.resx">
<DependentUpon>Form_Shipyard.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_SpaceTrader.resx">
<DependentUpon>Form_SpaceTrader.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_Test.resx">
<DependentUpon>Form_Test.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_ViewBank.resx">
<DependentUpon>Form_ViewBank.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_ViewCommander.resx">
<DependentUpon>Form_ViewCommander.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_ViewHighScores.resx">
<DependentUpon>Form_ViewHighScores.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_ViewPersonnel.resx">
<DependentUpon>Form_ViewPersonnel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_ViewQuests.resx">
<DependentUpon>Form_ViewQuests.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form_ViewShip.resx">
<DependentUpon>Form_ViewShip.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
<Visible>False</Visible>
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
<Visible>False</Visible>
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>
+361
View File
@@ -0,0 +1,361 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
using System.Drawing;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Security.Permissions;
using Microsoft.Win32;
[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum, ViewAndModify = "HKEY_CURRENT_USER")]
namespace Fryz.Apps.SpaceTrader
{
public class Functions
{
#region Static Variable/Constant Declarations
private static Random rand = new Random();
private const long DEFSEEDX = 521288629;
private const long DEFSEEDY = 362436069;
private const int MAX_WORD = 65535;
private static long SeedX = DEFSEEDX;
private static long SeedY = DEFSEEDY;
#endregion
#region Methods
public static int AdjustSkillForDifficulty(int skill)
{
switch (Game.CurrentGame.Difficulty)
{
case Difficulty.Beginner:
case Difficulty.Easy:
skill++;
break;
case Difficulty.Hard:
case Difficulty.Impossible:
skill--;
break;
default:
break;
}
return skill;
}
public static string[] ArrayListToStringArray(ArrayList list)
{
string[] items = new string[list.Count];
for (int i = 0; i < items.Length; i++)
items[i] = (string)list[i];
return items;
}
public static int Distance(StarSystem a, StarSystem b)
{
return (int)Math.Floor(Math.Sqrt(Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2)));
}
public static int Distance(StarSystem a, int x, int y)
{
return (int)Math.Floor(Math.Sqrt(Math.Pow(a.X - x, 2) + Math.Pow(a.Y - y, 2)));
}
private static void DrawPartialImage(Graphics g, Image img, int start, int stop)
{
g.DrawImage(img, 2 + start, 2, new Rectangle(start, 0, stop - start, img.Height), GraphicsUnit.Pixel);
}
public static string FormatNumber(int num)
{
return String.Format("{0:n0}", num);
}
public static string FormatList(string[] listItems)
{
return StringVars(Strings.ListStrings[listItems.Length], listItems);
}
public static string FormatMoney(int num)
{
return String.Format("{0:n0} cr.", num);
}
public static string FormatPercent(int num)
{
return String.Format("{0:n0}%", num);
}
public static int GetColumnOfFirstNonWhitePixel(Image image, int direction)
{
Bitmap bitmap = new Bitmap(image);
int step = direction < 0 ? -1 : 1;
int col = step > 0 ? 0 : bitmap.Width - 1;
int stop = step > 0 ? bitmap.Width : -1;
for (; col != stop; col += step)
{
for (int row = 0; row < bitmap.Height; row++)
{
if (bitmap.GetPixel(col, row).ToArgb() != 0)
return col;
}
}
return -1;
}
public static HighScoreRecord[] GetHighScores(System.Windows.Forms.IWin32Window owner)
{
HighScoreRecord[] highScores = new HighScoreRecord[3];
object obj = LoadFile(Consts.HighScoreFile, true, owner);
if (obj != null)
highScores = (HighScoreRecord[])STSerializableObject.ArrayListToArray((ArrayList)obj, "HighScoreRecord");
return highScores;
}
public static int GetRandom(int max)
{
return GetRandom(0, max);
}
public static int GetRandom(int min, int max)
{
return rand.Next(min, max);
}
// *************************************************************************
// Pieter's new random functions, tweaked a bit by SjG
// *************************************************************************
public static int GetRandom2(int max)
{
return (int)(Rand() % max);
}
public static RegistryKey GetRegistryKey()
{
return Registry.CurrentUser.OpenSubKey("Software", true).CreateSubKey("FrenchFryz").CreateSubKey("SpaceTrader");
}
public static bool IsInt(string toParse)
{
bool isInt = true;
try
{
int.Parse(toParse);
}
catch (Exception)
{
isInt = false;
}
return isInt;
}
public static object LoadFile(string fileName, bool ignoreMissingFile, System.Windows.Forms.IWin32Window owner)
{
object obj = null;
FileStream inStream = null;
try
{
inStream = new FileStream(fileName, FileMode.Open);
obj = (new BinaryFormatter()).Deserialize(inStream);
inStream.Close();
inStream = null;
}
catch (FileNotFoundException ex)
{
if (!ignoreMissingFile)
FormAlert.Alert(AlertType.FileErrorOpen, owner, fileName, ex.Message);
}
catch (IOException ex)
{
FormAlert.Alert(AlertType.FileErrorOpen, owner, fileName, ex.Message);
}
catch (System.Runtime.Serialization.SerializationException)
{
FormAlert.Alert(AlertType.FileErrorOpen, owner, fileName, Strings.FileFormatBad);
}
finally
{
if (inStream != null)
inStream.Close();
}
return obj;
}
public static string Multiples(int num, string unit)
{
return FormatNumber(num) + " " + unit + (num == 1 ? "" : "s");
}
public static void PaintShipImage(Ship ship, Graphics g, Color backgroundColor)
{
int x = Consts.ShipImageOffsets[(int)ship.Type].X;
int width = Consts.ShipImageOffsets[(int)ship.Type].Width;
int startDamage = x + width - ship.Hull * width / ship.HullStrength;
int startShield = x + width + 2 - (ship.ShieldStrength > 0 ? ship.ShieldCharge * (width + 4) /
ship.ShieldStrength : 0);
g.Clear(backgroundColor);
if (startDamage > x)
{
if (startShield > x)
DrawPartialImage(g, ship.ImageDamaged, x, Math.Min(startDamage, startShield));
if (startShield < startDamage)
DrawPartialImage(g, ship.ImageDamagedWithShields, startShield, startDamage);
}
if (startShield > startDamage)
DrawPartialImage(g, ship.Image, startDamage, startShield);
if (startShield < x + width + 2)
DrawPartialImage(g, ship.ImageWithShields, startShield, x + width + 2);
}
private static long Rand()
{
const int a = 18000;
const int b = 30903;
SeedX = a*(SeedX&MAX_WORD) + (SeedX>>16);
SeedY = b*(SeedY&MAX_WORD) + (SeedY>>16);
return ((SeedX<<16) + (SeedY&MAX_WORD));
}
public static int RandomSkill()
{
return 1 + GetRandom(5) + GetRandom(6);
}
public static void RandSeed(int seed1, int seed2)
{
if (seed1 > 0)
SeedX = seed1; /* use default seeds if parameter is 0 */
else
SeedX = DEFSEEDX;
if (seed2 > 0)
SeedY = seed2;
else
SeedY = DEFSEEDY;
}
public static bool SaveFile(string fileName, object toSerialize, System.Windows.Forms.IWin32Window owner)
{
FileStream outStream = null;
bool saveOk = false;
try
{
outStream = new FileStream(fileName, FileMode.Create);
(new BinaryFormatter()).Serialize(outStream, toSerialize);
outStream.Close();
outStream = null;
saveOk = true;
}
catch (IOException ex)
{
FormAlert.Alert(AlertType.FileErrorSave, owner, fileName, ex.Message);
}
finally
{
if (outStream != null)
outStream.Close();
}
return saveOk;
}
public static string StringVars(string toParse, string[] vars)
{
string parsed = toParse;
for (int i = 0; i < vars.Length; i++)
parsed = parsed.Replace("^" + (i + 1).ToString(), vars[i]);
return parsed;
}
public static string StringVars(string toParse, string var1)
{
return StringVars(toParse, new string[] { var1 });
}
public static string StringVars(string toParse, string var1, string var2)
{
return StringVars(toParse, new string[] { var1, var2 });
}
// *************************************************************************
// Returns true if there exists a wormhole from a to b.
// If b < 0, then return true if there exists a wormhole
// at all from a.
// *************************************************************************
public static bool WormholeExists(int a, int b)
{
int[] wormholes = Game.CurrentGame.Wormholes;
int i = Array.IndexOf(wormholes, a);
return (i >= 0 && (b < 0 || wormholes[(i + 1) % wormholes.Length] == b));
}
public static bool WormholeExists(StarSystem a, StarSystem b)
{
StarSystem[] universe = Game.CurrentGame.Universe;
int[] wormholes = Game.CurrentGame.Wormholes;
int i = Array.IndexOf(wormholes, (int)a.Id);
return (i >= 0 && (universe[wormholes[(i + 1) % wormholes.Length]] == b));
}
public static StarSystem WormholeTarget(int a)
{
int[] wormholes = Game.CurrentGame.Wormholes;
int i = Array.IndexOf(wormholes, a);
return (i >= 0 ? (Game.CurrentGame.Universe[wormholes[(i + 1) % wormholes.Length]]) : null);
}
#endregion
}
}
@@ -0,0 +1,32 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
namespace Fryz.Apps.SpaceTrader
{
public class FutureVersionException : Exception
{
}
}
+121
View File
@@ -0,0 +1,121 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public class Gadget : Equipment
{
#region Member Declarations
private GadgetType _type;
private SkillType _skillBonus;
#endregion
#region Methods
public Gadget(GadgetType type, SkillType skillBonus, int price, TechLevel minTechLevel, int chance):
base(EquipmentType.Gadget, price, minTechLevel, chance)
{
_type = type;
_skillBonus = skillBonus;
}
public Gadget(Hashtable hash): base(hash)
{
_type = (GadgetType)GetValueFromHash(hash, "_type");
_skillBonus = (SkillType)GetValueFromHash(hash, "_skillBonus", SkillType.NA);
}
public override Equipment Clone()
{
return new Gadget(_type, _skillBonus, _price, _minTech, _chance);
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_type", (int)_type);
hash.Add("_skillBonus", (int)_skillBonus);
return hash;
}
public override bool TypeEquals(object type)
{
bool equal = false;
try
{
if (Type == (GadgetType)type)
equal = true;
}
catch (Exception) {}
return equal;
}
#endregion
#region Properties
public override string Name
{
get
{
return Strings.GadgetNames[(int)_type];
}
}
public override object SubType
{
get
{
return Type;
}
}
public GadgetType Type
{
get
{
return _type;
}
}
public SkillType SkillBonus
{
get
{
return _skillBonus;
}
}
#endregion
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,40 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
namespace Fryz.Apps.SpaceTrader
{
public class GameEndException : Exception
{
#region Methods
public GameEndException(GameEndType endType)
{
Game.CurrentGame.EndStatus = endType;
}
#endregion
}
}
+346
View File
@@ -0,0 +1,346 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public class GameOptions : STSerializableObject
{
#region Member Declarations
private bool _alwaysIgnorePirates = false; // Automatically ignores pirates when it is safe to do so
private bool _alwaysIgnorePolice = false; // Automatically ignores police when it is safe to do so
private bool _alwaysIgnoreTradeInOrbit = false; // Automatically ignores Trade in Orbit when it is safe to do so
private bool _alwaysIgnoreTraders = true; // Automatically ignores traders when it is safe to do so
private bool _autoFuel = false; // Automatically get a full tank when arriving in a new system
private bool _autoRepair = false; // Automatically get a full hull repair when arriving in a new system
private bool _continuousAttack = false; // Continuous attack/flee mode
private bool _continuousAttackFleeing = false; // Continue attack on fleeing ship
private bool _disableOpponents = false; // Disable opponents when possible (when you have disabling weapons and the opponent is a pirate, trader, or mantis)
private bool _newsAutoPay = false; // by default, ask each time someone buys a newspaper
private bool _newsAutoShow = false; // by default, don't show newspaper
private bool _remindLoans = true; // remind you every five days about outstanding loan balances
private bool _reserveMoney = false; // Keep enough money for insurance and mercenaries
private bool _showTrackedRange = true; // display range when tracking a system on Short Range Chart
private bool _trackAutoOff = true; // Automatically stop tracking a system when you get to it?
private int _leaveEmpty = 0; // Number of cargo bays to leave empty when buying goods
#endregion
#region Methods
public GameOptions(bool loadFromDefaults)
{
if (loadFromDefaults)
LoadFromDefaults(false);
}
public GameOptions(Hashtable hash): base(hash)
{
_alwaysIgnorePirates = (bool)GetValueFromHash(hash, "_alwaysIgnorePirates", _alwaysIgnorePirates);
_alwaysIgnorePolice = (bool)GetValueFromHash(hash, "_alwaysIgnorePolice", _alwaysIgnorePolice);
_alwaysIgnoreTradeInOrbit = (bool)GetValueFromHash(hash, "_alwaysIgnoreTradeInOrbit", _alwaysIgnoreTradeInOrbit);
_alwaysIgnoreTraders = (bool)GetValueFromHash(hash, "_alwaysIgnoreTraders", _alwaysIgnoreTraders);
_autoFuel = (bool)GetValueFromHash(hash, "_autoFuel", _autoFuel);
_autoRepair = (bool)GetValueFromHash(hash, "_autoRepair", _autoRepair);
_continuousAttack = (bool)GetValueFromHash(hash, "_continuousAttack", _continuousAttack);
_continuousAttackFleeing = (bool)GetValueFromHash(hash, "_continuousAttackFleeing", _continuousAttackFleeing);
_disableOpponents = (bool)GetValueFromHash(hash, "_disableOpponents", _disableOpponents);
_newsAutoPay = (bool)GetValueFromHash(hash, "_newsAutoPay", _newsAutoPay);
_newsAutoShow = (bool)GetValueFromHash(hash, "_newsAutoShow", _newsAutoShow);
_remindLoans = (bool)GetValueFromHash(hash, "_remindLoans", _remindLoans);
_reserveMoney = (bool)GetValueFromHash(hash, "_reserveMoney", _reserveMoney);
_showTrackedRange = (bool)GetValueFromHash(hash, "_showTrackedRange", _showTrackedRange);
_trackAutoOff = (bool)GetValueFromHash(hash, "_trackAutoOff", _trackAutoOff);
_leaveEmpty = (int)GetValueFromHash(hash, "_leaveEmpty", _leaveEmpty);
}
public void CopyValues(GameOptions source)
{
AlwaysIgnorePirates = source.AlwaysIgnorePirates;
AlwaysIgnorePolice = source.AlwaysIgnorePolice;
AlwaysIgnoreTradeInOrbit = source.AlwaysIgnoreTradeInOrbit;
AlwaysIgnoreTraders = source.AlwaysIgnoreTraders;
AutoFuel = source.AutoFuel;
AutoRepair = source.AutoRepair;
ContinuousAttack = source.ContinuousAttack;
ContinuousAttackFleeing = source.ContinuousAttackFleeing;
DisableOpponents = source.DisableOpponents;
NewsAutoPay = source.NewsAutoPay;
NewsAutoShow = source.NewsAutoShow;
RemindLoans = source.RemindLoans;
ReserveMoney = source.ReserveMoney;
ShowTrackedRange = source.ShowTrackedRange;
TrackAutoOff = source.TrackAutoOff;
LeaveEmpty = source.LeaveEmpty;
}
public void LoadFromDefaults(bool errorIfFileNotFound)
{
LoadFromDefaults(errorIfFileNotFound, null);
}
public void LoadFromDefaults(bool errorIfFileNotFound, System.Windows.Forms.IWin32Window owner)
{
GameOptions defaults = null;
object obj = Functions.LoadFile(Consts.DefaultSettingsFile, !errorIfFileNotFound, owner);
if (obj == null)
defaults = new GameOptions(false);
else
defaults = new GameOptions((Hashtable)obj);
CopyValues(defaults);
}
public void SaveAsDefaults(System.Windows.Forms.IWin32Window owner)
{
Functions.SaveFile(Consts.DefaultSettingsFile, Serialize(), owner);
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_alwaysIgnorePirates", _alwaysIgnorePirates);
hash.Add("_alwaysIgnorePolice", _alwaysIgnorePolice);
hash.Add("_alwaysIgnoreTradeInOrbit", _alwaysIgnoreTradeInOrbit);
hash.Add("_alwaysIgnoreTraders", _alwaysIgnoreTraders);
hash.Add("_autoFuel", _autoFuel);
hash.Add("_autoRepair", _autoRepair);
hash.Add("_continuousAttack", _continuousAttack);
hash.Add("_continuousAttackFleeing", _continuousAttackFleeing);
hash.Add("_disableOpponents", _disableOpponents);
hash.Add("_newsAutoPay", _newsAutoPay);
hash.Add("_newsAutoShow", _newsAutoShow);
hash.Add("_remindLoans", _remindLoans);
hash.Add("_reserveMoney", _reserveMoney);
hash.Add("_showTrackedRange", _showTrackedRange);
hash.Add("_trackAutoOff", _trackAutoOff);
hash.Add("_leaveEmpty", _leaveEmpty);
return hash;
}
#endregion
#region Properties
public bool AlwaysIgnorePirates
{
get
{
return _alwaysIgnorePirates;
}
set
{
_alwaysIgnorePirates = value;
}
}
public bool AlwaysIgnorePolice
{
get
{
return _alwaysIgnorePolice;
}
set
{
_alwaysIgnorePolice = value;
}
}
public bool AlwaysIgnoreTradeInOrbit
{
get
{
return _alwaysIgnoreTradeInOrbit;
}
set
{
_alwaysIgnoreTradeInOrbit = value;
}
}
public bool AlwaysIgnoreTraders
{
get
{
return _alwaysIgnoreTraders;
}
set
{
_alwaysIgnoreTraders = value;
}
}
public bool AutoFuel
{
get
{
return _autoFuel;
}
set
{
_autoFuel = value;
}
}
public bool AutoRepair
{
get
{
return _autoRepair;
}
set
{
_autoRepair = value;
}
}
public bool ContinuousAttack
{
get
{
return _continuousAttack;
}
set
{
_continuousAttack = value;
}
}
public bool ContinuousAttackFleeing
{
get
{
return _continuousAttackFleeing;
}
set
{
_continuousAttackFleeing = value;
}
}
public bool DisableOpponents
{
get
{
return _disableOpponents;
}
set
{
_disableOpponents = value;
}
}
public int LeaveEmpty
{
get
{
return _leaveEmpty;
}
set
{
_leaveEmpty = value;
}
}
public bool NewsAutoPay
{
get
{
return _newsAutoPay;
}
set
{
_newsAutoPay = value;
}
}
public bool NewsAutoShow
{
get
{
return _newsAutoShow;
}
set
{
_newsAutoShow = value;
}
}
public bool RemindLoans
{
get
{
return _remindLoans;
}
set
{
_remindLoans = value;
}
}
public bool ReserveMoney
{
get
{
return _reserveMoney;
}
set
{
_reserveMoney = value;
}
}
public bool ShowTrackedRange
{
get
{
return _showTrackedRange;
}
set
{
_showTrackedRange = value;
}
}
public bool TrackAutoOff
{
get
{
return _trackAutoOff;
}
set
{
_trackAutoOff = value;
}
}
#endregion
}
}
@@ -0,0 +1,172 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public class HighScoreRecord : STSerializableObject, IComparable
{
#region Member Declarations
private string _name;
private int _score;
private GameEndType _type;
private int _days;
private int _worth;
private Difficulty _difficulty;
#endregion
#region Methods
public HighScoreRecord(string name, int score, GameEndType type, int days, int worth, Difficulty difficulty)
{
_name = name;
_score = score;
_type = type;
_days = days;
_worth = worth;
_difficulty = difficulty;
}
public HighScoreRecord(Hashtable hash): base(hash)
{
_name = (string)GetValueFromHash(hash, "_name");
_score = (int)GetValueFromHash(hash, "_score");
_type = (GameEndType)GetValueFromHash(hash, "_type");
_days = (int)GetValueFromHash(hash, "_days");
_worth = (int)GetValueFromHash(hash, "_worth");
_difficulty = (Difficulty)GetValueFromHash(hash, "_difficulty");
}
public int CompareTo(object value)
{
int compared;
HighScoreRecord highScore = (HighScoreRecord)value;
if (value == null)
compared = 1;
else if (highScore.Score < Score)
compared = 1;
else if (highScore.Score > Score)
compared = -1;
else if (highScore.Worth < Worth)
compared = 1;
else if (highScore.Worth > Worth)
compared = -1;
else if (highScore.Days < Days)
compared = 1;
else if (highScore.Days > Days)
compared = -1;
else
compared = 0;
return compared;
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_name", _name);
hash.Add("_score", _score);
hash.Add("_type", (int)_type);
hash.Add("_days", _days);
hash.Add("_worth", _worth);
hash.Add("_difficulty", (int)_difficulty);
return hash;
}
#endregion
#region Operators
public static bool operator > (HighScoreRecord a, HighScoreRecord b)
{
return a.CompareTo(b) > 0;
}
public static bool operator < (HighScoreRecord a, HighScoreRecord b)
{
return a.CompareTo(b) < 0;
}
#endregion
#region Properties
public int Days
{
get
{
return _days;
}
}
public Difficulty Difficulty
{
get
{
return _difficulty;
}
}
public string Name
{
get
{
return _name;
}
}
public int Score
{
get
{
return _score;
}
}
public GameEndType Type
{
get
{
return _type;
}
}
public int Worth
{
get
{
return _worth;
}
}
#endregion
}
}
@@ -0,0 +1,83 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
namespace Fryz.Apps.SpaceTrader
{
public class PoliceRecord
{
#region Member Declarations
private PoliceRecordType _type;
private int _minScore;
#endregion
#region Methods
public PoliceRecord(PoliceRecordType type, int minScore)
{
_type = type;
_minScore = minScore;
}
public static PoliceRecord GetPoliceRecordFromScore(int PoliceRecordScore)
{
int i;
for (i = 0; i < Consts.PoliceRecords.Length && Game.CurrentGame.Commander.PoliceRecordScore >= Consts.PoliceRecords[i].MinScore; i++);
return Consts.PoliceRecords[Math.Max(0, i - 1)];
}
#endregion
#region Properties
public int MinScore
{
get
{
return _minScore;
}
}
public string Name
{
get
{
return Strings.PoliceRecordNames[(int)_type];
}
}
public PoliceRecordType Type
{
get
{
return _type;
}
}
#endregion
}
}
@@ -0,0 +1,189 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
namespace Fryz.Apps.SpaceTrader
{
public class PoliticalSystem
{
#region Member Declarations
private PoliticalSystemType _type;
private int _reactionIllegal; // Reaction level of illegal goods 0 = total acceptance (determines how police reacts if they find you carry them)
private Activity _activityPolice; // Activity level of police force 0 = no police (determines occurrence rate)
private Activity _activityPirates; // Activity level of pirates 0 = no pirates
private Activity _activityTraders; // Activity level of traders 0 = no traders
private TechLevel _minTech; // Mininum tech level needed
private TechLevel _maxTech; // Maximum tech level where this is found
private int _bribeLevel; // Indicates how easily someone can be bribed 0 = unbribeable/high bribe costs
private bool _drugsOk; // Drugs can be traded (if not, people aren't interested or the governemnt is too strict)
private bool _firearmsOk; // Firearms can be traded (if not, people aren't interested or the governemnt is too strict)
private TradeItemType _wanted; // Tradeitem requested in particular in this type of government
#endregion
#region Methods
public PoliticalSystem(PoliticalSystemType type, int reactionIllegal, Activity activityPolice, Activity activityPirates,
Activity activityTraders, TechLevel minTechLevel, TechLevel maxTechLevel, int bribeLevel, bool drugsOk,
bool firearmsOk, TradeItemType wanted)
{
_type = type;
_reactionIllegal = reactionIllegal;
_activityPolice = activityPolice;
_activityPirates = activityPirates;
_activityTraders = activityTraders;
_minTech = minTechLevel;
_maxTech = maxTechLevel;
_bribeLevel = bribeLevel;
_drugsOk = drugsOk;
_firearmsOk = firearmsOk;
_wanted = wanted;
}
public bool ShipTypeLikely(ShipType shipType, OpponentType oppType)
{
bool likely = false;
int diffMod = Math.Max(0, (int)Game.CurrentGame.Difficulty - (int)Difficulty.Normal);
switch (oppType)
{
case OpponentType.Pirate:
likely = (int)ActivityPirates + diffMod >= (int)Consts.ShipSpecs[(int)shipType].Pirates;
break;
case OpponentType.Police:
likely = (int)ActivityPolice + diffMod >= (int)Consts.ShipSpecs[(int)shipType].Police;
break;
case OpponentType.Trader:
likely = (int)ActivityTraders + diffMod >= (int)Consts.ShipSpecs[(int)shipType].Traders;
break;
}
return likely;
}
#endregion
#region Properties
public Activity ActivityPirates
{
get
{
return _activityPirates;
}
}
public Activity ActivityPolice
{
get
{
return _activityPolice;
}
}
public Activity ActivityTraders
{
get
{
return _activityTraders;
}
}
public int BribeLevel
{
get
{
return _bribeLevel;
}
}
public bool DrugsOk
{
get
{
return _drugsOk;
}
}
public bool FirearmsOk
{
get
{
return _firearmsOk;
}
}
public TechLevel MaximumTechLevel
{
get
{
return _maxTech;
}
}
public TechLevel MinimumTechLevel
{
get
{
return _minTech;
}
}
public string Name
{
get
{
return Strings.PoliticalSystemNames[(int)_type];
}
}
public int ReactionIllegal
{
get
{
return _reactionIllegal;
}
}
public PoliticalSystemType Type
{
get
{
return _type;
}
}
public TradeItemType Wanted
{
get
{
return _wanted;
}
}
#endregion
}
}
+83
View File
@@ -0,0 +1,83 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
namespace Fryz.Apps.SpaceTrader
{
public class Reputation
{
#region Member Declarations
private ReputationType _type;
private int _minScore;
#endregion
#region Methods
public Reputation(ReputationType type, int minScore)
{
_type = type;
_minScore = minScore;
}
public static Reputation GetReputationFromScore(int ReputationScore)
{
int i;
for (i = 0; i < Consts.Reputations.Length && Game.CurrentGame.Commander.ReputationScore >= Consts.Reputations[i].MinScore; i++);
return Consts.Reputations[Math.Max(0, i - 1)];
}
#endregion
#region Properties
public int MinScore
{
get
{
return _minScore;
}
}
public string Name
{
get
{
return Strings.ReputationNames[(int)_type];
}
}
public ReputationType Type
{
get
{
return _type;
}
}
#endregion
}
}
@@ -0,0 +1,161 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public abstract class STSerializableObject
{
#region Methods
public STSerializableObject()
{
}
public STSerializableObject(Hashtable hash)
{
}
/*
* Types currently supported:
* CrewMember
* Gadget
* HighScoreRecord
* Shield
* StarSystem
* Weapon
*
* If an array of a type not listed is converted using ArrayToArrayList, the type
* needs to be added here.
*/
public static STSerializableObject[] ArrayListToArray(ArrayList list, string type)
{
STSerializableObject[] array = null;
if (list != null)
{
switch (type)
{
case "CrewMember":
array = new CrewMember[list.Count];
break;
case "Gadget":
array = new Gadget[list.Count];
break;
case "HighScoreRecord":
array = new HighScoreRecord[list.Count];
break;
case "Shield":
array = new Shield[list.Count];
break;
case "StarSystem":
array = new StarSystem[list.Count];
break;
case "Weapon":
array = new Weapon[list.Count];
break;
}
for (int index = 0; index < list.Count; index++)
{
Hashtable hash = (Hashtable)list[index];
STSerializableObject obj = null;
if (hash != null)
{
switch (type)
{
case "CrewMember":
obj = new CrewMember(hash);
break;
case "Gadget":
obj = new Gadget(hash);
break;
case "HighScoreRecord":
obj = new HighScoreRecord(hash);
break;
case "Shield":
obj = new Shield(hash);
break;
case "StarSystem":
obj = new StarSystem(hash);
break;
case "Weapon":
obj = new Weapon(hash);
break;
}
}
array[index] = obj;
}
}
return array;
}
public static int[] ArrayListToIntArray(ArrayList list)
{
int[] array = new int[list.Count];
for (int index = 0; index < array.Length; index++)
array[index] = (int)list[index];
return array;
}
public static ArrayList ArrayToArrayList(STSerializableObject[] array)
{
ArrayList list = null;
if (array != null)
{
list = new ArrayList();
foreach (STSerializableObject obj in array)
list.Add(obj == null ? null : obj.Serialize());
}
return list;
}
public static object GetValueFromHash(Hashtable hash, string key)
{
return GetValueFromHash(hash, key, null);
}
public static object GetValueFromHash(Hashtable hash, string key, object defaultValue)
{
return hash.ContainsKey(key) ? hash[key] : defaultValue;
}
public virtual Hashtable Serialize()
{
return new Hashtable();
}
#endregion
}
}
+140
View File
@@ -0,0 +1,140 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public class Shield : Equipment
{
#region Member Declarations
private ShieldType _type;
private int _power;
private int _charge;
#endregion
#region Methods
public Shield(ShieldType type, int power, int price, TechLevel minTechLevel, int chance):
base(EquipmentType.Shield, price, minTechLevel, chance)
{
_type = type;
_power = power;
_charge = _power;
}
public Shield(Hashtable hash): base(hash)
{
_type = (ShieldType)GetValueFromHash(hash, "_type");
_power = (int)GetValueFromHash(hash, "_power");
_charge = (int)GetValueFromHash(hash, "_charge");
}
public override Equipment Clone()
{
Shield shield = new Shield(_type, _power, _price, _minTech, _chance);
shield.Charge = Charge;
return shield;
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_type", (int)_type);
hash.Add("_power", _power);
hash.Add("_charge", _charge);
return hash;
}
public override bool TypeEquals(object type)
{
bool equal = false;
try
{
if (Type == (ShieldType)type)
equal = true;
}
catch (Exception) {}
return equal;
}
#endregion
#region Properties
public int Charge
{
get
{
return _charge;
}
set
{
_charge = value;
}
}
public override string Name
{
get
{
return Strings.ShieldNames[(int)_type];
}
}
public int Power
{
get
{
return _power;
}
}
public ShieldType Type
{
get
{
return _type;
}
}
public override object SubType
{
get
{
return Type;
}
}
#endregion
}
}
File diff suppressed because it is too large. Load diff
+468
View File
@@ -0,0 +1,468 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
using System.Drawing;
namespace Fryz.Apps.SpaceTrader
{
public class ShipSpec : STSerializableObject
{
#region Member Declarations
private ShipType _type = ShipType.Custom;
private Size _size = Size.Tiny;
private int _cargoBays = 0;
private int _weaponSlots = 0;
private int _shieldSlots = 0;
private int _gadgetSlots = 0;
private int _crewQuarters = 0;
private int _fuelTanks = 0;
private int _fuelCost = 0;
private int _hullStrength = 0;
private int _repairCost = 0;
private int _price = 0;
private int _occurrence = 0;
private Activity _police = Activity.NA;
private Activity _pirates = Activity.NA;
private Activity _traders = Activity.NA;
private TechLevel _minTech = TechLevel.Unavailable;
private bool _hullUpgraded = false;
private int _imageIndex = Consts.ShipImgUseDefault;
#endregion
#region Methods
public ShipSpec()
{
}
public ShipSpec(ShipType type, Size size, int cargoBays, int weaponSlots, int shieldSlots, int gadgetSlots,
int crewQuarters, int fuelTanks, int fuelCost, int hullStrength, int repairCost, int price, int occurrence,
Activity police, Activity pirates, Activity traders, TechLevel minTechLevel)
{
_type = type;
_size = size;
_cargoBays = cargoBays;
_weaponSlots = weaponSlots;
_shieldSlots = shieldSlots;
_gadgetSlots = gadgetSlots;
_crewQuarters = crewQuarters;
_fuelTanks = fuelTanks;
_fuelCost = fuelCost;
_hullStrength = hullStrength;
_repairCost = repairCost;
_price = price;
_occurrence = occurrence;
_police = police;
_pirates = pirates;
_traders = traders;
_minTech = minTechLevel;
}
public ShipSpec(Hashtable hash): base(hash)
{
_type = (ShipType)GetValueFromHash(hash, "_type", _type);
_size = (Size)GetValueFromHash(hash, "_size", _size);
_cargoBays = (int)GetValueFromHash(hash, "_cargoBays", _cargoBays);
_weaponSlots = (int)GetValueFromHash(hash, "_weaponSlots", _weaponSlots);
_shieldSlots = (int)GetValueFromHash(hash, "_shieldSlots", _shieldSlots);
_gadgetSlots = (int)GetValueFromHash(hash, "_gadgetSlots", _gadgetSlots);
_crewQuarters = (int)GetValueFromHash(hash, "_crewQuarters", _crewQuarters);
_fuelTanks = (int)GetValueFromHash(hash, "_fuelTanks", _fuelTanks);
_fuelCost = (int)GetValueFromHash(hash, "_fuelCost", _fuelCost);
_hullStrength = (int)GetValueFromHash(hash, "_hullStrength", _hullStrength);
_repairCost = (int)GetValueFromHash(hash, "_repairCost", _repairCost);
_price = (int)GetValueFromHash(hash, "_price", _price);
_occurrence = (int)GetValueFromHash(hash, "_occurrence", _occurrence);
_police = (Activity)GetValueFromHash(hash, "_police", _police);
_pirates = (Activity)GetValueFromHash(hash, "_pirates", _pirates);
_traders = (Activity)GetValueFromHash(hash, "_traders", _traders);
_minTech = (TechLevel)GetValueFromHash(hash, "_minTech", _minTech);
_hullUpgraded = (bool)GetValueFromHash(hash, "_hullUpgraded", _hullUpgraded);
_imageIndex = (int)GetValueFromHash(hash, "_imageIndex", Consts.ShipImgUseDefault);
// Get the images if the ship uses the custom images.
if (ImageIndex == (int)ShipType.Custom)
Game.CurrentGame.ParentWindow.CustomShipImages = (Image[])GetValueFromHash(hash, "_images",
Game.CurrentGame.ParentWindow.CustomShipImages);
// Get the name if the ship is a custom design.
if (Type == ShipType.Custom)
{
Strings.ShipNames[(int)ShipType.Custom] = (string)GetValueFromHash(hash, "_name", Strings.ShipNames[(int)ShipType.Custom]);
Consts.ShipSpecs[(int)ShipType.Custom] = new ShipSpec(_type, _size, _cargoBays, _weaponSlots, _shieldSlots, _gadgetSlots, _crewQuarters, _fuelTanks, _fuelCost, _hullStrength, _repairCost, _price, _occurrence, _police, _pirates, _traders, _minTech);
UpdateCustomImageOffsetConstants();
}
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_type", (int)_type);
hash.Add("_size", (int)_size);
hash.Add("_cargoBays", _cargoBays);
hash.Add("_weaponSlots", _weaponSlots);
hash.Add("_shieldSlots", _shieldSlots);
hash.Add("_gadgetSlots", _gadgetSlots);
hash.Add("_crewQuarters", _crewQuarters);
hash.Add("_fuelTanks", _fuelTanks);
hash.Add("_fuelCost", _fuelCost);
hash.Add("_hullStrength", _hullStrength);
hash.Add("_repairCost", _repairCost);
hash.Add("_price", _price);
hash.Add("_occurrence", _occurrence);
hash.Add("_police", (int)_police);
hash.Add("_pirates", (int)_pirates);
hash.Add("_traders", (int)_traders);
hash.Add("_minTech", (int)_minTech);
hash.Add("_hullUpgraded", _hullUpgraded);
// Only save image index if it's not the default.
if (_imageIndex != Consts.ShipImgUseDefault)
hash.Add("_imageIndex", _imageIndex);
// Save the name if the ship is a custom design.
if (Type == ShipType.Custom)
hash.Add("_name", Name);
// Save the images if the ship uses the custom images.
if (ImageIndex == (int)ShipType.Custom)
hash.Add("_images", Game.CurrentGame.ParentWindow.CustomShipImages);
return hash;
}
protected virtual void SetValues(ShipType type)
{
int typeInt = (int)type;
_type = type;
_size = Consts.ShipSpecs[typeInt]._size;
_cargoBays = Consts.ShipSpecs[typeInt]._cargoBays;
_weaponSlots = Consts.ShipSpecs[typeInt]._weaponSlots;
_shieldSlots = Consts.ShipSpecs[typeInt]._shieldSlots;
_gadgetSlots = Consts.ShipSpecs[typeInt]._gadgetSlots;
_crewQuarters = Consts.ShipSpecs[typeInt]._crewQuarters;
_fuelTanks = Consts.ShipSpecs[typeInt]._fuelTanks;
_fuelCost = Consts.ShipSpecs[typeInt]._fuelCost;
_hullStrength = Consts.ShipSpecs[typeInt]._hullStrength;
_repairCost = Consts.ShipSpecs[typeInt]._repairCost;
_price = Consts.ShipSpecs[typeInt]._price;
_occurrence = Consts.ShipSpecs[typeInt]._occurrence;
_police = Consts.ShipSpecs[typeInt]._police;
_pirates = Consts.ShipSpecs[typeInt]._pirates;
_traders = Consts.ShipSpecs[typeInt]._traders;
_minTech = Consts.ShipSpecs[typeInt]._minTech;
_hullUpgraded = Consts.ShipSpecs[typeInt]._hullUpgraded;
_imageIndex = Consts.ShipSpecs[typeInt]._imageIndex;
}
public int Slots(EquipmentType type)
{
int count = 0;
switch (type)
{
case EquipmentType.Weapon:
count = WeaponSlots;
break;
case EquipmentType.Shield:
count = ShieldSlots;
break;
case EquipmentType.Gadget:
count = GadgetSlots;
break;
}
return count;
}
public void UpdateCustomImageOffsetConstants()
{
Image image = Game.CurrentGame.ParentWindow.CustomShipImages[0];
int custIndex = (int)ShipType.Custom;
// Find the first column of pixels that has a non-white pixel for the X value, and the last column for the width.
int x = Functions.GetColumnOfFirstNonWhitePixel(image, 1);
int width = Functions.GetColumnOfFirstNonWhitePixel(image, -1) - x + 1;
Consts.ShipImageOffsets[custIndex].X = Math.Max(2, x);
Consts.ShipImageOffsets[custIndex].Width = Math.Min(62 - Consts.ShipImageOffsets[custIndex].X, width);
}
#endregion
#region Properties
public virtual int CargoBays
{
get
{
return _cargoBays;
}
set
{
_cargoBays = value;
}
}
public int CrewQuarters
{
get
{
return _crewQuarters;
}
set
{
_crewQuarters = value;
}
}
public int FuelCost
{
get
{
return _fuelCost;
}
set
{
_fuelCost = value;
}
}
public virtual int FuelTanks
{
get
{
return _fuelTanks;
}
set
{
_fuelTanks = value;
}
}
public int GadgetSlots
{
get
{
return _gadgetSlots;
}
set
{
_gadgetSlots = value;
}
}
public int HullStrength
{
get
{
return _hullStrength + (HullUpgraded ? Consts.HullUpgrade : 0);
}
set
{
_hullStrength = value;
}
}
public bool HullUpgraded
{
get
{
return _hullUpgraded;
}
set
{
_hullUpgraded = value;
}
}
public Image Image
{
get
{
return Game.CurrentGame.ParentWindow.ShipImages.Images[ImageIndex * Consts.ImagesPerShip + Consts.ShipImgOffsetNormal];
}
}
public Image ImageDamaged
{
get
{
return Game.CurrentGame.ParentWindow.ShipImages.Images[ImageIndex * Consts.ImagesPerShip + Consts.ShipImgOffsetDamage];
}
}
public Image ImageDamagedWithShields
{
get
{
return Game.CurrentGame.ParentWindow.ShipImages.Images[ImageIndex * Consts.ImagesPerShip + Consts.ShipImgOffsetSheildDamage];
}
}
public int ImageIndex
{
get
{
return (_imageIndex == Consts.ShipImgUseDefault ? (int)Type : _imageIndex);
}
set
{
_imageIndex = (value == (int)Type ? Consts.ShipImgUseDefault : value) ;
}
}
public Image ImageWithShields
{
get
{
return Game.CurrentGame.ParentWindow.ShipImages.Images[ImageIndex * Consts.ImagesPerShip + Consts.ShipImgOffsetShield];
}
}
public TechLevel MinimumTechLevel
{
get
{
return _minTech;
}
}
public string Name
{
get
{
return Strings.ShipNames[(int)Type];
}
}
public int Occurrence
{
get
{
return _occurrence;
}
}
public Activity Police
{
get
{
return _police;
}
}
public Activity Pirates
{
get
{
return _pirates;
}
}
public int Price
{
get
{
return _price;
}
set
{
_price = value;
}
}
public int RepairCost
{
get
{
return _repairCost;
}
set
{
_repairCost = value;
}
}
public int ShieldSlots
{
get
{
return _shieldSlots;
}
set
{
_shieldSlots = value;
}
}
public Size Size
{
get
{
return _size;
}
set
{
_size = value;
}
}
public Activity Traders
{
get
{
return _traders;
}
}
public ShipType Type
{
get
{
return _type;
}
}
public int WeaponSlots
{
get
{
return _weaponSlots;
}
set
{
_weaponSlots = value;
}
}
#endregion
}
}
+266
View File
@@ -0,0 +1,266 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
using System.Drawing;
namespace Fryz.Apps.SpaceTrader
{
public class ShipTemplate : STSerializableObject, IComparable
{
#region Member Variables
private string _name = null;
private Size _size = Size.Tiny;
private int _imageIndex = (int)ShipType.Custom;
private int _cargoBays = 0;
private int _weaponSlots = 0;
private int _shieldSlots = 0;
private int _gadgetSlots = 0;
private int _crewQuarters = 0;
private int _fuelTanks = 0;
private int _hullStrength = 0;
private Image[] _images = null;
#endregion
#region Methods
public ShipTemplate(Size size, string name)
{
_name = name;
_size = size;
_images = Game.CurrentGame.ParentWindow.CustomShipImages;
}
public ShipTemplate(ShipSpec spec, string name)
{
_name = name;
_size = spec.Size;
_imageIndex = spec.ImageIndex;
_cargoBays = spec.CargoBays;
_weaponSlots = spec.WeaponSlots;
_shieldSlots = spec.ShieldSlots;
_gadgetSlots = spec.GadgetSlots;
_crewQuarters = spec.CrewQuarters;
_fuelTanks = spec.FuelTanks;
_hullStrength = spec.HullStrength;
if (ImageIndex == Consts.ShipImgUseDefault)
_images = Game.CurrentGame.ParentWindow.CustomShipImages;
}
public ShipTemplate(Hashtable hash)
{
_name = (string)GetValueFromHash(hash, "_name", _name);
_size = (Size)GetValueFromHash(hash, "_size", _size);
_imageIndex = (int)GetValueFromHash(hash, "_imageIndex", _imageIndex);
_cargoBays = (int)GetValueFromHash(hash, "_cargoBays", _cargoBays);
_weaponSlots = (int)GetValueFromHash(hash, "_weaponSlots", _weaponSlots);
_shieldSlots = (int)GetValueFromHash(hash, "_shieldSlots", _shieldSlots);
_gadgetSlots = (int)GetValueFromHash(hash, "_gadgetSlots", _gadgetSlots);
_crewQuarters = (int)GetValueFromHash(hash, "_crewQuarters", _crewQuarters);
_fuelTanks = (int)GetValueFromHash(hash, "_fuelTanks", _fuelTanks);
_hullStrength = (int)GetValueFromHash(hash, "_hullStrength", _hullStrength);
_images = (Image[])GetValueFromHash(hash, "_images", _images);
}
public int CompareTo(object value)
{
int compared = 0;
if (value == null)
compared = 1;
else
compared = Name.CompareTo(((ShipTemplate)value).Name);
return compared;
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_name", _name);
hash.Add("_size", (int)_size);
hash.Add("_imageIndex", _imageIndex);
hash.Add("_cargoBays", _cargoBays);
hash.Add("_weaponSlots", _weaponSlots);
hash.Add("_shieldSlots", _shieldSlots);
hash.Add("_gadgetSlots", _gadgetSlots);
hash.Add("_crewQuarters", _crewQuarters);
hash.Add("_fuelTanks", _fuelTanks);
hash.Add("_hullStrength", _hullStrength);
if (_images != null)
hash.Add("_images", _images);
return hash;
}
public override string ToString()
{
return Name;
}
#endregion
#region Properties
public int CargoBays
{
get
{
return _cargoBays;
}
set
{
_cargoBays = value;
}
}
public int CrewQuarters
{
get
{
return _crewQuarters;
}
set
{
_crewQuarters = value;
}
}
public int FuelTanks
{
get
{
return _fuelTanks;
}
set
{
_fuelTanks = value;
}
}
public int GadgetSlots
{
get
{
return _gadgetSlots;
}
set
{
_gadgetSlots = value;
}
}
public int HullStrength
{
get
{
return _hullStrength;
}
set
{
_hullStrength = value;
}
}
public int ImageIndex
{
get
{
return _imageIndex;
}
set
{
_imageIndex = value;
}
}
public Image[] Images
{
get
{
return _images;
}
set
{
_images = value;
}
}
public string Name
{
get
{
return _name;
}
set
{
_name = value;
}
}
public int ShieldSlots
{
get
{
return _shieldSlots;
}
set
{
_shieldSlots = value;
}
}
public Size Size
{
get
{
return _size;
}
set
{
_size = value;
}
}
public int WeaponSlots
{
get
{
return _weaponSlots;
}
set
{
_weaponSlots = value;
}
}
#endregion
}
}
+416
View File
@@ -0,0 +1,416 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
/// <summary>
/// Represents a shipyard orbiting a solar system in the universe.
/// In a shipyard, the player can design his own ship and have it constructed, for a fee.
/// </summary>
public class Shipyard
{
#region Constants
public static int[] COST_FUEL = new int[] { 1, 1, 1, 3, 5, 10 };
public static int[] COST_HULL = new int[] { 1, 5, 10, 15, 20, 40 };
public static int[] BASE_FUEL = new int[] { 15, 14, 13, 12, 11, 10 };
public static int[] BASE_HULL = new int[] { 10, 25, 50, 100, 150, 200 };
public static int[] DESIGN_FEE = new int[] { 2000, 5000, 10000, 20000, 40000, 100000 };
public static int[] MAX_UNITS = new int[] { 50, 100, 150, 200, 250, 999 };
public static int[] PER_UNIT_FUEL = new int[] { 3, 2, 1, 1, 1, 1 };
public static int[] PER_UNIT_HULL = new int[] { 35, 30, 25, 20, 15, 10 };
public static int[] PRICE_PER_UNIT = new int[] { 75, 250, 500, 750, 1000, 1200 };
public static int[] UNITS_CREW = new int[] { 20, 20, 20, 20, 20, 20 };
public static int[] UNITS_FUEL = new int[] { 1, 1, 1, 5, 10, 15 };
public static int[] UNITS_GADGET = new int[] { 5, 5, 5, 5, 5, 5 };
public static int[] UNITS_HULL = new int[] { 1, 2, 3, 4, 5, 6 };
public static int[] UNITS_SHIELD = new int[] { 10, 10, 10, 8, 8, 8 };
public static int[] UNITS_WEAPON = new int[] { 15, 15, 15, 10, 10, 10 };
// Fee and Price Per Unit 10% less for the specialty size, and 10% more for sizes more than 1 away
// from the specialty size.
public static int ADJUST_SIZE_DEFAULT = 100;
public static int ADJUST_SIZE_SPECIALTY = 90;
public static int ADJUST_SIZE_WEAKNESS = 110;
// One of the costs will be adjusted based on the shipyard's skill.
public static int ADJUST_SKILL_CREW = 2;
public static int ADJUST_SKILL_FUEL = 2;
public static int ADJUST_SKILL_HULL = 5;
public static int ADJUST_SKILL_SHIELD = 2;
public static int ADJUST_SKILL_WEAPON = 2;
// There is a crowding penalty for coming too close to the maximum. A modest penalty is imposed at
// one level, and a more severe penalty at a higher level.
public static int PENALTY_FIRST_PCT = 80;
public static int PENALTY_FIRST_FEE = 25;
public static int PENALTY_SECOND_PCT = 90;
public static int PENALTY_SECOND_FEE = 75;
#endregion
#region Member Variables
private ShipyardId _id;
private Size _specialtySize;
private ShipyardSkill _skill;
// Internal Variables
private int modCrew = 0;
private int modFuel = 0;
private int modHull = 0;
private int modShield = 0;
private int modWeapon = 0;
#endregion
#region Methods
public Shipyard(ShipyardId id, Size specialtySize, ShipyardSkill skill)
{
_id = id;
_specialtySize = specialtySize;
_skill = skill;
switch (Skill)
{
case ShipyardSkill.CrewQuarters:
modCrew = ADJUST_SKILL_CREW;
break;
case ShipyardSkill.FuelBase:
modFuel = ADJUST_SKILL_FUEL;
break;
case ShipyardSkill.HullPerUnit:
modHull = ADJUST_SKILL_HULL;
break;
case ShipyardSkill.ShieldSlotUnits:
modShield = ADJUST_SKILL_SHIELD;
break;
case ShipyardSkill.WeaponSlotUnits:
modWeapon = ADJUST_SKILL_WEAPON;
break;
}
}
// Calculate the ship's price (worth here, not the price paid), the fuel cost, and the repair cost.
public void CalculateDependantVariables()
{
ShipSpec.Price = BasePrice + PenaltyCost;
ShipSpec.FuelCost = CostFuel;
ShipSpec.RepairCost = CostHull;
}
#endregion
#region Properties
public int AdjustedDesignFee
{
get
{
return DESIGN_FEE[(int)ShipSpec.Size] * CostAdjustment / ADJUST_SIZE_DEFAULT;
}
}
public int AdjustedPenaltyCost
{
get
{
return PenaltyCost * CostAdjustment / ADJUST_SIZE_DEFAULT;
}
}
public int AdjustedPrice
{
get
{
return BasePrice * CostAdjustment / ADJUST_SIZE_DEFAULT;
}
}
public ArrayList AvailableSizes
{
get
{
ArrayList list = new ArrayList(6);
int begin = Math.Max((int)Size.Tiny, (int)SpecialtySize - 2);
int end = Math.Min((int)Size.Gargantuan, (int)SpecialtySize + 2);
for (int index = begin; index <= end; index++)
list.Add((Size)index);
return list;
}
}
public int BaseFuel
{
get
{
return BASE_FUEL[(int)ShipSpec.Size] + modFuel;
}
}
public int BaseHull
{
get
{
return BASE_HULL[(int)ShipSpec.Size];
}
}
public int BasePrice
{
get
{
return UnitsUsed * PricePerUnit;
}
}
public int CostAdjustment
{
get
{
int adjustment;
switch (Math.Abs((int)SpecialtySize - (int)ShipSpec.Size))
{
case 0:
adjustment = ADJUST_SIZE_SPECIALTY;
break;
case 1:
adjustment = ADJUST_SIZE_DEFAULT;
break;
default:
adjustment = ADJUST_SIZE_WEAKNESS;
break;
}
return adjustment;
}
}
public int CostFuel
{
get
{
return COST_FUEL[(int)ShipSpec.Size];
}
}
public int CostHull
{
get
{
return COST_HULL[(int)ShipSpec.Size];
}
}
public string Engineer
{
get
{
return Strings.ShipyardEngineers[(int)Id];
}
}
public ShipyardId Id
{
get
{
return _id;
}
}
public int MaxUnits
{
get
{
return MAX_UNITS[(int)ShipSpec.Size];
}
}
public string Name
{
get
{
return Strings.ShipyardNames[(int)Id];
}
}
public int PenaltyCost
{
get
{
int penalty = 0;
if (PercentOfMaxUnits >= PENALTY_SECOND_PCT)
penalty = PENALTY_SECOND_FEE;
else if (PercentOfMaxUnits >= PENALTY_FIRST_PCT)
penalty = PENALTY_FIRST_FEE;
return BasePrice * penalty / 100;
}
}
public int PercentOfMaxUnits
{
get
{
return UnitsUsed * 100 / MaxUnits;
}
}
public int PerUnitFuel
{
get
{
return PER_UNIT_FUEL[(int)ShipSpec.Size];
}
}
public int PerUnitHull
{
get
{
return PER_UNIT_HULL[(int)ShipSpec.Size] + modHull;
}
}
public int PricePerUnit
{
get
{
return PRICE_PER_UNIT[(int)ShipSpec.Size];
}
}
public ShipSpec ShipSpec
{
get
{
return Consts.ShipSpecs[(int)ShipType.Custom];
}
}
public ShipyardSkill Skill
{
get
{
return _skill;
}
}
public Size SpecialtySize
{
get
{
return _specialtySize;
}
}
public int TotalCost
{
get
{
return AdjustedPrice + AdjustedPenaltyCost + AdjustedDesignFee - TradeIn;
}
}
public int TradeIn
{
get
{
return Game.CurrentGame.Commander.Ship.Worth(false);
}
}
public int UnitsCrew
{
get
{
return UNITS_CREW[(int)ShipSpec.Size] - modCrew;
}
}
public int UnitsFuel
{
get
{
return UNITS_FUEL[(int)ShipSpec.Size];
}
}
public int UnitsGadgets
{
get
{
return UNITS_GADGET[(int)ShipSpec.Size];
}
}
public int UnitsHull
{
get
{
return UNITS_HULL[(int)ShipSpec.Size];
}
}
public int UnitsShields
{
get
{
return UNITS_SHIELD[(int)ShipSpec.Size] - modShield;
}
}
public int UnitsWeapons
{
get
{
return UNITS_WEAPON[(int)ShipSpec.Size] - modWeapon;
}
}
public int UnitsUsed
{
get
{
return ShipSpec.CargoBays +
ShipSpec.CrewQuarters * UnitsCrew +
(int)Math.Ceiling((double)(ShipSpec.FuelTanks - BaseFuel) / PerUnitFuel * UnitsFuel) +
ShipSpec.GadgetSlots * UnitsGadgets +
(ShipSpec.HullStrength - BaseHull) / PerUnitHull * UnitsHull +
ShipSpec.ShieldSlots * UnitsShields +
ShipSpec.WeaponSlots * UnitsWeapons;
}
}
#endregion
}
}
@@ -0,0 +1,38 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C# Express 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fryz.Apps.SpaceTrader", "Fryz.Apps.SpaceTrader.csproj", "{0ED352CE-6DA4-49C4-A458-93630C48F40D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Default = Debug|Default
Release|Default = Release|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0ED352CE-6DA4-49C4-A458-93630C48F40D}.Debug|Default.ActiveCfg = Debug|Any CPU
{0ED352CE-6DA4-49C4-A458-93630C48F40D}.Debug|Default.Build.0 = Debug|Any CPU
{0ED352CE-6DA4-49C4-A458-93630C48F40D}.Release|Default.ActiveCfg = Release|Any CPU
{0ED352CE-6DA4-49C4-A458-93630C48F40D}.Release|Default.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 4
SccProjectName0 = SpaceTraderWinSource
SccLocalPath0 = .
SccProvider0 = MSSCCI:PushOk\u0020CVS\u0020Proxy
CanCheckoutShared = true
SolutionUniqueID = {D2C652E9-B6B6-44CF-8D2B-96E6C5AA200C}
SccProjectUniqueName1 = Fryz.Apps.SpaceTrader.csproj
SccLocalPath1 = .
CanCheckoutShared = true
SccProjectUniqueName2 = SpaceTraderSetup\\SpaceTraderSetup.vdproj
SccLocalPath2 = .
CanCheckoutShared = true
SccProjectFilePathRelativizedFromConnection2 = SpaceTraderSetup\\
SccProjectUniqueName3 = STConvert\\STConvert.csproj
SccLocalPath3 = .
CanCheckoutShared = true
SccProjectFilePathRelativizedFromConnection3 = STConvert\\
EndGlobalSection
EndGlobal
+199
View File
@@ -0,0 +1,199 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public class SpecialEvent
{
#region Constants
public const int MoonCost = 500000;
public const int StatusArtifactNotStarted = 0;
public const int StatusArtifactOnBoard = 1;
public const int StatusArtifactDone = 2;
public const int StatusDragonflyNotStarted = 0;
public const int StatusDragonflyFlyBaratas = 1;
public const int StatusDragonflyFlyMelina = 2;
public const int StatusDragonflyFlyRegulas = 3;
public const int StatusDragonflyFlyZalkon = 4;
public const int StatusDragonflyDestroyed = 5;
public const int StatusDragonflyDone = 6;
public const int StatusExperimentNotStarted = 0;
public const int StatusExperimentStarted = 1;
public const int StatusExperimentDate = 11;
public const int StatusExperimentPerformed = 12;
public const int StatusExperimentCancelled = 13;
public const int StatusGemulonNotStarted = 0;
public const int StatusGemulonStarted = 1;
public const int StatusGemulonDate = 7;
public const int StatusGemulonTooLate = 8;
public const int StatusGemulonFuel = 9;
public const int StatusGemulonDone = 10;
public const int StatusJaporiNotStarted = 0;
public const int StatusJaporiInTransit = 1;
public const int StatusJaporiDone = 2;
public const int StatusJarekNotStarted = 0;
public const int StatusJarekStarted = 1;
public const int StatusJarekImpatient = 11;
public const int StatusJarekDone = 12;
public const int StatusMoonNotStarted = 0;
public const int StatusMoonBought = 1;
public const int StatusMoonDone = 2;
public const int StatusPrincessNotStarted = 0;
public const int StatusPrincessFlyCentauri = 1;
public const int StatusPrincessFlyInthara = 2;
public const int StatusPrincessFlyQonos = 3;
public const int StatusPrincessRescued = 4;
public const int StatusPrincessImpatient = 14;
public const int StatusPrincessReturned = 15;
public const int StatusPrincessDone = 16;
public const int StatusReactorNotStarted = 0;
public const int StatusReactorFuelOk = 1;
public const int StatusReactorDate = 20;
public const int StatusReactorDelivered = 21;
public const int StatusReactorDone = 22;
public const int StatusScarabNotStarted = 0;
public const int StatusScarabHunting = 1;
public const int StatusScarabDestroyed = 2;
public const int StatusScarabDone = 3;
public const int StatusSculptureNotStarted = 0;
public const int StatusSculptureInTransit = 1;
public const int StatusSculptureDelivered = 2;
public const int StatusSculptureDone = 3;
public const int StatusSpaceMonsterNotStarted = 0;
public const int StatusSpaceMonsterAtAcamar = 1;
public const int StatusSpaceMonsterDestroyed = 2;
public const int StatusSpaceMonsterDone = 3;
public const int StatusWildNotStarted = 0;
public const int StatusWildStarted = 1;
public const int StatusWildImpatient = 11;
public const int StatusWildDone = 12;
#endregion
#region Member Declarations
private SpecialEventType _type;
private int _price;
private int _occurrence;
private bool _messageOnly;
#endregion
#region Methods
public SpecialEvent(SpecialEventType type, int price, int occurrence, bool messageOnly)
{
_type = type;
_price = price;
_occurrence = occurrence;
_messageOnly = messageOnly;
}
#endregion
#region Properties
public StarSystem Location
{
get
{
StarSystem location = null;
StarSystem[] universe = Game.CurrentGame.Universe;
for (int i = 0; i < universe.Length && location == null; i++)
if (universe[i].SpecialEventType == Type)
location = universe[i];
return location;
}
}
public bool MessageOnly
{
get
{
return _messageOnly;
}
}
public int Occurrence
{
get
{
return _occurrence;
}
}
public int Price
{
get
{
return _price;
}
}
public string String
{
get
{
return Strings.SpecialEventStrings[(int)_type];
}
}
public string Title
{
get
{
return Strings.SpecialEventTitles[(int)_type];
}
}
public SpecialEventType Type
{
get
{
return _type;
}
}
#endregion
}
}
+502
View File
@@ -0,0 +1,502 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public class StarSystem : STSerializableObject
{
#region Member Declarations
private StarSystemId _id;
private int _x;
private int _y;
private Size _size;
private TechLevel _techLevel;
private PoliticalSystemType _politicalSystemType;
private SystemPressure _systemPressure;
private SpecialResource _specialResource;
private SpecialEventType _specialEventType = SpecialEventType.NA;
private int[] _tradeItems = new int[10];
private int _countDown = 0;
private bool _visited = false;
private ShipyardId _shipyardId = ShipyardId.NA;
#endregion
#region Methods
public StarSystem(StarSystemId id, int x, int y, Size size, TechLevel techLevel,
PoliticalSystemType politicalSystemType, SystemPressure systemPressure, SpecialResource specialResource)
{
_id = id;
_x = x;
_y = y;
_size = size;
_techLevel = techLevel;
_politicalSystemType = politicalSystemType;
_systemPressure = systemPressure;
_specialResource = specialResource;
InitializeTradeItems();
}
public StarSystem(Hashtable hash): base(hash)
{
_id = (StarSystemId)GetValueFromHash(hash, "_id", _id);
_x = (int)GetValueFromHash(hash, "_x", _x);
_y = (int)GetValueFromHash(hash, "_y", _y);
_size = (Size)GetValueFromHash(hash, "_size", _size);
_techLevel = (TechLevel)GetValueFromHash(hash, "_techLevel", _techLevel);
_politicalSystemType = (PoliticalSystemType)GetValueFromHash(hash, "_politicalSystemType", _politicalSystemType);
_systemPressure = (SystemPressure)GetValueFromHash(hash, "_systemPressure", _systemPressure);
_specialResource = (SpecialResource)GetValueFromHash(hash, "_specialResource", _specialResource);
_specialEventType = (SpecialEventType)GetValueFromHash(hash, "_specialEventType", _specialEventType);
_tradeItems = (int[])GetValueFromHash(hash, "_tradeItems", _tradeItems);
_countDown = (int)GetValueFromHash(hash, "_countDown", _countDown);
_visited = (bool)GetValueFromHash(hash, "_visited", _visited);
_shipyardId = (ShipyardId)GetValueFromHash(hash, "_shipyardId", _shipyardId);
}
public void InitializeTradeItems()
{
for (int i = 0; i < Consts.TradeItems.Length; i++)
{
if (!ItemTraded(Consts.TradeItems[i]))
{
_tradeItems[i] = 0;
}
else
{
_tradeItems[i] = ((int)this.Size + 1) * (Functions.GetRandom(9, 14) -
Math.Abs(Consts.TradeItems[i].TechTopProduction - this.TechLevel));
// Because of the enormous profits possible, there shouldn't be too many robots or narcotics available.
if (i >= (int)TradeItemType.Narcotics)
_tradeItems[i] = ((_tradeItems[i] * (5 - (int)Game.CurrentGame.Difficulty)) / (6 - (int)Game.CurrentGame.Difficulty)) + 1;
if (this.SpecialResource == Consts.TradeItems[i].ResourceLowPrice)
_tradeItems[i] = _tradeItems[i] * 4 / 3;
if (this.SpecialResource == Consts.TradeItems[i].ResourceHighPrice)
_tradeItems[i] = _tradeItems[i] * 3 / 4;
if (this.SystemPressure == Consts.TradeItems[i].PressurePriceHike)
_tradeItems[i] = _tradeItems[i] / 5;
_tradeItems[i] = _tradeItems[i] - Functions.GetRandom(10) + Functions.GetRandom(10);
if (_tradeItems[i] < 0)
_tradeItems[i] = 0;
}
}
}
public bool ItemTraded(TradeItem item)
{
return ((item.Type != TradeItemType.Narcotics || PoliticalSystem.DrugsOk) &&
(item.Type != TradeItemType.Firearms || PoliticalSystem.FirearmsOk) &&
TechLevel >= item.TechProduction);
}
public bool ItemUsed(TradeItem item)
{
return ((item.Type != TradeItemType.Narcotics || PoliticalSystem.DrugsOk) &&
(item.Type != TradeItemType.Firearms || PoliticalSystem.FirearmsOk) &&
TechLevel >= item.TechUsage);
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_id", (int)_id);
hash.Add("_x", _x);
hash.Add("_y", _y);
hash.Add("_size", (int)_size);
hash.Add("_techLevel", (int)_techLevel);
hash.Add("_politicalSystemType", (int)_politicalSystemType);
hash.Add("_systemPressure", (int)_systemPressure);
hash.Add("_specialResource", (int)_specialResource);
hash.Add("_specialEventType", (int)_specialEventType);
hash.Add("_tradeItems", _tradeItems);
hash.Add("_countDown", _countDown);
hash.Add("_visited", _visited);
hash.Add("_shipyardId", (int)_shipyardId);
return hash;
}
public bool ShowSpecialButton()
{
Game game = Game.CurrentGame;
bool show = false;
switch (SpecialEventType)
{
case SpecialEventType.Artifact:
case SpecialEventType.Dragonfly:
case SpecialEventType.Experiment:
case SpecialEventType.Jarek:
show = game.Commander.PoliceRecordScore >= Consts.PoliceRecordScoreDubious;
break;
case SpecialEventType.ArtifactDelivery:
show = game.Commander.Ship.ArtifactOnBoard;
break;
case SpecialEventType.CargoForSale:
show = game.Commander.Ship.FreeCargoBays >= 3;
break;
case SpecialEventType.DragonflyBaratas:
show = game.QuestStatusDragonfly > SpecialEvent.StatusDragonflyNotStarted &&
game.QuestStatusDragonfly < SpecialEvent.StatusDragonflyDestroyed;
break;
case SpecialEventType.DragonflyDestroyed:
show = game.QuestStatusDragonfly == SpecialEvent.StatusDragonflyDestroyed;
break;
case SpecialEventType.DragonflyMelina:
show = game.QuestStatusDragonfly > SpecialEvent.StatusDragonflyFlyBaratas &&
game.QuestStatusDragonfly < SpecialEvent.StatusDragonflyDestroyed;
break;
case SpecialEventType.DragonflyRegulas:
show = game.QuestStatusDragonfly > SpecialEvent.StatusDragonflyFlyMelina &&
game.QuestStatusDragonfly < SpecialEvent.StatusDragonflyDestroyed;
break;
case SpecialEventType.DragonflyShield:
case SpecialEventType.ExperimentFailed:
case SpecialEventType.Gemulon:
case SpecialEventType.GemulonFuel:
case SpecialEventType.GemulonInvaded:
case SpecialEventType.Lottery:
case SpecialEventType.ReactorLaser:
case SpecialEventType.PrincessQuantum:
case SpecialEventType.SculptureHiddenBays:
case SpecialEventType.Skill:
case SpecialEventType.SpaceMonster:
case SpecialEventType.Tribble:
show = true;
break;
case SpecialEventType.EraseRecord:
case SpecialEventType.Wild:
show = game.Commander.PoliceRecordScore < Consts.PoliceRecordScoreDubious;
break;
case SpecialEventType.ExperimentStopped:
show = game.QuestStatusExperiment > SpecialEvent.StatusExperimentNotStarted &&
game.QuestStatusExperiment < SpecialEvent.StatusExperimentPerformed;
break;
case SpecialEventType.GemulonRescued:
show = game.QuestStatusGemulon > SpecialEvent.StatusGemulonNotStarted &&
game.QuestStatusGemulon < SpecialEvent.StatusGemulonTooLate;
break;
case SpecialEventType.Japori:
show = game.QuestStatusJapori == SpecialEvent.StatusJaporiNotStarted &&
game.Commander.PoliceRecordScore >= Consts.PoliceRecordScoreDubious;
break;
case SpecialEventType.JaporiDelivery:
show = game.QuestStatusJapori == SpecialEvent.StatusJaporiInTransit;
break;
case SpecialEventType.JarekGetsOut:
show = game.Commander.Ship.JarekOnBoard;
break;
case SpecialEventType.Moon:
show = game.QuestStatusMoon == SpecialEvent.StatusMoonNotStarted &&
game.Commander.Worth > SpecialEvent.MoonCost * .8;
break;
case SpecialEventType.MoonRetirement:
show = game.QuestStatusMoon == SpecialEvent.StatusMoonBought;
break;
case SpecialEventType.Princess:
show = game.Commander.PoliceRecordScore >= Consts.PoliceRecordScoreLawful &&
game.Commander.ReputationScore >= Consts.ReputationScoreAverage;
break;
case SpecialEventType.PrincessCentauri:
show = game.QuestStatusPrincess >= SpecialEvent.StatusPrincessFlyCentauri &&
game.QuestStatusPrincess <= SpecialEvent.StatusPrincessFlyQonos;
break;
case SpecialEventType.PrincessInthara:
show = game.QuestStatusPrincess >= SpecialEvent.StatusPrincessFlyInthara &&
game.QuestStatusPrincess <= SpecialEvent.StatusPrincessFlyQonos;
break;
case SpecialEventType.PrincessQonos:
show = game.QuestStatusPrincess == SpecialEvent.StatusPrincessRescued &&
!game.Commander.Ship.PrincessOnBoard;
break;
case SpecialEventType.PrincessReturned:
show = game.Commander.Ship.PrincessOnBoard;
break;
case SpecialEventType.Reactor:
show = game.QuestStatusReactor == SpecialEvent.StatusReactorNotStarted &&
game.Commander.PoliceRecordScore < Consts.PoliceRecordScoreDubious &&
game.Commander.ReputationScore >= Consts.ReputationScoreAverage;
break;
case SpecialEventType.ReactorDelivered:
show = game.Commander.Ship.ReactorOnBoard;
break;
case SpecialEventType.Scarab:
show = game.QuestStatusScarab == SpecialEvent.StatusScarabNotStarted &&
game.Commander.ReputationScore >= Consts.ReputationScoreAverage;
break;
case SpecialEventType.ScarabDestroyed:
case SpecialEventType.ScarabUpgradeHull:
show = game.QuestStatusScarab == SpecialEvent.StatusScarabDestroyed;
break;
case SpecialEventType.Sculpture:
show = game.QuestStatusSculpture == SpecialEvent.StatusSculptureNotStarted &&
game.Commander.PoliceRecordScore < Consts.PoliceRecordScoreDubious &&
game.Commander.ReputationScore >= Consts.ReputationScoreAverage;
break;
case SpecialEventType.SculptureDelivered:
show = game.QuestStatusSculpture == SpecialEvent.StatusSculptureInTransit;
break;
case SpecialEventType.SpaceMonsterKilled:
show = game.QuestStatusSpaceMonster == SpecialEvent.StatusSpaceMonsterDestroyed;
break;
case SpecialEventType.TribbleBuyer:
show = game.Commander.Ship.Tribbles > 0;
break;
case SpecialEventType.WildGetsOut:
show = game.Commander.Ship.WildOnBoard;
break;
default:
break;
}
return show;
}
#endregion
#region Properties
public int CountDown
{
get
{
return _countDown;
}
set
{
_countDown = value;
}
}
public bool DestOk
{
get
{
Commander comm = Game.CurrentGame.Commander;
return this != comm.CurrentSystem && (Distance <= comm.Ship.Fuel ||
Functions.WormholeExists(comm.CurrentSystem, this));
}
}
public int Distance
{
get
{
return Functions.Distance(this, Game.CurrentGame.Commander.CurrentSystem);
}
}
public StarSystemId Id
{
get
{
return _id;
}
}
public CrewMember[] MercenariesForHire
{
get
{
Commander cmdr = Game.CurrentGame.Commander;
CrewMember[] mercs = Game.CurrentGame.Mercenaries;
ArrayList forHire = new ArrayList(3);
for (int i = 1; i < mercs.Length; i++)
{
if (mercs[i].CurrentSystem == cmdr.CurrentSystem && !cmdr.Ship.HasCrew(mercs[i].Id))
forHire.Add(mercs[i]);
}
return (CrewMember[])forHire.ToArray(typeof(CrewMember));
}
}
public string Name
{
get
{
return Strings.SystemNames[(int)_id];
}
}
public PoliticalSystem PoliticalSystem
{
get
{
return Consts.PoliticalSystems[(int)_politicalSystemType];
}
}
public PoliticalSystemType PoliticalSystemType
{
get
{
return _politicalSystemType;
}
set
{
_politicalSystemType = value;
}
}
public Shipyard Shipyard
{
get
{
return (_shipyardId == ShipyardId.NA ? null : Consts.Shipyards[(int)_shipyardId]);
}
}
public ShipyardId ShipyardId
{
get
{
return _shipyardId;
}
set
{
_shipyardId = value;
}
}
public Size Size
{
get
{
return _size;
}
}
public SpecialEvent SpecialEvent
{
get
{
return (_specialEventType == SpecialEventType.NA ? null : Consts.SpecialEvents[(int)_specialEventType]);
}
}
public SpecialEventType SpecialEventType
{
get
{
return _specialEventType;
}
set
{
_specialEventType = value;
}
}
public SpecialResource SpecialResource
{
get
{
return Visited ? _specialResource : SpecialResource.Nothing;
}
}
public SystemPressure SystemPressure
{
get
{
return _systemPressure;
}
set
{
_systemPressure = value;
}
}
public TechLevel TechLevel
{
get
{
return _techLevel;
}
set
{
_techLevel = value;
}
}
public int[] TradeItems
{
get
{
return _tradeItems;
}
}
public bool Visited
{
get
{
return _visited;
}
set
{
_visited = value;
}
}
public int X
{
get
{
return _x;
}
set
{
_x = value;
}
}
public int Y
{
get
{
return _y;
}
set
{
_y = value;
}
}
#endregion
}
}
File diff suppressed because it is too large. Load diff
+242
View File
@@ -0,0 +1,242 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
namespace Fryz.Apps.SpaceTrader
{
public class TradeItem: IComparable
{
#region Member Declarations
private TradeItemType _type;
private TechLevel _techProduction; // Tech level needed for production
private TechLevel _techUsage; // Tech level needed to use
private TechLevel _techTopProduction; // Tech level which produces this item the most
private int _piceLowTech; // Medium price at lowest tech level
private int _priceInc; // Price increase per tech level
private int _priceVariance; // Max percentage above or below calculated price
private SystemPressure _pressurePriceHike; // Price increases considerably when this event occurs
private SpecialResource _resourceLowPrice; // When this resource is available, this trade item is cheap
private SpecialResource _resourceHighPrice; // When this resource is available, this trade item is expensive
private int _minTradePrice; // Minimum price to buy/sell in orbit
private int _maxTradePrice; // Minimum price to buy/sell in orbit
private int _roundOff; // Roundoff price for trade in orbit
#endregion
#region Methods
public TradeItem(TradeItemType type, TechLevel techProduction, TechLevel techUsage,
TechLevel techTopProduction, int piceLowTech, int priceInc, int priceVariance,
SystemPressure pressurePriceHike, SpecialResource resourceLowPrice, SpecialResource resourceHighPrice,
int minTradePrice, int maxTradePrice, int roundOff)
{
_type = type;
_techProduction = techProduction;
_techUsage = techUsage;
_techTopProduction = techTopProduction;
_piceLowTech = piceLowTech;
_priceInc = priceInc;
_priceVariance = priceVariance;
_pressurePriceHike = pressurePriceHike;
_resourceLowPrice = resourceLowPrice;
_resourceHighPrice = resourceHighPrice;
_minTradePrice = minTradePrice;
_maxTradePrice = maxTradePrice;
_roundOff = roundOff;
}
public int CompareTo(object value)
{
int compared = 0;
if (value == null)
compared = 1;
else
{
compared = PriceLowTech.CompareTo(((TradeItem)value).PriceLowTech);
if (compared == 0)
compared = -PriceInc.CompareTo(((TradeItem)value).PriceInc);
}
return compared;
}
public int StandardPrice(StarSystem target)
{
int price = 0;
if (target.ItemUsed(this))
{
// Determine base price on techlevel of system
price = PriceLowTech + (int)target.TechLevel * PriceInc;
// If a good is highly requested, increase the price
if (target.PoliticalSystem.Wanted == Type)
price = price * 4 / 3;
// High trader activity decreases prices
price = price * (100 - 2 * (int)target.PoliticalSystem.ActivityTraders) / 100;
// Large system = high production decreases prices
price = price * (100 - (int)target.Size) / 100;
// Special resources price adaptation
if (target.SpecialResource == ResourceLowPrice)
price = price * 3 / 4;
else if (target.SpecialResource == ResourceHighPrice)
price = price * 4 / 3;
}
return price;
}
#endregion
#region Properties
public bool Illegal
{
get
{
return Type == TradeItemType.Firearms || Type == TradeItemType.Narcotics;
}
}
public int MaxTradePrice
{
get
{
return _maxTradePrice;
}
}
public int MinTradePrice
{
get
{
return _minTradePrice;
}
}
public string Name
{
get
{
return Strings.TradeItemNames[(int)_type];
}
}
public SystemPressure PressurePriceHike
{
get
{
return _pressurePriceHike;
}
}
public int PriceInc
{
get
{
return _priceInc;
}
}
public int PriceLowTech
{
get
{
return _piceLowTech;
}
}
public int PriceVariance
{
get
{
return _priceVariance;
}
}
public SpecialResource ResourceHighPrice
{
get
{
return _resourceHighPrice;
}
}
public SpecialResource ResourceLowPrice
{
get
{
return _resourceLowPrice;
}
}
public int RoundOff
{
get
{
return _roundOff;
}
}
public TechLevel TechProduction
{
get
{
return _techProduction;
}
}
public TechLevel TechTopProduction
{
get
{
return _techTopProduction;
}
}
public TechLevel TechUsage
{
get
{
return _techUsage;
}
}
public TradeItemType Type
{
get
{
return _type;
}
}
#endregion
}
}
+133
View File
@@ -0,0 +1,133 @@
/*******************************************************************************
*
* Space Trader for Windows 2.00
*
* Copyright (C) 2005 Jay French, All Rights Reserved
*
* Additional coding by David Pierron
* Original coding by Pieter Spronck, Sam Anderson, Samuel Goldstein, Matt Lee
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* If you'd like a copy of the GNU General Public License, go to
* http://www.gnu.org/copyleft/gpl.html.
*
* You can contact the author at spacetrader@frenchfryz.com
*
******************************************************************************/
using System;
using System.Collections;
namespace Fryz.Apps.SpaceTrader
{
public class Weapon : Equipment
{
#region Member Declarations
private WeaponType _type;
private int _power;
private bool _disabling;
#endregion
#region Methods
public Weapon(WeaponType type, int power, bool disabling, int price, TechLevel minTechLevel, int chance):
base(EquipmentType.Weapon, price, minTechLevel, chance)
{
_type = type;
_power = power;
_disabling = disabling;
}
public Weapon(Hashtable hash): base(hash)
{
_type = (WeaponType)GetValueFromHash(hash, "_type");
_power = (int)GetValueFromHash(hash, "_power");
_disabling = (bool)GetValueFromHash(hash, "_disabling", false);
}
public override Equipment Clone()
{
return new Weapon(_type, _power, _disabling, _price, _minTech, _chance);
}
public override Hashtable Serialize()
{
Hashtable hash = base.Serialize();
hash.Add("_type", (int)_type);
hash.Add("_power", _power);
hash.Add("_disabling", _disabling);
return hash;
}
public override bool TypeEquals(object type)
{
bool equal = false;
try
{
if (Type == (WeaponType)type)
equal = true;
}
catch (Exception) {}
return equal;
}
#endregion
#region Properties
public bool Disabling
{
get
{
return _disabling;
}
}
public override string Name
{
get
{
return Strings.WeaponNames[(int)_type];
}
}
public int Power
{
get
{
return _power;
}
}
public override object SubType
{
get
{
return Type;
}
}
public WeaponType Type
{
get
{
return _type;
}
}
#endregion
}
}
@@ -0,0 +1 @@
pspbrwse.jbf
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Loaded 100 of 208 files, more files were not shown because too many files have changed in this diff. Show more