|
|
@ -118,6 +118,32 @@ namespace GWConquest |
|
|
|
{ |
|
|
|
ConnectedPlanetsList = new EntityList(State, "ConnectedPlanets"); |
|
|
|
|
|
|
|
if(BoltNetwork.IsClient) |
|
|
|
{ |
|
|
|
State.AddCallback("SpaceZoneID", () => { |
|
|
|
BoltLog.Info("Space zone id changed to {0} on client planet {1}, static: {2}", State.SpaceZoneID, State.PlanetName, PlanetStatic); |
|
|
|
var zone = GetMainZone(ZoneType.Space); |
|
|
|
zone.SetZoneId(State.SpaceZoneID); |
|
|
|
zone.zoneType = ZoneType.Space; |
|
|
|
}); |
|
|
|
|
|
|
|
State.AddCallback("AttackZoneID", () => { |
|
|
|
BoltLog.Info("Attack zone id changed to {0} on client planet {1}, static: {2}", State.AttackZoneID, State.PlanetName, PlanetStatic); |
|
|
|
var zone = GetAttackZones(ZoneType.Ground)[0]; |
|
|
|
zone.SetZoneId(State.AttackZoneID); |
|
|
|
zone.zoneType = ZoneType.Ground; |
|
|
|
}); |
|
|
|
|
|
|
|
State.AddCallback("PlanetName", () => { |
|
|
|
BoltLog.Info("planet name changed to {0} on client planet, static: {1}", State.PlanetName, PlanetStatic); |
|
|
|
planetName = State.PlanetName; |
|
|
|
}); |
|
|
|
|
|
|
|
State.AddCallback("ConnectedPlanets", () => { |
|
|
|
BoltLog.Info("Connected planets changed to {0} on client planet{1}, static: {2}", ConnectedPlanetsList, State.PlanetName, PlanetStatic); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
if(PlanetStatic) |
|
|
|
{ |
|
|
|
foreach (Zone zone in groundZones) |
|
|
@ -134,18 +160,6 @@ namespace GWConquest |
|
|
|
State.SpaceZoneID = Zone.GetZoneId(GetMainZone(ZoneType.Space)); |
|
|
|
State.AttackZoneID = Zone.GetZoneId(GetAttackZones(ZoneType.Ground)[0]); |
|
|
|
State.PlanetName = planetName; |
|
|
|
|
|
|
|
/*foreach(var conn in connections) |
|
|
|
{ |
|
|
|
if(conn.planet1 == this) |
|
|
|
{ |
|
|
|
ConnectedPlanetsList.Add(conn.planet2.entity); |
|
|
|
} |
|
|
|
else if(conn.planet2 == this) |
|
|
|
{ |
|
|
|
ConnectedPlanetsList.Add(conn.planet1.entity); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
@ -170,8 +184,28 @@ namespace GWConquest |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void UpdateConnectionsServer() |
|
|
|
{ |
|
|
|
foreach (var conn in connections) |
|
|
|
{ |
|
|
|
if (conn.planet1 == this) |
|
|
|
{ |
|
|
|
ConnectedPlanetsList.Add(conn.planet2.entity); |
|
|
|
} |
|
|
|
else if (conn.planet2 == this) |
|
|
|
{ |
|
|
|
ConnectedPlanetsList.Add(conn.planet1.entity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void FinishSetup() |
|
|
|
{ |
|
|
|
if(entity.IsOwner) |
|
|
|
{ |
|
|
|
UpdateConnectionsServer(); |
|
|
|
} |
|
|
|
|
|
|
|
pathfindingGraph = new PathfindingGraph<Zone>(groundZones); |
|
|
|
foreach(DistrictConnection conn in GetComponentsInChildren<DistrictConnection>()) |
|
|
|
{ |
|
|
@ -204,7 +238,7 @@ namespace GWConquest |
|
|
|
|
|
|
|
PlanetPathfindingGraph = new PathfindingGraph<Zone>(spaceZones); |
|
|
|
|
|
|
|
foreach(PlanetConnection conn in FindObjectsOfType<PlanetConnection>()) |
|
|
|
foreach(PlanetConnection conn in FindObjectsOfType<PlanetConnection>().Where(c => !c.IsPreConnection)) |
|
|
|
{ |
|
|
|
float connLength = Vector3.Distance(conn.planet1.transform.position, conn.planet2.transform.position); |
|
|
|
PlanetPathfindingGraph.AddConnection(conn.planet1.GetMainZone(ZoneType.Space), conn.planet2.GetMainZone(ZoneType.Space), connLength); |
|
|
|