Browse Source

Random Districts Part 2

master
laurids 2 years ago
parent
commit
1080e88329
14 changed files with 994 additions and 58 deletions
  1. +2
    -2
      Assets/GWConquest/Prefabs/District.prefab
  2. +4
    -4
      Assets/GWConquest/Prefabs/Factory.prefab
  3. +779
    -34
      Assets/GWConquest/Scenes/GalaxyMap.unity
  4. +62
    -11
      Assets/GWConquest/Scripts/District.cs
  5. +1
    -1
      Assets/GWConquest/Scripts/DistrictFactory.cs
  6. +9
    -1
      Assets/GWConquest/Scripts/GameManager.cs
  7. +2
    -0
      Assets/GWConquest/Scripts/Planet.cs
  8. +29
    -0
      Assets/GWConquest/Scripts/PlanetPlacement.cs
  9. +2
    -2
      Assets/GWConquest/Scripts/PlanetRegistry.cs
  10. BIN
      Assets/Photon/PhotonBolt/assemblies/bolt.user.dll
  11. BIN
      Assets/Photon/PhotonBolt/assemblies/bolt.user.dll.mdb
  12. +101
    -0
      Assets/Photon/PhotonBolt/project.json
  13. +1
    -1
      Assets/Photon/PhotonBolt/resources/BoltRuntimeSettings.asset
  14. +2
    -2
      Assets/Photon/PhotonBolt/scripts/BoltDebugStart.cs

+ 2
- 2
Assets/GWConquest/Prefabs/District.prefab View File

@ -75,9 +75,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a89484993d239124eb667c8c33c633d3, type: 3}
m_Name:
m_EditorClassIdentifier:
DistrictStatic: 0
DefaultSprite: {fileID: 0}
DistrictName: Primus
Description:
DistrictName: MissingName
DistrictType: 0
DistrictLevel: 0
--- !u!114 &2620233160227347941


+ 4
- 4
Assets/GWConquest/Prefabs/Factory.prefab View File

@ -62,7 +62,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 3097d18430809bc4db1e8e075e8199a2, type: 3}
m_Name:
m_EditorClassIdentifier:
Tier: 1
StartsBroken: 0
SpecialUnits: []
--- !u!114 &7954319019618919355
@ -77,10 +76,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a89484993d239124eb667c8c33c633d3, type: 3}
m_Name:
m_EditorClassIdentifier:
DefaultSprite: {fileID: 21300000, guid: 3b81d9ff9816c8240b02293797c69234, type: 3}
DistrictName: Primus
Description:
DistrictStatic: 0
DefaultSprite: {fileID: 0}
DistrictName: MissingName
DistrictType: 0
DistrictLevel: 0
--- !u!114 &3732992427129260454
MonoBehaviour:
m_ObjectHideFlags: 0


+ 779
- 34
Assets/GWConquest/Scenes/GalaxyMap.unity
File diff suppressed because it is too large
View File


+ 62
- 11
Assets/GWConquest/Scripts/District.cs View File

@ -10,21 +10,35 @@ namespace GWConquest
{
public static List<District> AllDistricts = new List<District>();
public bool DistrictStatic;
public Sprite DefaultSprite;
public string DistrictName;
public string Description;
public DistrictType DistrictType = DistrictType.Civil;
public int DistrictLevel;
public Zone Zone { get; private set; }
private Zone _zone;
public Zone Zone {
get {
if(_zone == null)
{
_zone = GetComponent<Zone>();
}
return _zone;
}
}
public static bool IsTypeFactory(DistrictType type)
{
return type == DistrictType.Civil || type == DistrictType.SpaceStation || type == DistrictType.FactoryArmor || type == DistrictType.FactoryInfantry || type == DistrictType.FactorySupplies || type == DistrictType.FactoryFuel;
}
public Planet Planet {
get => State.Planet?.GetComponent<Planet>();
set => State.Planet = value.entity;
}
public Player ControllingPlayer {
get {
var id = State.ControllingPlayerId;
@ -61,19 +75,12 @@ namespace GWConquest
set => State.StorageCapacity = value;
}
private void Start()
{
Zone = GetComponent<Zone>();
}
public override void Attached()
{
if(entity.IsOwner)
{
StorageCapacity = GameManager.Instance.DefaultStorageCapacity;
State.ControllingPlayerId = -1;
State.ZoneID = Zone.GetZoneId(GetComponent<Zone>());
}
Inventory = new Inventory(State, "Inventory");
@ -84,6 +91,50 @@ namespace GWConquest
//BoltLog.Info("Setting storage capacity to {0}", StorageCapacity);
AllDistricts.Add(this);
if(DistrictStatic)
{
if(entity.IsOwner)
{
State.ZoneID = Zone.GetZoneId(GetComponent<Zone>());
State.DistrictType = (int) DistrictType;
State.DistrictName = DistrictName;
State.Level = DistrictLevel;
State.Planet = GetComponentInParent<Planet>().entity;
}
}
}
public void InitNonStatic()
{
if(DistrictType == DistrictType.SpaceStation)
{
Zone.zoneType = ZoneType.Space;
Util.ArrayAppend(ref Planet.spaceZones, Zone);
}
else {
Zone.zoneType = ZoneType.Ground;
Util.ArrayAppend(ref Planet.groundZones, Zone);
}
if(entity.IsOwner)
{
State.ZoneID = Zone.GetZoneId(GetComponent<Zone>());
State.DistrictType = (int) DistrictType;
State.DistrictName = DistrictName;
State.Level = DistrictLevel;
State.RelativePosition = transform.localPosition;
}
else {
Zone.SetZoneId(State.ZoneID);
DistrictType = (DistrictType) State.DistrictType;
DistrictName = State.DistrictName;
DistrictLevel = state.Level;
transform.SetParent(Planet.transform, false);
transform.localPosition = State.RelativePosition;
gameObject.name = DistrictName;
}
}
public virtual Sprite GetCurrentSprite()
@ -104,7 +155,7 @@ namespace GWConquest
public virtual string GetDescription()
{
return GetComponentInParent<Planet>().PlanetData?.Description;
return Planet.PlanetData?.Description;
}
public string ProducingItem {


+ 1
- 1
Assets/GWConquest/Scripts/DistrictFactory.cs View File

@ -29,7 +29,7 @@ namespace GWConquest
public IEnumerable<UnitClass> GetAvailableUnitClasses()
{
var classes = UnitClass.AllUnitClasses.Where(uc => uc.FactoryType == FactoryType && uc.MinFactoryTier <= District.DistrictLevel);
var classes = UnitClass.AllUnitClasses.Where(uc => uc.FactoryType == FactoryType && uc.MinFactoryTier <= District.DistrictLevel+1);
var special = SpecialUnits.ToList().ConvertAll(name => UnitClass.FromName(name));
return classes.Union(special);
}


+ 9
- 1
Assets/GWConquest/Scripts/GameManager.cs View File

@ -121,7 +121,7 @@ namespace GWConquest
private IEnumerator EntitiesLoadedAsync()
{
yield return new WaitForSecondsRealtime(0.1f);
yield return new WaitForSecondsRealtime(1f);
yield return new WaitForFixedUpdate();
EntitiesLoaded = true;
@ -153,6 +153,14 @@ namespace GWConquest
}
}
foreach(District d in FindObjectsOfType<District>())
{
if(!d.DistrictStatic)
{
d.InitNonStatic();
}
}
foreach(Planet planet in allPlanets)
{
planet.FinishSetup();


+ 2
- 0
Assets/GWConquest/Scripts/Planet.cs View File

@ -626,6 +626,7 @@ namespace GWConquest
d.DistrictType = districtData.DistrictType;
d.DistrictName = districtData.Name;
d.DistrictLevel = districtData.Rating;
d.DistrictStatic = true;
UnityEditor.PrefabUtility.RecordPrefabInstancePropertyModifications(d);
@ -691,6 +692,7 @@ namespace GWConquest
d.DistrictType = DistrictType.SpaceStation;
d.DistrictName = planetName + " Station";
d.DistrictLevel = data.ShipyardRating;
d.DistrictStatic = true;
UnityEditor.PrefabUtility.RecordPrefabInstancePropertyModifications(d);
}


+ 29
- 0
Assets/GWConquest/Scripts/PlanetPlacement.cs View File

@ -217,12 +217,41 @@ namespace GWConquest
var district = go.GetComponent<District>();
district.DistrictType = type;
district.DistrictLevel = Random.Range(0, 2);
var alreadyPresentNames = planet.GetComponentsInChildren<District>().Select(d => d.DistrictName);
for(int i = 0; i < PlanetRegistry.CivilNames.Length; i++)
{
string nameCandidate;
if(type == DistrictType.Civil)
{
nameCandidate = planet.State.PlanetName + " " + PlanetRegistry.CivilNames[i];
}
else
{
nameCandidate = type == DistrictType.Food ? "Agri-District" : "Factory Complex";
if(i > 0)
{
nameCandidate += " " + PlanetRegistry.DistrictNames[i];
}
}
if(!alreadyPresentNames.Contains(nameCandidate))
{
district.DistrictName = nameCandidate;
break;
}
}
go.name = district.DistrictName;
var zone = go.GetComponent<Zone>();
zone.SetZoneId(nextZoneId);
zone.zoneType = ZoneType.Ground;
nextZoneId++;
district.Planet = planet;
district.InitNonStatic();
}
public void SpawnAsteroids(Planet planet)


+ 2
- 2
Assets/GWConquest/Scripts/PlanetRegistry.cs View File

@ -29,8 +29,8 @@ namespace GWConquest
public class PlanetRegistry
{
private static string[] CivilNames = new string[] { "Prime", "Secundi", "Tri", "For" };
private static string[] DistrictNames = new string[] { "I", "II", "III", "IV" };
public static string[] CivilNames = new string[] { "Prime", "Secundi", "Tri", "For" };
public static string[] DistrictNames = new string[] { "I", "II", "III", "IV" };
private static Dictionary<string, PlanetData> planetDataMap;


BIN
Assets/Photon/PhotonBolt/assemblies/bolt.user.dll View File


BIN
Assets/Photon/PhotonBolt/assemblies/bolt.user.dll.mdb View File


+ 101
- 0
Assets/Photon/PhotonBolt/project.json View File

@ -2329,6 +2329,107 @@
"ExtrapolationMaxFrames": 9,
"SnapMagnitude": 10.0
}
},
{
"Name": "Level",
"Enabled": true,
"Expanded": true,
"ReplicationMode": 1,
"Priority": 1,
"PropertyType": {
"$type": "Photon.Bolt.Compiler.PropertyTypeInteger, bolt.compiler",
"MaxValue": 255
},
"AssetSettings": {
"$type": "Photon.Bolt.Compiler.PropertyStateSettings, bolt.compiler",
"ExtrapolationErrorTolerance": 0.25,
"_ExtrapolationCorrectionFrames": 6,
"ExtrapolationMaxFrames": 9,
"SnapMagnitude": 10.0
}
},
{
"Name": "DistrictType",
"Enabled": true,
"Expanded": true,
"ReplicationMode": 1,
"Priority": 1,
"PropertyType": {
"$type": "Photon.Bolt.Compiler.PropertyTypeInteger, bolt.compiler",
"MaxValue": 255
},
"AssetSettings": {
"$type": "Photon.Bolt.Compiler.PropertyStateSettings, bolt.compiler",
"ExtrapolationErrorTolerance": 0.25,
"_ExtrapolationCorrectionFrames": 6,
"ExtrapolationMaxFrames": 9,
"SnapMagnitude": 10.0
}
},
{
"Name": "DistrictName",
"Enabled": true,
"Expanded": true,
"ReplicationMode": 1,
"Priority": 1,
"PropertyType": {
"$type": "Photon.Bolt.Compiler.PropertyTypeString, bolt.compiler",
"MaxLength": 1
},
"AssetSettings": {
"$type": "Photon.Bolt.Compiler.PropertyStateSettings, bolt.compiler",
"ExtrapolationErrorTolerance": 0.25,
"_ExtrapolationCorrectionFrames": 6,
"ExtrapolationMaxFrames": 9,
"SnapMagnitude": 10.0
}
},
{
"Name": "RelativePosition",
"Enabled": true,
"Expanded": true,
"ReplicationMode": 1,
"Priority": 1,
"PropertyType": {
"$type": "Photon.Bolt.Compiler.PropertyTypeVector, bolt.compiler",
"Selection": 14,
"Compression": [
{
"MinValue": -1024,
"MaxValue": 1024,
"Accuracy": 0.01,
"Pack": 100.0,
"Read": 0.01,
"Shift": 1024.0,
"BitsRequired": 18
},
{
"MinValue": -1024,
"MaxValue": 1024,
"Accuracy": 0.01,
"Pack": 100.0,
"Read": 0.01,
"Shift": 1024.0,
"BitsRequired": 18
},
{
"MinValue": -1024,
"MaxValue": 1024,
"Accuracy": 0.01,
"Pack": 100.0,
"Read": 0.01,
"Shift": 1024.0,
"BitsRequired": 18
}
]
},
"AssetSettings": {
"$type": "Photon.Bolt.Compiler.PropertyStateSettings, bolt.compiler",
"ExtrapolationErrorTolerance": 0.25,
"_ExtrapolationCorrectionFrames": 6,
"ExtrapolationMaxFrames": 9,
"SnapMagnitude": 10.0
}
}
],
"PacketMaxBits": 512,


+ 1
- 1
Assets/Photon/PhotonBolt/resources/BoltRuntimeSettings.asset View File

@ -50,7 +50,7 @@ MonoBehaviour:
debugStartPort: 54321
debugBuildMode: 1
debugStartMapName: GalaxyMap
debugPlayAsServer: 1
debugPlayAsServer: 0
showDebugInfo: 0
overrideTimeScale: 1
debugEditorMode: 1


+ 2
- 2
Assets/Photon/PhotonBolt/scripts/BoltDebugStart.cs View File

@ -90,9 +90,9 @@ end tell'";
private IEnumerator DelayClientConnect()
{
for (int i = 0; i < 8; i++)
for (int i = 0; i < 10; i++)
{
BoltLog.Info("Connecting in {0} seconds...", 8 - i);
BoltLog.Info("Connecting in {0} seconds...", 10 - i);
yield return new WaitForSeconds(1);
}


Loading…
Cancel
Save