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)
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)
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)
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)