/// <summary> /// /// </summary> /// <param name="baseMobile"></param> public void OnLeave(BaseCharacter character) { if (m_MapSpaceNodeState != null) { m_MapSpaceNodeState.OnLeavingMapSpaceNode(character, this); } m_Players.Remove(character); if (this.PlayersCount == 0 && m_SpaceNodeState != SpaceNodeState.Deactivate) { // 如果游戏玩家的列表是空的话,则无效区域点,说明此区域点玩家不存在 m_LockSpaceNodeState.Enter(); { if (this.PlayersCount == 0 && m_SpaceNodeState != SpaceNodeState.Deactivate) { m_SpaceNodeState = SpaceNodeState.Deactivate; this.OnDeactivate(); } } m_LockSpaceNodeState.Exit(); } if (m_MapSpaceNodeState != null) { m_MapSpaceNodeState.OnLeavedMapSpaceNode(character, this); } }
/// <summary> /// /// </summary> /// <param name="baseMobile"></param> public void OnEnter(BaseCharacter character) { if (m_MapSpaceNodeState != null) { m_MapSpaceNodeState.OnEnteringMapSpaceNode(character, this); } m_Players.Add(character, character); if (m_SpaceNodeState != SpaceNodeState.Activate) { // 如果游戏玩家的列表是空的话,则激活区域点,说明此区域点有玩家存在 m_LockSpaceNodeState.Enter(); { if (this.PlayersCount > 0 && m_SpaceNodeState != SpaceNodeState.Activate) { m_SpaceNodeState = SpaceNodeState.Activate; this.OnActivate(); } } m_LockSpaceNodeState.Exit(); } if (m_MapSpaceNodeState != null) { m_MapSpaceNodeState.OnEnteredMapSpaceNode(character, this); } }
/// <summary> /// /// </summary> /// <param name="baseMobile"></param> public void OnLeave( BaseCharacter character ) { if ( m_MapSpaceNodeState != null ) m_MapSpaceNodeState.OnLeavingMapSpaceNode( character, this ); m_Players.Remove( character ); if ( this.PlayersCount == 0 && m_SpaceNodeState != SpaceNodeState.Deactivate) { // 如果游戏玩家的列表是空的话,则无效区域点,说明此区域点玩家不存在 m_LockSpaceNodeState.Enter(); { if ( this.PlayersCount == 0 && m_SpaceNodeState != SpaceNodeState.Deactivate ) { m_SpaceNodeState = SpaceNodeState.Deactivate; this.OnDeactivate(); } } m_LockSpaceNodeState.Exit(); } if ( m_MapSpaceNodeState != null ) m_MapSpaceNodeState.OnLeavedMapSpaceNode( character, this ); }
/// <summary> /// /// </summary> /// <param name="baseMobile"></param> public void OnEnter( BaseCharacter character ) { if ( m_MapSpaceNodeState != null ) m_MapSpaceNodeState.OnEnteringMapSpaceNode( character, this ); m_Players.Add( character, character ); if ( m_SpaceNodeState != SpaceNodeState.Activate ) { // 如果游戏玩家的列表是空的话,则激活区域点,说明此区域点有玩家存在 m_LockSpaceNodeState.Enter(); { if ( this.PlayersCount > 0 && m_SpaceNodeState != SpaceNodeState.Activate ) { m_SpaceNodeState = SpaceNodeState.Activate; this.OnActivate(); } } m_LockSpaceNodeState.Exit(); } if ( m_MapSpaceNodeState != null ) m_MapSpaceNodeState.OnEnteredMapSpaceNode( character, this ); }