1 AccountArray
poopki edited this page 2 years ago

AccountArray

서버 내 모든 유저 정보 접근을 위한 instance들을 Map으로 관리하는 class

m_UserInfoArray

private static Map<UUID, UserInfo> m_UserInfoArray = new HashMap<UUID, UserInfo>();
UUID(UUID) UserInfo(Instance)
0x000 0x0000
  • Input: UUID
  • Output: Instance pointer

getUserName

public String getUserName(UUID uuid){ // 유저 이름 return
        return m_UserInfoArray.get(uuid).getUserName();
    }
  • Input: uuid
  • Output: 유저 닉네임

UserInfoArray로부터 return받은 UserInfo Instance의 getUserName에 접근하여 닉네임을 return

checkNewUser

public boolean checkNewUser(UUID uuid){ // 유저 목록 check
        return m_UserInfoArray.containsKey(uuid);
    }
  • Input: uuid
  • Output: boolean

Map에 uuid key가 존재하는지 containsKey을 통해 return

getKeySet

public Set<UUID> getKeySet(){ // 유저 목록 return
            return m_UserInfoArray.keySet();
    }
  • Input: None
  • Output: Key set

getUserGroupUUID

    public UUID getUserGroupUUID(UUID PlayerUUID, String GroupType){
        return m_UserInfoArray.get(PlayerUUID).GetGroupUUID(GroupType);
    }
  • Input: PlayerUUID, GroupType
  • Output: Group UUID

UserInfoArray로부터 return받은 UserInfo Instance의 GetGroupUUID에 접근하여 유저의 Group UUID를 return받음

Group Type

  1. Nation
  2. Squad
  3. Farm
  4. Party

setUserGroupUUID

    public void setUserGroupUUID(String GroupType, UUID PlayerUUID, UUID GroupUUID){
          m_UserInfoArray.get(PlayerUUID).SetGroupUUID(GroupType,GroupUUID);
    }
  • Input: GroupType, PlayerUUID, GroupUUID
  • Output: None 플레이어를 특정 그룹(UUID)에 가입시키고, 이를 UserInfo Instance에 기록

putUserInfo

    public void putUserInfo(UUID uuid,String Name, UUID Nation, UUID Squad, UUID Farm, UUID Party) { // UserInfoArray entry 입력
        m_UserInfoArray.put(uuid, new UserInfo(uuid,Name, Nation, Squad, Farm, Party));
    }
  • Input: (UUID uuid,String Name, UUID Nation, UUID Squad, UUID Farm, UUID Party)
  • Output: None 기록되지 않은 유저를 새로 put

  • Input:
  • Output:

  • Input:
  • Output: