Updated ServerGridEditor

This commit is contained in:
GrapeshotGames 2019-09-25 19:12:36 -04:00
parent 098b18516e
commit cffac3d0df
688 changed files with 116031 additions and 43524 deletions

View file

@ -280,6 +280,8 @@ namespace AtlasGridDataLibrary
public int id;
public Dictionary<string, string> spawnerOverrides = new Dictionary<string, string>();
public List<string> treasureMapSpawnPoints = new List<string>();
public List<string> wildPirateCampSpawnPoints = new List<string>();
public float minTreasureQuality = -1;
public float maxTreasureQuality = -1;
public bool useNpcVolumesForTreasures = false;
@ -317,6 +319,11 @@ namespace AtlasGridDataLibrary
public float islandWidth;
public float islandHeight;
public float singleSpawnPointX;
public float singleSpawnPointY;
public float singleSpawnPointZ;
}
public class DiscoveryZoneData : MoveableObjectData
{

View file

@ -23,6 +23,10 @@ namespace ServerGridEditor
public List<string> sublevelNames;
public Dictionary<string, string> spawnerOverrides = new Dictionary<string, string>();
public List<string> extraSublevels;
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore, NullValueHandling = NullValueHandling.Ignore)]
public List<string> treasureMapSpawnPoints;
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore, NullValueHandling = NullValueHandling.Ignore)]
public List<string> wildPirateCampSpawnPoints;
[DefaultValue(-1.0f)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public float minTreasureQuality;
@ -44,7 +48,15 @@ namespace ServerGridEditor
[DefaultValue(1)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public int islandPoints;
[DefaultValue(0)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public float singleSpawnPointX;
[DefaultValue(0)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public float singleSpawnPointY;
[DefaultValue(0)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public float singleSpawnPointZ;
[JsonIgnore]
public string modDir = null;
@ -95,8 +107,8 @@ namespace ServerGridEditor
}
public Island(string name, float x, float y, string imagePath, int landscapeMaterialOverride
, List<string> sublevelNames, Dictionary<string, string> spawnerOverrides, float minTreasureQuality, float maxTreasureQuality, bool useNpcVolumesForTreasures,
bool useLevelBoundsForTreasures, bool prioritizeVolumesForTreasures, string IslandTreasureBottleSupplyCrateOverrides, List<string> extraSublevels, int islandPoints)
, List<string> sublevelNames, Dictionary<string, string> spawnerOverrides, List<string> treasureMapSpawnPoints, List<string> wildPirateCampSpawnPoints, float minTreasureQuality, float maxTreasureQuality, bool useNpcVolumesForTreasures,
bool useLevelBoundsForTreasures, bool prioritizeVolumesForTreasures, string IslandTreasureBottleSupplyCrateOverrides, List<string> extraSublevels, int islandPoints, float sPlayerSpawnPointX, float sPlayerSpawnPointY, float sPlayerSpawnPointZ)
{
this.name = name;
this.x = x;
@ -105,6 +117,8 @@ namespace ServerGridEditor
this.landscapeMaterialOverride = landscapeMaterialOverride;
this.sublevelNames = sublevelNames;
this.spawnerOverrides = spawnerOverrides;
this.treasureMapSpawnPoints = treasureMapSpawnPoints;
this.wildPirateCampSpawnPoints = wildPirateCampSpawnPoints;
this.minTreasureQuality = minTreasureQuality;
this.maxTreasureQuality = maxTreasureQuality;
this.useNpcVolumesForTreasures = useNpcVolumesForTreasures;
@ -113,6 +127,9 @@ namespace ServerGridEditor
this.islandTreasureBottleSupplyCrateOverrides = IslandTreasureBottleSupplyCrateOverrides;
this.extraSublevels = extraSublevels;
this.islandPoints = islandPoints;
this.singleSpawnPointX = sPlayerSpawnPointX;
this.singleSpawnPointY = sPlayerSpawnPointY;
this.singleSpawnPointZ = sPlayerSpawnPointZ;
}
}
@ -143,6 +160,9 @@ namespace ServerGridEditor
Data.islandHeight = height;
Data.islandPoints = 1;
Data.singleSpawnPointX = 0;
Data.singleSpawnPointY = 0;
Data.singleSpawnPointZ = 0;
return Data;
}

View file

@ -141,7 +141,9 @@ namespace ServerGridEditor
{
foreach (string sublevelName in referencedIsland.sublevelNames)
Data.sublevels.Add(new SublevelSerializationObject() { name = sublevelName, id = instance.id, additionalTranslationX = relativePoint.X, additionalTranslationY = relativePoint.Y, additionalRotationYaw = instance.rotation, landscapeMaterialOverride = referencedIsland.landscapeMaterialOverride });
instance.treasureMapSpawnPoints = referencedIsland.treasureMapSpawnPoints;
instance.wildPirateCampSpawnPoints = referencedIsland.wildPirateCampSpawnPoints;
instance.minTreasureQuality = referencedIsland.minTreasureQuality;
instance.maxTreasureQuality = referencedIsland.maxTreasureQuality;
instance.useNpcVolumesForTreasures = referencedIsland.useNpcVolumesForTreasures;
@ -152,6 +154,9 @@ namespace ServerGridEditor
instance.islandWidth = referencedIsland.x;
instance.islandHeight = referencedIsland.y;
instance.islandPoints = referencedIsland.islandPoints;
instance.singleSpawnPointX = referencedIsland.singleSpawnPointX;
instance.singleSpawnPointY = referencedIsland.singleSpawnPointY;
instance.singleSpawnPointZ = referencedIsland.singleSpawnPointZ;
}
instance.SyncOverridesWithTemplates(mainForm);
@ -621,6 +626,9 @@ namespace ServerGridEditor
deserializedIslandInstance.useNpcVolumesForTreasures = false;
deserializedIslandInstance.islandTreasureBottleSupplyCrateOverrides = "";
deserializedIslandInstance.islandPoints = 1;
deserializedIslandInstance.singleSpawnPointX = 0;
deserializedIslandInstance.singleSpawnPointY = 0;
deserializedIslandInstance.singleSpawnPointZ = 0;
//deserializedIslandInstance.spawnPointRegionOverride = -1;
islandInstances.Add(deserializedIslandInstance);

View file

@ -66,6 +66,17 @@
this.modNameTxtBox = new System.Windows.Forms.TextBox();
this.islandPointsTxtBox = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.label17 = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.singleSpawnPointYTxtBox = new System.Windows.Forms.TextBox();
this.singleSpawnPointXTxtBox = new System.Windows.Forms.TextBox();
this.label19 = new System.Windows.Forms.Label();
this.singleSpawnPointZTxtBox = new System.Windows.Forms.TextBox();
this.label15 = new System.Windows.Forms.Label();
this.TreasureMapSpawnPointsTxtBox = new System.Windows.Forms.TextBox();
this.label20 = new System.Windows.Forms.Label();
this.WildPirateCampSpawnPointsTxtBox = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.spawnerOverridesGrid)).BeginInit();
this.SuspendLayout();
@ -150,9 +161,9 @@
//
// createBtn
//
this.createBtn.Location = new System.Drawing.Point(298, 565);
this.createBtn.Location = new System.Drawing.Point(17, 722);
this.createBtn.Name = "createBtn";
this.createBtn.Size = new System.Drawing.Size(111, 32);
this.createBtn.Size = new System.Drawing.Size(111, 39);
this.createBtn.TabIndex = 9;
this.createBtn.Text = "Create";
this.createBtn.UseVisualStyleBackColor = true;
@ -161,9 +172,9 @@
// cancelBtn
//
this.cancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelBtn.Location = new System.Drawing.Point(415, 565);
this.cancelBtn.Location = new System.Drawing.Point(134, 722);
this.cancelBtn.Name = "cancelBtn";
this.cancelBtn.Size = new System.Drawing.Size(118, 32);
this.cancelBtn.Size = new System.Drawing.Size(118, 39);
this.cancelBtn.TabIndex = 10;
this.cancelBtn.Text = "Cancel";
this.cancelBtn.UseVisualStyleBackColor = true;
@ -401,13 +412,115 @@
this.label14.TabIndex = 42;
this.label14.Text = "Island Points";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(10, 626);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(84, 13);
this.label16.TabIndex = 44;
this.label16.Text = "SP Spawn Point";
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(145, 665);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(14, 13);
this.label17.TabIndex = 49;
this.label17.Text = "Y";
//
// label18
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(82, 665);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(14, 13);
this.label18.TabIndex = 48;
this.label18.Text = "X";
//
// singleSpawnPointYTxtBox
//
this.singleSpawnPointYTxtBox.Location = new System.Drawing.Point(130, 642);
this.singleSpawnPointYTxtBox.Name = "singleSpawnPointYTxtBox";
this.singleSpawnPointYTxtBox.Size = new System.Drawing.Size(55, 20);
this.singleSpawnPointYTxtBox.TabIndex = 47;
//
// singleSpawnPointXTxtBox
//
this.singleSpawnPointXTxtBox.Location = new System.Drawing.Point(67, 642);
this.singleSpawnPointXTxtBox.Name = "singleSpawnPointXTxtBox";
this.singleSpawnPointXTxtBox.Size = new System.Drawing.Size(55, 20);
this.singleSpawnPointXTxtBox.TabIndex = 46;
//
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(209, 665);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(14, 13);
this.label19.TabIndex = 51;
this.label19.Text = "Z";
//
// singleSpawnPointZTxtBox
//
this.singleSpawnPointZTxtBox.Location = new System.Drawing.Point(194, 642);
this.singleSpawnPointZTxtBox.Name = "singleSpawnPointZTxtBox";
this.singleSpawnPointZTxtBox.Size = new System.Drawing.Size(55, 20);
this.singleSpawnPointZTxtBox.TabIndex = 50;
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(257, 548);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(132, 13);
this.label15.TabIndex = 53;
this.label15.Text = "TreasureMapSpawnPoints";
//
// TreasureMapSpawnPointsTxtBox
//
this.TreasureMapSpawnPointsTxtBox.Location = new System.Drawing.Point(260, 564);
this.TreasureMapSpawnPointsTxtBox.Multiline = true;
this.TreasureMapSpawnPointsTxtBox.Name = "TreasureMapSpawnPointsTxtBox";
this.TreasureMapSpawnPointsTxtBox.Size = new System.Drawing.Size(332, 82);
this.TreasureMapSpawnPointsTxtBox.TabIndex = 52;
//
// label20
//
this.label20.AutoSize = true;
this.label20.Location = new System.Drawing.Point(258, 649);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(144, 13);
this.label20.TabIndex = 55;
this.label20.Text = "WildPirateCampSpawnPoints";
//
// WildPirateCampSpawnPointsTxtBox
//
this.WildPirateCampSpawnPointsTxtBox.Location = new System.Drawing.Point(261, 665);
this.WildPirateCampSpawnPointsTxtBox.Multiline = true;
this.WildPirateCampSpawnPointsTxtBox.Name = "WildPirateCampSpawnPointsTxtBox";
this.WildPirateCampSpawnPointsTxtBox.Size = new System.Drawing.Size(332, 82);
this.WildPirateCampSpawnPointsTxtBox.TabIndex = 54;
//
// CreateIslandForm
//
this.AcceptButton = this.createBtn;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelBtn;
this.ClientSize = new System.Drawing.Size(609, 619);
this.ClientSize = new System.Drawing.Size(609, 773);
this.Controls.Add(this.label20);
this.Controls.Add(this.WildPirateCampSpawnPointsTxtBox);
this.Controls.Add(this.label15);
this.Controls.Add(this.TreasureMapSpawnPointsTxtBox);
this.Controls.Add(this.label19);
this.Controls.Add(this.singleSpawnPointZTxtBox);
this.Controls.Add(this.label17);
this.Controls.Add(this.label18);
this.Controls.Add(this.singleSpawnPointYTxtBox);
this.Controls.Add(this.singleSpawnPointXTxtBox);
this.Controls.Add(this.label16);
this.Controls.Add(this.islandPointsTxtBox);
this.Controls.Add(this.label14);
this.Controls.Add(this.modNameTxtBox);
@ -498,5 +611,16 @@
private System.Windows.Forms.TextBox modNameTxtBox;
private System.Windows.Forms.TextBox islandPointsTxtBox;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.TextBox singleSpawnPointYTxtBox;
private System.Windows.Forms.TextBox singleSpawnPointXTxtBox;
private System.Windows.Forms.Label label19;
private System.Windows.Forms.TextBox singleSpawnPointZTxtBox;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox TreasureMapSpawnPointsTxtBox;
private System.Windows.Forms.Label label20;
private System.Windows.Forms.TextBox WildPirateCampSpawnPointsTxtBox;
}
}

View file

@ -64,9 +64,19 @@ namespace ServerGridEditor
IslandTreasureBottleSupplyCrateOverridesTxtBox.Text = editedIsland.islandTreasureBottleSupplyCrateOverrides;
islandPointsTxtBox.Text = editedIsland.islandPoints + "";
singleSpawnPointXTxtBox.Text = editedIsland.singleSpawnPointX + "";
singleSpawnPointYTxtBox.Text = editedIsland.singleSpawnPointY + "";
singleSpawnPointZTxtBox.Text = editedIsland.singleSpawnPointZ + "";
if (editedIsland.extraSublevels != null)
extraSublevelsTxtBox.Lines = editedIsland.extraSublevels.ToArray();
if (editedIsland.treasureMapSpawnPoints != null)
TreasureMapSpawnPointsTxtBox.Lines = editedIsland.treasureMapSpawnPoints.ToArray();
if (editedIsland.wildPirateCampSpawnPoints != null)
WildPirateCampSpawnPointsTxtBox.Lines = editedIsland.wildPirateCampSpawnPoints.ToArray();
foreach (IslandInstanceData islandInstance in mainForm.currentProject.islandInstances)
if(islandInstance.name == editedIsland.name)
{
@ -172,6 +182,14 @@ namespace ServerGridEditor
float.TryParse(minTreasureQualityTxtBox.Text, out minTreasureQuality);
float.TryParse(maxTreasureQualityTxtBox.Text, out maxTreasureQuality);
float spSpawnPointX = 0.0f;
float spSpawnPointY = 0.0f;
float spSpawnPointZ = 0.0f;
float.TryParse(singleSpawnPointXTxtBox.Text, out spSpawnPointX);
float.TryParse(singleSpawnPointYTxtBox.Text, out spSpawnPointY);
float.TryParse(singleSpawnPointZTxtBox.Text, out spSpawnPointZ);
int islandPoints = 1;
int.TryParse(islandPointsTxtBox.Text, out islandPoints);
string islandRemovedFromMod = null;
@ -296,6 +314,9 @@ namespace ServerGridEditor
editedIsland.useNpcVolumesForTreasures = useNpcVolumesForTreasuresChkBox.Checked;
editedIsland.useLevelBoundsForTreasures = useLevelBoundsForTreasuresChkBox.Checked;
editedIsland.prioritizeVolumesForTreasures = prioritizeVolumesForTreasuresChkBox.Checked;
editedIsland.singleSpawnPointX = spSpawnPointX;
editedIsland.singleSpawnPointY = spSpawnPointY;
editedIsland.singleSpawnPointZ = spSpawnPointZ;
editedIsland.islandTreasureBottleSupplyCrateOverrides = IslandTreasureBottleSupplyCrateOverridesTxtBox.Text;
@ -304,6 +325,19 @@ namespace ServerGridEditor
NewEntries.RemoveAll(item => { return string.IsNullOrWhiteSpace(item); });
editedIsland.extraSublevels = NewEntries;
List<string> NewTreasureMapEntries = new List<string>(TreasureMapSpawnPointsTxtBox.Lines);
NewTreasureMapEntries.RemoveAll(item => { return string.IsNullOrWhiteSpace(item); });
if (NewTreasureMapEntries.Count == 0)
NewTreasureMapEntries = null;
editedIsland.treasureMapSpawnPoints = NewTreasureMapEntries;
List<string> NewWildPirateCampEntries = new List<string>(WildPirateCampSpawnPointsTxtBox.Lines);
NewWildPirateCampEntries.RemoveAll(item => { return string.IsNullOrWhiteSpace(item); });
if (NewWildPirateCampEntries.Count == 0)
NewWildPirateCampEntries = null;
editedIsland.wildPirateCampSpawnPoints = NewWildPirateCampEntries;
mainForm.SaveIslands(islandRemovedFromMod);
DialogResult = DialogResult.OK;
Close();
@ -321,6 +355,16 @@ namespace ServerGridEditor
string ImgLocation = pictureBox1.ImageLocation;
List<string> sublevelNames = new List<string>(sublevelsList.Items.Cast<string>());
List<string> treasureMapSpawnPoints = new List<string>(TreasureMapSpawnPointsTxtBox.Lines);
treasureMapSpawnPoints.RemoveAll(item => { return string.IsNullOrWhiteSpace(item); });
if (treasureMapSpawnPoints.Count == 0)
treasureMapSpawnPoints = null;
List<string> wildPirateCampSpawnPoints = new List<string>(WildPirateCampSpawnPointsTxtBox.Lines);
wildPirateCampSpawnPoints.RemoveAll(item => { return string.IsNullOrWhiteSpace(item); });
if (wildPirateCampSpawnPoints.Count == 0)
wildPirateCampSpawnPoints = null;
Dictionary<string, string> spawnerOverrides = new Dictionary<string, string>();
foreach (DataGridViewRow row in spawnerOverridesGrid.Rows)
@ -349,9 +393,9 @@ namespace ServerGridEditor
File.Copy(ImgLocation, newImgPath, true);
mainForm.islands.Add(Name, new Island(Name, x, y, newImgPath, landscapeMaterialOverride, sublevelNames, spawnerOverrides,
minTreasureQuality, maxTreasureQuality, useNpcVolumesForTreasuresChkBox.Checked, useLevelBoundsForTreasuresChkBox.Checked,
prioritizeVolumesForTreasuresChkBox.Checked, IslandTreasureBottleSupplyCrateOverridesTxtBox.Text, new List<string>(extraSublevelsTxtBox.Lines), islandPoints));
mainForm.islands.Add(Name, new Island(Name, x, y, newImgPath, landscapeMaterialOverride, sublevelNames, spawnerOverrides,
treasureMapSpawnPoints, wildPirateCampSpawnPoints, minTreasureQuality, maxTreasureQuality, useNpcVolumesForTreasuresChkBox.Checked, useLevelBoundsForTreasuresChkBox.Checked,
prioritizeVolumesForTreasuresChkBox.Checked, IslandTreasureBottleSupplyCrateOverridesTxtBox.Text, new List<string>(extraSublevelsTxtBox.Lines), islandPoints, spSpawnPointX, spSpawnPointY, spSpawnPointZ));
mainForm.islands.Last().Value.modDir = modNameTxtBox.Text.Trim();

View file

@ -126,6 +126,12 @@
<metadata name="SpawnerTemplate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="SpawnerName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="SpawnerTemplate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>45</value>
</metadata>