Skip to content

Class: ZoneManager ​

csharp
public class ZoneManager : NetworkedManagerBase<ZoneManager>, ILogicUpdate

Fields ​

NameDeclarationDescription
bannedRoomModifiersForCurrentLoop`[SaveVar(SaveVarFlags.Default)]
[NonSerialized]
public List<string> bannedRoomModifiersForCurrentLoop`
bannedSidetracksForCurrentLoop`[SaveVar(SaveVarFlags.Default)]
[NonSerialized]
public List<string> bannedSidetracksForCurrentLoop`
ClientEvent_OnClearedCombatRoomsChangedpublic SafeAction ClientEvent_OnClearedCombatRoomsChanged
ClientEvent_OnCurrentHuntLevelChangedpublic SafeAction ClientEvent_OnCurrentHuntLevelChanged
ClientEvent_OnCurrentRoomIndexChangedpublic SafeAction ClientEvent_OnCurrentRoomIndexChanged
ClientEvent_OnIsInTransitionChangedpublic SafeAction&lt;bool&gt; ClientEvent_OnIsInTransitionChangedCalled everywhere when room transition status has changed.
ClientEvent_OnLoopStartedpublic SafeAction ClientEvent_OnLoopStartedCalled everywhere when first zone starts or a new loop has started.
ClientEvent_OnNodesChangedpublic SafeAction ClientEvent_OnNodesChangedCalled once per frame when nodes data changes in any way. Available everywhere.
ClientEvent_OnRoomLoadedpublic SafeAction&lt;EventInfoLoadRoom&gt; ClientEvent_OnRoomLoadedCalled everywhere when a new room is loaded.
ClientEvent_OnRoomLoadStartedpublic SafeAction&lt;EventInfoLoadRoom&gt; ClientEvent_OnRoomLoadStartedCalled everywhere when the game has started loading a room and the screen has gone dark.
ClientEvent_OnVoteCanceledpublic SafeAction&lt;DewPlayer&gt; ClientEvent_OnVoteCanceled
ClientEvent_OnVoteCompletedpublic SafeAction ClientEvent_OnVoteCompleted
ClientEvent_OnVoteStartedpublic SafeAction&lt;DewPlayer&gt; ClientEvent_OnVoteStarted
ClientEvent_OnZoneLoadedpublic SafeAction&lt;EventInfoLoadZone&gt; ClientEvent_OnZoneLoadedCalled everywhere when a new zone is loaded.
ClientEvent_OnZoneLoadStartedpublic SafeAction&lt;EventInfoLoadZone&gt; ClientEvent_OnZoneLoadStartedCalled everywhere when the game has started loading a new zone and the screen has gone dark.
didLocallyShowHunterWarning`[NonSerialized]
public bool didLocallyShowHunterWarning`
forceVoteForDebug`[NonSerialized]
public bool? forceVoteForDebug`
hunterSpreadMultiplier`[NonSerialized]
public float hunterSpreadMultiplier`
HunterStartSkippedTurnspublic static int HunterStartSkippedTurns
hunterStatuses`[SaveVar(SaveVarFlags.Default)]
public readonly SyncList<HunterStatus> hunterStatuses`
modifierServerData`[SaveVar(SaveVarFlags.Default)]
public Dictionary<int, ModifierServerData> modifierServerData`
nextZoneOverride`[SaveVar(SaveVarFlags.Default)]
[NonSerialized]
public AssetRef<Zone> nextZoneOverride`Available on server.Set this, and the next zone load will be overwritten to this one, and nextZoneOverride will be cleared.Instead of appending a zone, this overwrites the zone to be loaded, so a zone still gets removed from the pool, and the tier goes up if necessary.
nodeDistanceMatrix`[SaveVar(SaveVarFlags.Default)]
public readonly SyncList<int> nodeDistanceMatrix`
NodePlacementTriespublic static int NodePlacementTries
nodes`[SaveVar(SaveVarFlags.Default)]
public readonly SyncList<WorldNodeData> nodes`
onWorldGeneratedpublic SafeAction onWorldGeneratedCalled on server when the world is generated by GenerateWorld functions. Not called when loading from save.
remainingZonesOfCurrentTier`[SaveVar(SaveVarFlags.Default)]
[NonSerialized]
public List<AssetRef<Zone>> remainingZonesOfCurrentTier`Available on server.
ScoreFuzzinesspublic static float ScoreFuzziness
ScorePerIsolatedImportantNodepublic static float ScorePerIsolatedImportantNode
ScorePerIsolatedNodepublic static float ScorePerIsolatedNode
visitedNodesSaveData`[SaveVar(SaveVarFlags.Default)]
[NonSerialized]
public List<DewPersistence.RoomData> visitedNodesSaveData`Available on server.
voteTypepublic VoteType voteType
WorldGenerationIterationspublic static int WorldGenerationIterations
WorldHeightpublic static float WorldHeight
WorldWidthpublic static float WorldWidth

Properties ​

NameDeclarationDescription
clearedCombatRooms`[SaveVar(SaveVarFlags.Default)]
public int clearedCombatRooms { get; set; }`Number of rooms cleared that are not shops nor special rooms.
currentHuntLevel`[SaveVar(SaveVarFlags.Default)]
public int currentHuntLevel { get; set; }`
currentNodepublic WorldNodeData currentNode { get; set; }
currentNodeHunterStatuspublic HunterStatus currentNodeHunterStatus { get; }
currentNodeIndex`[SaveVar(SaveVarFlags.Default)]
public int currentNodeIndex { get; set; }`
currentRoompublic Room currentRoom { get; set; }
currentRoomIndex`[SaveVar(SaveVarFlags.Default)]
public int currentRoomIndex { get; set; }`Index of current room in current game session.
currentTier`[SaveVar(SaveVarFlags.Default)]
public int currentTier { get; set; }`
currentTurnIndex`[SaveVar(SaveVarFlags.Default)]
public int currentTurnIndex { get; }`Available on server.
currentZone`[SaveVar(SaveVarFlags.Default)]
public Zone currentZone { get; set; }`
currentZoneClearedNodes`[SaveVar(SaveVarFlags.Default)]
public int currentZoneClearedNodes { get; set; }`Number of cleared nodes in current zone.Starts at 0 on a new zone, and goes up whenever players move away from a previously unvisited node.
currentZoneIndex`[SaveVar(SaveVarFlags.Default)]
public int currentZoneIndex { get; set; }`Index of current zone in current game session.
hunterSkippedTurns`[SaveVar(SaveVarFlags.Default)]
public int hunterSkippedTurns { get; set; }`
hunterStartNodeIndex`[SaveVar(SaveVarFlags.Default)]
public int hunterStartNodeIndex { get; set; }`
isCurrentNodeHuntedpublic bool isCurrentNodeHunted { get; }
isHuntAdvanceDisabledpublic bool isHuntAdvanceDisabled { get; set; }
isInAnyTransitionpublic bool isInAnyTransition { get; }
isInLocalTransitionpublic bool isInLocalTransition { get; }
isInRoomTransitionpublic bool isInRoomTransition { get; }
isSidetrackingpublic bool isSidetracking { get; }Available everywhere.
isVotingpublic bool isVoting { get; }
lastLoadNodeSettingspublic LoadNodeSettings lastLoadNodeSettings { get; }Available on server. Immediately set upon calling ZoneManager.LoadNode().
loopIndex`[SaveVar(SaveVarFlags.Default)]
public int loopIndex { get; set; }`
sidetrackReturnNodeIndex`[SaveVar(SaveVarFlags.Default)]
public int sidetrackReturnNodeIndex { get; set; }`Node to return to after side tracking. Set to -1 if not sidetracking. Available everywhere.
voteDatapublic int voteData { get; }
voteRemainingSecondspublic int voteRemainingSeconds { get; }
worldSeedpublic uint worldSeed { get; set; }

Methods ​

AddModifier(int, ModifierData, Action&lt;RoomModifierBase&gt;) ​

Add modifier to a node. Note if you're trying to add another main modifier, previous one will be removed.

csharp
public int AddModifier(int nodeIndex, ModifierData mod, Action<RoomModifierBase> beforePrepare = null)

Parameters:

NameTypeDescription
nodeIndexint
modModifierData
beforePrepareSystem.Action<T><RoomModifierBase>

Returns: int

AddModifier&lt;T&gt;(int, Action&lt;T&gt;) ​

Add modifier to a node. Note if you're trying to add another main modifier, previous one will be removed.

csharp
public int AddModifier<T>(int nodeIndex, Action<T> beforePrepare = null) where T : RoomModifierBase

Parameters:

NameTypeDescription
nodeIndexint
beforePrepareSystem.Action&lt;T&gt;&lt;T&gt;
``T

Returns: int

AddModifier&lt;T&gt;(int, string, Action&lt;T&gt;) ​

Add modifier to a node. Note if you're trying to add another main modifier, previous one will be removed.

csharp
public int AddModifier<T>(int nodeIndex, string clientData, Action<T> beforePrepare = null) where T : RoomModifierBase

Parameters:

NameTypeDescription
nodeIndexint
clientDatastring
beforePrepareSystem.Action&lt;T&gt;&lt;T&gt;
``T

Returns: int

AddSidetrackNode(string) ​

csharp
public void AddSidetrackNode(string roomName)

Parameters:

NameTypeDescription
roomNamestring

AddTravelToNodeInterrupt(Func&lt;EventInfoTravelToNodeInterrupt, bool&gt;) ​

Add travel-to-node interruptor.Return true to interrupt travel for something cinematic and cool.Note this cannot interrupt sidetracks, zone travels or fake travels.

csharp
public void AddTravelToNodeInterrupt(Func<EventInfoTravelToNodeInterrupt, bool> func)

Parameters:

NameTypeDescription
funcSystem.Func<T, TResult><EventInfoTravelToNodeInterrupt,bool>

AdvanceHunterTurn(bool) ​

csharp
public void AdvanceHunterTurn(bool forceMove = false)

Parameters:

NameTypeDescription
forceMovebool

CallOnReadyAfterTransition(Action) ​

Called after a reasonable amount of time has passed after transition ends.Immediately called if not on a transition.

csharp
public void CallOnReadyAfterTransition(Action action)

Parameters:

NameTypeDescription
actionSystem.Action

CmdCancelVote(NetworkConnectionToClient) ​

csharp
public void CmdCancelVote(NetworkConnectionToClient sender = null)

Parameters:

NameTypeDescription
senderMirror.NetworkConnectionToClient

CmdTravelToNextZone(NetworkConnectionToClient) ​

csharp
public void CmdTravelToNextZone(NetworkConnectionToClient sender = null)

Parameters:

NameTypeDescription
senderMirror.NetworkConnectionToClient

CmdTravelToNode(int, NetworkConnectionToClient) ​

csharp
public void CmdTravelToNode(int index, NetworkConnectionToClient sender = null)

Parameters:

NameTypeDescription
indexint
senderMirror.NetworkConnectionToClient

DoDeadEndTravel() ​

Do initial travel node animation and soft lock the game.

csharp
public void DoDeadEndTravel()

GenerateWorldAuto() ​

csharp
public void GenerateWorldAuto()

GenerateWorldWithSeed(uint) ​

csharp
public void GenerateWorldWithSeed(uint seed)

Parameters:

NameTypeDescription
seeduint

GetCannotTravelReason() ​

csharp
public string GetCannotTravelReason()

Returns: string

GetCannotTravelReasonByDroppedGem(Gem) ​

csharp
public string GetCannotTravelReasonByDroppedGem(Gem g)

Parameters:

NameTypeDescription
gGem

Returns: string

GetCannotTravelReasonByDroppedSkill(SkillTrigger) ​

csharp
public string GetCannotTravelReasonByDroppedSkill(SkillTrigger st)

Parameters:

NameTypeDescription
stSkillTrigger

Returns: string

GetHunterProgress() ​

Get hunter progress in this world. Returns value between 0 ~ 1

csharp
public float GetHunterProgress()

Returns: float

GetNodeDistance(int, int) ​

csharp
public int GetNodeDistance(int a, int b)

Parameters:

NameTypeDescription
aint
bint

Returns: int

GetVoteSidetrackRift() ​

csharp
public Rift_Sidetrack GetVoteSidetrackRift()

Returns: Rift_Sidetrack

GetWorldRandom(int) ​

Get a random instance for this world.

csharp
public DewRandom GetWorldRandom(int offset)

Parameters:

NameTypeDescription
offsetint

Returns: DewRandom

IsNodeConnected(int, int) ​

csharp
public bool IsNodeConnected(int a, int b)

Parameters:

NameTypeDescription
aint
bint

Returns: bool

LoadModifierLightPrefabsOfCurrentZone() ​

csharp
public List<RoomModifierBase> LoadModifierLightPrefabsOfCurrentZone()

Returns: System.Collections.Generic.List&lt;T&gt;&lt;RoomModifierBase&gt;

LoadNextZoneByContentSettings() ​

csharp
public void LoadNextZoneByContentSettings()

LoadNode(LoadNodeSettings) ​

csharp
public void LoadNode(LoadNodeSettings s)

Parameters:

NameTypeDescription
sLoadNodeSettings

LoadSidetrackRoom(string) ​

csharp
public void LoadSidetrackRoom(string roomName)

Parameters:

NameTypeDescription
roomNamestring

OnStart() ​

csharp
public override void OnStart()

RemoveModifier(int, int) ​

csharp
public void RemoveModifier(int nodeIndex, int modifierId)

Parameters:

NameTypeDescription
nodeIndexint
modifierIdint

RemoveModifier(int) ​

csharp
public void RemoveModifier(int modifierId)

Parameters:

NameTypeDescription
modifierIdint

RemoveModifier&lt;T&gt;(int) ​

csharp
public bool RemoveModifier<T>(int nodeIndex)

Parameters:

NameTypeDescription
nodeIndexint
``T

Returns: bool

RemoveTravelToNodeInterrupt(Func&lt;EventInfoTravelToNodeInterrupt, bool&gt;) ​

csharp
public void RemoveTravelToNodeInterrupt(Func<EventInfoTravelToNodeInterrupt, bool> func)

Parameters:

NameTypeDescription
funcSystem.Func<T, TResult><EventInfoTravelToNodeInterrupt,bool>

ReturnFromSidetracking() ​

csharp
public void ReturnFromSidetracking()

RevealNodesAndAnnounce(DewPlayer, int) ​

csharp
public void RevealNodesAndAnnounce(DewPlayer revealer, int nodeCount)

Parameters:

NameTypeDescription
revealerDewPlayer
nodeCountint

RevealWorld(bool) ​

csharp
public void RevealWorld(bool fully = false)

Parameters:

NameTypeDescription
fullybool

SetCurrentNodeIndexAndRevealAdjacent(int) ​

csharp
public void SetCurrentNodeIndexAndRevealAdjacent(int index)

Parameters:

NameTypeDescription
indexint

SetRoom(int, string) ​

csharp
public void SetRoom(int nodeIndex, string room)

Parameters:

NameTypeDescription
nodeIndexint
roomstring

SetRoomOverride(int, string) ​

csharp
public void SetRoomOverride(int nodeIndex, string roomOverride)

Parameters:

NameTypeDescription
nodeIndexint
roomOverridestring

SetRoomRotIndex(int, int) ​

csharp
public void SetRoomRotIndex(int nodeIndex, int roomRotIndex)

Parameters:

NameTypeDescription
nodeIndexint
roomRotIndexint

ShouldVoteOnTravel() ​

csharp
public bool ShouldVoteOnTravel()

Returns: bool

StartVoteNextNode(DewPlayer, int) ​

csharp
public void StartVoteNextNode(DewPlayer player, int nextNodeIndex)

Parameters:

NameTypeDescription
playerDewPlayer
nextNodeIndexint

StartVoteNextZone(DewPlayer) ​

csharp
public void StartVoteNextZone(DewPlayer player)

Parameters:

NameTypeDescription
playerDewPlayer

StartVoteSidetrack(DewPlayer, Rift_Sidetrack) ​

csharp
public void StartVoteSidetrack(DewPlayer player, Rift_Sidetrack rift)

Parameters:

NameTypeDescription
playerDewPlayer
riftRift_Sidetrack

SyncNodeChanges(int) ​

Force node changes to be synced across clients.

csharp
public void SyncNodeChanges(int nodeIndex)

Parameters:

NameTypeDescription
nodeIndexint

TravelToNode(int, bool, bool, bool) ​

csharp
public void TravelToNode(int to, bool advanceTurn = true, bool isSidetrackTransition = false, bool ignoreInterrupts = false)

Parameters:

NameTypeDescription
toint
advanceTurnbool
isSidetrackTransitionbool
ignoreInterruptsbool

TravelToZone(Zone, bool) ​

csharp
public void TravelToZone(Zone prefab, bool noAdvance = false)

Parameters:

NameTypeDescription
prefabZone
noAdvancebool

TravelWithValidationAndConfirmation(Action, bool) ​

Check for active vote, artifact window, leftover rewards and hero souls.

csharp
public void TravelWithValidationAndConfirmation(Action action, bool ignoreSidetrack = false)

Parameters:

NameTypeDescription
actionSystem.Action
ignoreSidetrackbool

TryGetNodeIndexForNextGoal(GetNodeIndexSettings, out int) ​

Get a good node location for next goal (revive player, quest, etc)Unvisited node in desired distance, preferably closer to boss node.

csharp
public bool TryGetNodeIndexForNextGoal(GetNodeIndexSettings s, out int nodeIndex)

Parameters:

NameTypeDescription
sGetNodeIndexSettings
nodeIndexint

Returns: bool

UpdateModifiersByHunterStatus(int) ​

csharp
public void UpdateModifiersByHunterStatus(int currentTravelDestinationNode = -1)

Parameters:

NameTypeDescription
currentTravelDestinationNodeint

Maintained by the Shape of Dreams Modding Community