コード例 #1
0
def broadcast_red_message(info):
    rsp = poem_pb.RedInfo(**info)
    if not info:
        return
    g_redManager.cache_red_message(info)
    msg = success_msg(msgid.DAILY_RED_INFO, rsp)
    for k, p in g_entityManager.players.items():
        g_playerManager.sendto(k, msg)
コード例 #2
0
 def send_red_message(self,
                      p,
                      message,
                      red_count=0,
                      cd=10,
                      red_drop=0,
                      to_self=False,
                      type=RedType.Normal,
                      module=RedModuleType.Daily,
                      **kwargs):
     if not message.strip(" "):
         return
     t = str(float(time.time()))
     data = {
         "message": message,
         "type": type,
         "order": t,
         "to_self": to_self,
         "module": module,
         "drop": red_drop,
     }
     if isinstance(p, int):
         entityID = p
     else:
         entityID = p.entityID
         data.update({
             "name": p.name,
             "prototypeID": p.prototypeID,
             "borderID": p.borderID,
         })
     data.update(**kwargs)
     pb = poem_pb.RedInfo(**data)
     if type == RedType.Red:
         del data["to_self"]
         self.send_red(p, red_count, data)
     else:
         if to_self:
             msg = success_msg(msgid.DAILY_RED_INFO, pb)
             if g_playerManager.has_player(entityID):
                 g_playerManager.sendto(entityID, msg)
             else:
                 proxy.send_self_red_message(entityID, data)
         else:
             data["cd"] = cd
             proxy.broadcast_red_message(data)
コード例 #3
0
def send_horn(message, cd=10, **kwargs):
    t = str(float(time.time()))
    data = {
        "message": message,
        "type": RedType.Horn,
        "order": t,
        "to_self": False,
        "module": RedModuleType.System,
        "cd": cd,
    }
    data.update(**kwargs)
    data["cd"] = cd
    g_redManager.cache_red_message(data)
    rsp = poem_pb.RedInfo(**data)
    print rsp
    msg = success_msg(msgid.BROADCAST_HORN, rsp)
    for k, p in g_entityManager.players.items():
        g_playerManager.sendto(k, msg)
コード例 #4
0
def send_self_red_message(entityID, info):
    rsp = poem_pb.RedInfo(**info)
    if not info:
        return
    msg = success_msg(msgid.DAILY_RED_INFO, rsp)
    g_playerManager.sendto(entityID, msg)