Class: ZoneManager
- Namespace:
Global - Assembly:
Dew.Core.dll - Inheritance / Derived: DewNetworkBehaviour →
NetworkedManagerBase→ ZoneManager
public class ZoneManager : NetworkedManagerBase<ZoneManager>, ILogicUpdateFields
| Name | Declaration | Description |
|---|---|---|
bannedRoomModifiersForCurrentLoop | `[SaveVar(SaveVarFlags.Default)] | |
| [NonSerialized] | ||
| public List<string> bannedRoomModifiersForCurrentLoop` | ||
bannedSidetracksForCurrentLoop | `[SaveVar(SaveVarFlags.Default)] | |
| [NonSerialized] | ||
| public List<string> bannedSidetracksForCurrentLoop` | ||
ClientEvent_OnClearedCombatRoomsChanged | public SafeAction ClientEvent_OnClearedCombatRoomsChanged | |
ClientEvent_OnCurrentHuntLevelChanged | public SafeAction ClientEvent_OnCurrentHuntLevelChanged | |
ClientEvent_OnCurrentRoomIndexChanged | public SafeAction ClientEvent_OnCurrentRoomIndexChanged | |
ClientEvent_OnIsInTransitionChanged | public SafeAction<bool> ClientEvent_OnIsInTransitionChanged | Called everywhere when room transition status has changed. |
ClientEvent_OnLoopStarted | public SafeAction ClientEvent_OnLoopStarted | Called everywhere when first zone starts or a new loop has started. |
ClientEvent_OnNodesChanged | public SafeAction ClientEvent_OnNodesChanged | Called once per frame when nodes data changes in any way. Available everywhere. |
ClientEvent_OnRoomLoaded | public SafeAction<EventInfoLoadRoom> ClientEvent_OnRoomLoaded | Called everywhere when a new room is loaded. |
ClientEvent_OnRoomLoadStarted | public SafeAction<EventInfoLoadRoom> ClientEvent_OnRoomLoadStarted | Called everywhere when the game has started loading a room and the screen has gone dark. |
ClientEvent_OnVoteCanceled | public SafeAction<DewPlayer> ClientEvent_OnVoteCanceled | |
ClientEvent_OnVoteCompleted | public SafeAction ClientEvent_OnVoteCompleted | |
ClientEvent_OnVoteStarted | public SafeAction<DewPlayer> ClientEvent_OnVoteStarted | |
ClientEvent_OnZoneLoaded | public SafeAction<EventInfoLoadZone> ClientEvent_OnZoneLoaded | Called everywhere when a new zone is loaded. |
ClientEvent_OnZoneLoadStarted | public SafeAction<EventInfoLoadZone> ClientEvent_OnZoneLoadStarted | Called 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` | ||
HunterStartSkippedTurns | public 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` | ||
NodePlacementTries | public static int NodePlacementTries | |
nodes | `[SaveVar(SaveVarFlags.Default)] | |
| public readonly SyncList<WorldNodeData> nodes` | ||
onWorldGenerated | public SafeAction onWorldGenerated | Called 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. | |
ScoreFuzziness | public static float ScoreFuzziness | |
ScorePerIsolatedImportantNode | public static float ScorePerIsolatedImportantNode | |
ScorePerIsolatedNode | public static float ScorePerIsolatedNode | |
visitedNodesSaveData | `[SaveVar(SaveVarFlags.Default)] | |
| [NonSerialized] | ||
| public List<DewPersistence.RoomData> visitedNodesSaveData` | Available on server. | |
voteType | public VoteType voteType | |
WorldGenerationIterations | public static int WorldGenerationIterations | |
WorldHeight | public static float WorldHeight | |
WorldWidth | public static float WorldWidth |
Properties
| Name | Declaration | Description |
|---|---|---|
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; }` | ||
currentNode | public WorldNodeData currentNode { get; set; } | |
currentNodeHunterStatus | public HunterStatus currentNodeHunterStatus { get; } | |
currentNodeIndex | `[SaveVar(SaveVarFlags.Default)] | |
| public int currentNodeIndex { get; set; }` | ||
currentRoom | public 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; }` | ||
isCurrentNodeHunted | public bool isCurrentNodeHunted { get; } | |
isHuntAdvanceDisabled | public bool isHuntAdvanceDisabled { get; set; } | |
isInAnyTransition | public bool isInAnyTransition { get; } | |
isInLocalTransition | public bool isInLocalTransition { get; } | |
isInRoomTransition | public bool isInRoomTransition { get; } | |
isSidetracking | public bool isSidetracking { get; } | Available everywhere. |
isVoting | public bool isVoting { get; } | |
lastLoadNodeSettings | public 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. | |
voteData | public int voteData { get; } | |
voteRemainingSeconds | public int voteRemainingSeconds { get; } | |
worldSeed | public uint worldSeed { get; set; } |
Methods
AddModifier(int, ModifierData, Action<RoomModifierBase>)
Add modifier to a node. Note if you're trying to add another main modifier, previous one will be removed.
public int AddModifier(int nodeIndex, ModifierData mod, Action<RoomModifierBase> beforePrepare = null)Parameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int | |
mod | ModifierData | |
beforePrepare | System.Action<T><RoomModifierBase> |
Returns: int
AddModifier<T>(int, Action<T>)
Add modifier to a node. Note if you're trying to add another main modifier, previous one will be removed.
public int AddModifier<T>(int nodeIndex, Action<T> beforePrepare = null) where T : RoomModifierBaseParameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int | |
beforePrepare | System.Action<T><T> | |
| `` | T |
Returns: int
AddModifier<T>(int, string, Action<T>)
Add modifier to a node. Note if you're trying to add another main modifier, previous one will be removed.
public int AddModifier<T>(int nodeIndex, string clientData, Action<T> beforePrepare = null) where T : RoomModifierBaseParameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int | |
clientData | string | |
beforePrepare | System.Action<T><T> | |
| `` | T |
Returns: int
AddSidetrackNode(string)
public void AddSidetrackNode(string roomName)Parameters:
| Name | Type | Description |
|---|---|---|
roomName | string |
AddTravelToNodeInterrupt(Func<EventInfoTravelToNodeInterrupt, bool>)
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.
public void AddTravelToNodeInterrupt(Func<EventInfoTravelToNodeInterrupt, bool> func)Parameters:
| Name | Type | Description |
|---|---|---|
func | System.Func<T, TResult><EventInfoTravelToNodeInterrupt,bool> |
AdvanceHunterTurn(bool)
public void AdvanceHunterTurn(bool forceMove = false)Parameters:
| Name | Type | Description |
|---|---|---|
forceMove | bool |
CallOnReadyAfterTransition(Action)
Called after a reasonable amount of time has passed after transition ends.Immediately called if not on a transition.
public void CallOnReadyAfterTransition(Action action)Parameters:
| Name | Type | Description |
|---|---|---|
action | System.Action |
CmdCancelVote(NetworkConnectionToClient)
public void CmdCancelVote(NetworkConnectionToClient sender = null)Parameters:
| Name | Type | Description |
|---|---|---|
sender | Mirror.NetworkConnectionToClient |
CmdTravelToNextZone(NetworkConnectionToClient)
public void CmdTravelToNextZone(NetworkConnectionToClient sender = null)Parameters:
| Name | Type | Description |
|---|---|---|
sender | Mirror.NetworkConnectionToClient |
CmdTravelToNode(int, NetworkConnectionToClient)
public void CmdTravelToNode(int index, NetworkConnectionToClient sender = null)Parameters:
| Name | Type | Description |
|---|---|---|
index | int | |
sender | Mirror.NetworkConnectionToClient |
DoDeadEndTravel()
Do initial travel node animation and soft lock the game.
public void DoDeadEndTravel()GenerateWorldAuto()
public void GenerateWorldAuto()GenerateWorldWithSeed(uint)
public void GenerateWorldWithSeed(uint seed)Parameters:
| Name | Type | Description |
|---|---|---|
seed | uint |
GetCannotTravelReason()
public string GetCannotTravelReason()Returns: string
GetCannotTravelReasonByDroppedGem(Gem)
public string GetCannotTravelReasonByDroppedGem(Gem g)Parameters:
| Name | Type | Description |
|---|---|---|
g | Gem |
Returns: string
GetCannotTravelReasonByDroppedSkill(SkillTrigger)
public string GetCannotTravelReasonByDroppedSkill(SkillTrigger st)Parameters:
| Name | Type | Description |
|---|---|---|
st | SkillTrigger |
Returns: string
GetHunterProgress()
Get hunter progress in this world. Returns value between 0 ~ 1
public float GetHunterProgress()Returns: float
GetNodeDistance(int, int)
public int GetNodeDistance(int a, int b)Parameters:
| Name | Type | Description |
|---|---|---|
a | int | |
b | int |
Returns: int
GetVoteSidetrackRift()
public Rift_Sidetrack GetVoteSidetrackRift()Returns: Rift_Sidetrack
GetWorldRandom(int)
Get a random instance for this world.
public DewRandom GetWorldRandom(int offset)Parameters:
| Name | Type | Description |
|---|---|---|
offset | int |
Returns: DewRandom
IsNodeConnected(int, int)
public bool IsNodeConnected(int a, int b)Parameters:
| Name | Type | Description |
|---|---|---|
a | int | |
b | int |
Returns: bool
LoadModifierLightPrefabsOfCurrentZone()
public List<RoomModifierBase> LoadModifierLightPrefabsOfCurrentZone()Returns: System.Collections.Generic.List<T><RoomModifierBase>
LoadNextZoneByContentSettings()
public void LoadNextZoneByContentSettings()LoadNode(LoadNodeSettings)
public void LoadNode(LoadNodeSettings s)Parameters:
| Name | Type | Description |
|---|---|---|
s | LoadNodeSettings |
LoadSidetrackRoom(string)
public void LoadSidetrackRoom(string roomName)Parameters:
| Name | Type | Description |
|---|---|---|
roomName | string |
OnStart()
public override void OnStart()RemoveModifier(int, int)
public void RemoveModifier(int nodeIndex, int modifierId)Parameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int | |
modifierId | int |
RemoveModifier(int)
public void RemoveModifier(int modifierId)Parameters:
| Name | Type | Description |
|---|---|---|
modifierId | int |
RemoveModifier<T>(int)
public bool RemoveModifier<T>(int nodeIndex)Parameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int | |
| `` | T |
Returns: bool
RemoveTravelToNodeInterrupt(Func<EventInfoTravelToNodeInterrupt, bool>)
public void RemoveTravelToNodeInterrupt(Func<EventInfoTravelToNodeInterrupt, bool> func)Parameters:
| Name | Type | Description |
|---|---|---|
func | System.Func<T, TResult><EventInfoTravelToNodeInterrupt,bool> |
ReturnFromSidetracking()
public void ReturnFromSidetracking()RevealNodesAndAnnounce(DewPlayer, int)
public void RevealNodesAndAnnounce(DewPlayer revealer, int nodeCount)Parameters:
| Name | Type | Description |
|---|---|---|
revealer | DewPlayer | |
nodeCount | int |
RevealWorld(bool)
public void RevealWorld(bool fully = false)Parameters:
| Name | Type | Description |
|---|---|---|
fully | bool |
SetCurrentNodeIndexAndRevealAdjacent(int)
public void SetCurrentNodeIndexAndRevealAdjacent(int index)Parameters:
| Name | Type | Description |
|---|---|---|
index | int |
SetRoom(int, string)
public void SetRoom(int nodeIndex, string room)Parameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int | |
room | string |
SetRoomOverride(int, string)
public void SetRoomOverride(int nodeIndex, string roomOverride)Parameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int | |
roomOverride | string |
SetRoomRotIndex(int, int)
public void SetRoomRotIndex(int nodeIndex, int roomRotIndex)Parameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int | |
roomRotIndex | int |
ShouldVoteOnTravel()
public bool ShouldVoteOnTravel()Returns: bool
StartVoteNextNode(DewPlayer, int)
public void StartVoteNextNode(DewPlayer player, int nextNodeIndex)Parameters:
| Name | Type | Description |
|---|---|---|
player | DewPlayer | |
nextNodeIndex | int |
StartVoteNextZone(DewPlayer)
public void StartVoteNextZone(DewPlayer player)Parameters:
| Name | Type | Description |
|---|---|---|
player | DewPlayer |
StartVoteSidetrack(DewPlayer, Rift_Sidetrack)
public void StartVoteSidetrack(DewPlayer player, Rift_Sidetrack rift)Parameters:
| Name | Type | Description |
|---|---|---|
player | DewPlayer | |
rift | Rift_Sidetrack |
SyncNodeChanges(int)
Force node changes to be synced across clients.
public void SyncNodeChanges(int nodeIndex)Parameters:
| Name | Type | Description |
|---|---|---|
nodeIndex | int |
TravelToNode(int, bool, bool, bool)
public void TravelToNode(int to, bool advanceTurn = true, bool isSidetrackTransition = false, bool ignoreInterrupts = false)Parameters:
| Name | Type | Description |
|---|---|---|
to | int | |
advanceTurn | bool | |
isSidetrackTransition | bool | |
ignoreInterrupts | bool |
TravelToZone(Zone, bool)
public void TravelToZone(Zone prefab, bool noAdvance = false)Parameters:
| Name | Type | Description |
|---|---|---|
prefab | Zone | |
noAdvance | bool |
TravelWithValidationAndConfirmation(Action, bool)
Check for active vote, artifact window, leftover rewards and hero souls.
public void TravelWithValidationAndConfirmation(Action action, bool ignoreSidetrack = false)Parameters:
| Name | Type | Description |
|---|---|---|
action | System.Action | |
ignoreSidetrack | bool |
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.
public bool TryGetNodeIndexForNextGoal(GetNodeIndexSettings s, out int nodeIndex)Parameters:
| Name | Type | Description |
|---|---|---|
s | GetNodeIndexSettings | |
nodeIndex | int |
Returns: bool
UpdateModifiersByHunterStatus(int)
public void UpdateModifiersByHunterStatus(int currentTravelDestinationNode = -1)Parameters:
| Name | Type | Description |
|---|---|---|
currentTravelDestinationNode | int |