public void Synchronize(SynchronizeTag tag, byte playerId) { if (!dic.ContainsKey(tag)) { dic[tag] = 0; } dic[tag] |= (ulong)1 << playerId; }
public static void Synchronize(SynchronizeTag tag, byte playerId) { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.Synchronize, Hazel.SendOption.Reliable, -1); writer.Write(playerId); writer.Write((int)tag); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.synchronize(playerId, (int)tag); }
public bool Align(SynchronizeTag tag, bool withGhost, bool withSurvivor = true) { bool result = true; ulong value = 0; dic.TryGetValue(tag, out value); foreach (PlayerControl pc in PlayerControl.AllPlayerControls) { if (pc.Data.IsDead ? withGhost : withSurvivor) { result &= ((value & ((ulong)1 << pc.PlayerId)) != 0); } } return(result); }
public void Reset(SynchronizeTag tag) { dic[tag] = 0; }