#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#---------------------------------------------------------------------  
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
##@package PlayerFamilySWRH  
 | 
# @todo: ÊØÎÀÈË»Ê  
 | 
#  
 | 
# @author: xdh  
 | 
# @date 2018-04-02  
 | 
# @version 1.0  
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
#"""Version = 2018-04-02 16:00"""  
 | 
#---------------------------------------------------------------------  
 | 
import GameWorld  
 | 
import PyGameData  
 | 
import ChPyNetSendPack  
 | 
import NetPackCommon  
 | 
import ShareDefine  
 | 
import ChConfig  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
def OnLogin(curPlayer):  
 | 
    familyID = curPlayer.GetFamilyID()  
 | 
    if familyID:  
 | 
        NotifySWRHInfo(curPlayer, familyID)  
 | 
    return  
 | 
  
 | 
def SWRHFBOver(familyID):  
 | 
    if familyID not in PyGameData.g_swrhJoinRecord:  
 | 
        PyGameData.g_swrhJoinRecord.append(familyID)  
 | 
      
 | 
    #֪ͨ  
 | 
    family = GameWorld.GetFamilyManager().FindFamily(familyID)  
 | 
    if not family:  
 | 
        return  
 | 
    for i in range(0, family.GetCount()):  
 | 
        notifyMember = family.GetAt(i)  
 | 
        curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(notifyMember.GetPlayerID())          
 | 
        if curPlayer == None:  
 | 
            continue  
 | 
        NotifySWRHInfo(curPlayer, familyID)  
 | 
    return  
 | 
  
 | 
def NotifySWRHInfo(curPlayer, familyID):  
 | 
    familySWRHInfo = ChPyNetSendPack.tagGCFamilySWRHInfo()  
 | 
    familySWRHInfo.HasJoin = familyID in PyGameData.g_swrhJoinRecord  
 | 
    NetPackCommon.SendFakePack(curPlayer, familySWRHInfo)  
 | 
    return  
 | 
  
 | 
  
 | 
def OnSWRHStateChange(dictName, isOpen):  
 | 
    PyGameData.g_swrhJoinRecord = []  
 | 
      
 | 
      
 | 
    return  
 | 
  
 | 
#ÊÇ·ñÔÚÊØÎÀÈ˻ʻÖÐ  
 | 
def IsInFamilySWRH():return GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyInvade) 
 |