Search Results for

    Show / Hide Table of Contents

    Class RoomModifierBase

    Inheritance
    object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    Mirror.NetworkBehaviour
    DewNetworkBehaviour
    Actor
    RoomModifierBase
    SpecialEntityRoomModifier
    Implements
    ILogicUpdate
    ICleanup
    ICustomDestroyRoutine
    IExcludeFromPool
    Inherited Members
    Actor.TrackKills(float, Action<EventInfoKill>)
    Actor.CustomRpc_RegisterClientMessageHandler<T>(Action<T>)
    Actor.CustomRpc_ClearClientMessageHandlers()
    Actor.CustomRpc_UnregisterClientMessageHandler<T>()
    Actor.CustomRpc_UnregisterClientMessageHandler<T>(Action<T>)
    Actor.CustomRpc_RegisterServerMessageHandler<T>(Action<T>)
    Actor.CustomRpc_RegisterServerMessageHandler<T>(string, Action<T, DewPlayer>)
    Actor.CustomRpc_ClearServerMessageHandlers()
    Actor.CustomRpc_UnregisterServerMessageHandler<T>()
    Actor.CustomRpc_UnregisterServerMessageHandler<T>(Action<T>)
    Actor.CustomRpc_UnregisterServerMessageHandler<T>(Action<T, DewPlayer>)
    Actor.CustomRpc_SendMessageToServer<T>(T)
    Actor.CustomRpc_SendMessageToClient<T>(DewPlayer, T)
    Actor.CustomRpc_SendMessageToAllClients<T>(T)
    Actor.ActorEvent_OnAbilityInstanceCreated
    Actor.ActorEvent_OnAbilityInstanceBeforePrepare
    Actor.ActorEvent_OnDealDamage
    Actor.ActorEvent_OnDoHeal
    Actor.ActorEvent_OnDoManaHeal
    Actor.ActorEvent_OnSpendMana
    Actor.ActorEvent_OnKill
    Actor.ActorEvent_OnAttackHit
    Actor.ActorEvent_OnAttackEffectTriggered
    Actor.ActorEvent_OnSpawnSummon
    Actor.ActorEvent_OnApplyElemental
    Actor.ActorEvent_OnGiveShield
    Actor.ClientActorEvent_OnDestroyed
    Actor.ClientActorEvent_OnCreate
    Actor.DoHeal(HealData, Entity, ReactionChain)
    Actor.DoManaHeal(HealData, Entity, ReactionChain)
    Actor.DefaultDamage(float, float)
    Actor.PhysicalDamage(float, float)
    Actor.MagicDamage(float, float)
    Actor.PureDamage(float, float)
    Actor.CreateDamage(DamageData.SourceType, float, float)
    Actor.Heal(float)
    Actor.DealDamage(DamageData, Entity, ReactionChain)
    Actor.DoBasicAttackHit(Entity, bool, bool, float, float)
    Actor.TriggerAttackEffects(Entity, float, AttackEffectType, ReactionChain)
    Actor.RefundMana(float, Entity)
    Actor.SpendMana(float, Entity)
    Actor.CreateAbilityInstance<T>(T, Vector3, Quaternion?, CastInfo, Action<T>)
    Actor.CreateAbilityInstance<T>(Vector3, Quaternion?, CastInfo, Action<T>)
    Actor.CreateAbilityInstance(Type, Vector3, Quaternion?, CastInfo, Action<AbilityInstance>)
    Actor.CreateStatusEffect<T>(T, Entity, CastInfo, Action<T>)
    Actor.CreateStatusEffect<T>(Entity, CastInfo, Action<T>)
    Actor.CreateStatusEffect(Type, Entity, CastInfo, Action<StatusEffect>)
    Actor.GiveShield(Entity, float, float, bool, ReactionChain)
    Actor.CreateActor<T>(Vector3, Quaternion?, Action<T>)
    Actor.CreateActor<T>(T, Vector3, Quaternion?, Action<T>)
    Actor.SpawnEntity<T>(Vector3, Quaternion?, DewPlayer, int, Action<T>)
    Actor.SpawnEntity<T>(T, Vector3, Quaternion?, DewPlayer, int, Action<T>)
    Actor.Teleport(Entity, Vector3)
    Actor.ShowOnScreenTimerLocally(OnScreenTimerHandle)
    Actor.HideOnScreenTimerLocally(OnScreenTimerHandle)
    Actor.ApplyElemental(ElementalType, Entity, int)
    Actor.KilledByUnstoppableEffects
    Actor.ScaleDurationByTenacityEffects
    Actor.CreateBasicEffect(Entity, BasicEffect, float, string, DuplicateEffectBehavior)
    Actor.SpawnSummon<T>(Vector3, Quaternion?, Action<T>)
    Actor.ApplyCooldownReduction(AbilityTrigger, float, bool, bool)
    Actor.ApplyCooldownReductionByRatio(AbilityTrigger, float, bool)
    Actor.ResetCooldown(AbilityTrigger, bool)
    Actor.ApplyCooldownReductionByRatio(AbilityTrigger, CooldownReductionByRatioSettings)
    Actor.ApplyCooldownReduction(AbilityTrigger, CooldownReductionSettings)
    Actor.dealtDamageProcessor
    Actor.dealtHealProcessor
    Actor.dealtManaHealProcessor
    Actor.dealtShieldProcessor
    Actor.dealtCooldownReductionProcessor
    Actor.dealtCooldownReductionByRatioProcessor
    Actor.spawnedChildVarDefProcessor
    Actor.ProcessShieldAmount(float, Entity)
    Actor.ProcessSpawnedChildVarDefProcessor(ref VariantDef, Type)
    Actor.persistentData
    Actor.persistentSyncedData
    Actor.ClientEvent_OnPersistentSyncedDataChanged
    Actor.OnCreate_ActorData()
    Actor.HasData<T>()
    Actor.RemoveData<T>()
    Actor.RemoveData(object)
    Actor.AddData<T>(T)
    Actor.TryGetData<T>(out T)
    Actor.GetData<T>()
    Actor.FindData<T>(Predicate<T>)
    Actor.TryFindData<T>(Predicate<T>, out T)
    Actor.isNewInstance
    Actor.creationTime
    Actor.persistentNetId
    Actor.isDestroyLocked
    Actor.parentActor
    Actor.position
    Actor.rotation
    Actor.chainTempName
    Actor.children
    Actor.childrenInNetwork
    Actor.Awake()
    Actor.OnStartServer()
    Actor.OnStartClient()
    Actor.LogicUpdate(float)
    Actor.FrameUpdate()
    Actor.ActiveFrameUpdate()
    Actor.ActiveLogicUpdate(float)
    Actor.GetActorReadableName()
    Actor.ToString()
    Actor.CustomDestroyRoutine()
    Actor.ICleanup.canDestroy
    Actor.ICleanup.OnCleanup()
    Actor.isActive
    Actor.isDestroyed
    Actor.OnPrepare()
    Actor.OnStopServer()
    Actor.OnStopClient()
    Actor.OnEnable()
    Actor.OnDisable()
    Actor.ICustomDestroyRoutine.CustomDestroyRoutine()
    Actor.GetNetworkAuthorityConnection()
    Actor.GetOriginalName()
    Actor.parentActorNetId
    Actor.ancestors
    Actor.firstEntity
    Actor.firstTrigger
    Actor.IsDescendantOf(Actor)
    Actor.IsDescendantOf<T>()
    Actor.FindFirstAncestorOfType<T>()
    Actor.FindFirstOfType<T>()
    Actor.Destroy()
    Actor.DestroyIfActive()
    Actor.LockDestroy()
    Actor.UnlockDestroy()
    Actor.IsExcludedFromRoomSave()
    Actor.ExcludeFromRoomSave()
    Actor.ClearExcludeFromRoomSave()
    DewNetworkBehaviour.FxPlayNewNetworked(GameObject, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlayNewNetworked(GameObject, Entity)
    DewNetworkBehaviour.FxPlayNewNetworked(GameObject, Entity, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlayNewNetworked(GameObject)
    DewNetworkBehaviour.FxPlayNetworked(GameObject)
    DewNetworkBehaviour.FxPlayNetworked(GameObject, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlayNetworked(GameObject, Entity)
    DewNetworkBehaviour.FxPlayNetworked(GameObject, Entity, Vector3, Quaternion?)
    DewNetworkBehaviour.FxStopNetworked(GameObject)
    DewNetworkBehaviour.FxPlayNew(GameObject)
    DewNetworkBehaviour.FxPlayNew(GameObject, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlayNew(GameObject, Entity)
    DewNetworkBehaviour.FxPlayNew(GameObject, Entity, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlay(GameObject)
    DewNetworkBehaviour.FxPlay(GameObject, Vector3, Quaternion?)
    DewNetworkBehaviour.FxPlay(GameObject, Entity)
    DewNetworkBehaviour.FxPlay(GameObject, Entity, Vector3, Quaternion?)
    DewNetworkBehaviour.FxStop(GameObject)
    DewNetworkBehaviour.FxApplySpeedMultiplier(GameObject, float)
    DewNetworkBehaviour.FxApplySpeedMultiplierNetworked(GameObject, float)
    DewNetworkBehaviour.InvalidateInstance()
    DewNetworkBehaviour.OnLateStart()
    DewNetworkBehaviour.OnLateStartServer()
    DewNetworkBehaviour.OnStop()
    DewNetworkBehaviour.OnDestroy()
    DewNetworkBehaviour.GetComponent<T>(out T)
    Namespace: Global
    Assembly: Dew.Core.dll
    Syntax
    public class RoomModifierBase : Actor, ILogicUpdate, ICleanup, ICustomDestroyRoutine, IExcludeFromPool

    Fields

    allowedZones

    Declaration
    [ShowIf("@chance > 0.000001f", true)]
    [InfoBox("All zones will be allowed to have this modifier", InfoMessageType.Info, "@allowedZones == null || allowedZones.Length == 0")]
    [InfoBox("@GetZoneValidationMessage(allowedZones)", InfoMessageType.Error, "@GetZoneValidationMessage(allowedZones) != null")]
    public string[] allowedZones
    Field Value
    Type Description
    string[]

    chance

    Declaration
    [LabelText("@spawnType.ToString()")]
    public float chance
    Field Value
    Type Description
    float

    difficultyScaling

    Declaration
    [ShowIf("@chance > 0.000001f", true)]
    public ScaleWithDifficultyMode difficultyScaling
    Field Value
    Type Description
    ScaleWithDifficultyMode

    disableOtherEnvParticles

    Declaration
    [ToggleLeft]
    public bool disableOtherEnvParticles
    Field Value
    Type Description
    bool

    disallowOtherModifiers

    Declaration
    [ShowIf("@chance > 0.000001f", true)]
    [ToggleLeft]
    public bool disallowOtherModifiers
    Field Value
    Type Description
    bool

    enableInnerDecorations

    Declaration
    [Title("Decorations", null, TitleAlignments.Left, true, true)]
    [ToggleLeft]
    public bool enableInnerDecorations
    Field Value
    Type Description
    bool

    enableOuterDecorations

    Declaration
    [ToggleLeft]
    public bool enableOuterDecorations
    Field Value
    Type Description
    bool

    excludeFromPool

    Declaration
    public bool excludeFromPool
    Field Value
    Type Description
    bool

    fxLoop

    Declaration
    [Title("Effects", null, TitleAlignments.Left, true, true)]
    public GameObject fxLoop
    Field Value
    Type Description
    UnityEngine.GameObject

    hiddenOnVisitedNode

    Declaration
    [ShowIf("@isMain || visibilityOnWorld != NodeModifierVisibility.Hidden", true)]
    public bool hiddenOnVisitedNode
    Field Value
    Type Description
    bool

    innerDecorations

    Declaration
    [BoxGroup("Inner Decorations", true, false, 0)]
    [InlineProperty]
    [HideLabel]
    [ShowIf("enableInnerDecorations", true)]
    public DecorationSettings innerDecorations
    Field Value
    Type Description
    DecorationSettings

    isMain

    Main modifiers will print notification when user enters the node.
    A node can only have a single main modifier.

    Declaration
    [Title("General", null, TitleAlignments.Left, true, true)]
    [FormerlySerializedAs("showOnTopRight")]
    public bool isMain
    Field Value
    Type Description
    bool

    mainColor

    Declaration
    [ShowIf("@isMain || visibilityOnWorld != NodeModifierVisibility.Hidden", true)]
    public Color mainColor
    Field Value
    Type Description
    UnityEngine.Color

    mapSprite

    Declaration
    [ShowIf("@isMain || visibilityOnWorld != NodeModifierVisibility.Hidden", true)]
    public Sprite mapSprite
    Field Value
    Type Description
    UnityEngine.Sprite

    mapSpriteScale

    Declaration
    [ShowIf("@isMain || visibilityOnWorld != NodeModifierVisibility.Hidden", true)]
    public float mapSpriteScale
    Field Value
    Type Description
    float

    modifiesRewards

    Declaration
    [ShowIf("@chance > 0.000001f", true)]
    [ToggleLeft]
    public bool modifiesRewards
    Field Value
    Type Description
    bool

    outerDecorations

    Declaration
    [BoxGroup("Outer Decorations", true, false, 0)]
    [InlineProperty]
    [HideLabel]
    [ShowIf("enableOuterDecorations", true)]
    public DecorationSettings outerDecorations
    Field Value
    Type Description
    DecorationSettings

    removeModifierWhenOverrideOverwritten

    Declaration
    [ToggleLeft]
    [ShowIf("@!string.IsNullOrEmpty(roomOverride)", true)]
    public bool removeModifierWhenOverrideOverwritten
    Field Value
    Type Description
    bool

    roomOverride

    Declaration
    public string roomOverride
    Field Value
    Type Description
    string

    spawnedDecorations

    Declaration
    public readonly List<GameObject> spawnedDecorations
    Field Value
    Type Description
    System.Collections.Generic.List<T><UnityEngine.GameObject>

    spawnOncePerLoop

    Declaration
    [ShowIf("@chance > 0.000001f", true)]
    [ToggleLeft]
    public bool spawnOncePerLoop
    Field Value
    Type Description
    bool

    spawnType

    Declaration
    [Title("Natural Spawn Settings", null, TitleAlignments.Left, true, true)]
    public ModifierSpawnType spawnType
    Field Value
    Type Description
    ModifierSpawnType

    visibilityOnWorld

    Declaration
    public NodeModifierVisibility visibilityOnWorld
    Field Value
    Type Description
    NodeModifierVisibility

    zoneIndexRange

    Declaration
    [ShowIf("@chance > 0.000001f", true)]
    public Vector2Int zoneIndexRange
    Field Value
    Type Description
    UnityEngine.Vector2Int

    Properties

    id

    Modifier id of this modifier instance.

    Declaration
    [SaveVar(SaveVarFlags.Default)]
    public int id { get; }
    Property Value
    Type Description
    int

    isDestroyedOnRoomChange

    Declaration
    public override bool isDestroyedOnRoomChange { get; }
    Property Value
    Type Description
    bool
    Overrides
    Actor.isDestroyedOnRoomChange

    modData

    Declaration
    public ModifierData modData { get; }
    Property Value
    Type Description
    ModifierData

    Methods

    CanSpawnAtNode(int)

    Checked on server, on the modifier prefab, when generating the world.
    It will be called in the middle of generating the world, but essential things like basic node positions and distances will be provided.

    Declaration
    public virtual bool CanSpawnAtNode(int nodeIndex)
    Parameters
    Type Name Description
    int nodeIndex
    Returns
    Type Description
    bool

    GetScaledChance()

    Declaration
    public float GetScaledChance()
    Returns
    Type Description
    float

    IsAvailableInGame()

    Is this modifier available in game? If false, this modifier will not be applied to nodes.
    Checked on server everytime when generating world.
    NOTE that in-game constellation registration happens AFTER first world generation!!!!

    Declaration
    public virtual bool IsAvailableInGame()
    Returns
    Type Description
    bool

    ModifyEntities(Action<Entity>, Action<Entity>)

    Modify all entities.
    onStart is called on all existing entities and entities spawned in the future.
    onStop is called on all existing entities when modifier stops.

    Declaration
    public void ModifyEntities(Action<Entity> onStart, Action<Entity> onStop)
    Parameters
    Type Name Description
    System.Action<T><Entity> onStart
    System.Action<T><Entity> onStop

    OnCreate()

    Declaration
    protected override void OnCreate()
    Overrides
    Actor.OnCreate()

    OnDestroyActor()

    Declaration
    protected override void OnDestroyActor()
    Overrides
    Actor.OnDestroyActor()

    OnStart()

    Declaration
    public override void OnStart()
    Overrides
    Actor.OnStart()

    PlaceDecorations(DecorationSettings, IReadOnlyList<(int, int)>)

    Declaration
    public static List<GameObject> PlaceDecorations(DecorationSettings s, IReadOnlyList<(int, int)> indices)
    Parameters
    Type Name Description
    DecorationSettings s
    System.Collections.Generic.IReadOnlyList<T><(int, int)> indices
    Returns
    Type Description
    System.Collections.Generic.List<T><UnityEngine.GameObject>

    PlaceShrine<T>(PlaceShrineSettings)

    Places a shrine on random position.
    This function properly handles revisits.
    Warning: does not support multiple shrines of same type

    Declaration
    public void PlaceShrine<T>(PlaceShrineSettings settings) where T : Shrine
    Parameters
    Type Name Description
    PlaceShrineSettings settings
    Type Parameters
    Name Description
    T

    RemoveModifier()

    Remove and destroy this modifier.

    Declaration
    public void RemoveModifier()

    ShouldBeSavedWithRoom()

    Declaration
    public override bool ShouldBeSavedWithRoom()
    Returns
    Type Description
    bool
    Overrides
    Actor.ShouldBeSavedWithRoom()

    Explicit Interface Implementations

    IExcludeFromPool.excludeFromPool

    Declaration
    bool IExcludeFromPool.excludeFromPool { get; }
    Returns
    Type Description
    bool

    Implements

    ILogicUpdate
    ICleanup
    ICustomDestroyRoutine
    IExcludeFromPool

    Extension Methods

    ActorCheck.IsNullOrInactive(Actor)
    DewGUI.SetExpandHeight<T>(T, bool)
    DewGUI.SetExpandHeight<T>(T, float)
    DewGUI.SetExpandWidth<T>(T, bool)
    DewGUI.SetExpandWidth<T>(T, float)
    DewGUI.SetHeight<T>(T, float)
    DewGUI.SetText<T>(T, string)
    DewGUI.SetTextLocalized<T>(T, string)
    DewGUI.SetWidth<T>(T, float)
    In This Article
    Back to top Shape of Dreams API Documentation