private bool HasServerOptionFlag(ServerOptionFlag serverOptionFlag)
    {
        ServerOption option;
        ulong        num;
        ulong        num2;

        this.GetServerOptionFlagInfo(serverOptionFlag, out option, out num, out num2);
        return((NetCache.Get().GetULongOption(option) & num2) != 0L);
    }
 public void Set(ServerOptionFlag FuncFlags, uint property)
 {
     Unknown0         = 2;
     Unknown1         = uint.MaxValue;
     Unknown2         = ushort.MaxValue;
     Unknown3         = 0;
     Unknown4         = 0;
     MaintenanceFlags = FuncFlags;
     Property         = property;
 }
    private void GetServerOptionFlagInfo(ServerOptionFlag flag, out ServerOption container, out ulong flagBit, out ulong existenceBit)
    {
        int num   = (int)(ServerOptionFlag.HAS_SEEN_TOURNAMENT * flag);
        int index = Mathf.FloorToInt(num * 0.015625f);
        int num3  = num % 0x40;
        int num4  = 1 + num3;

        container    = s_serverFlagContainers[index];
        flagBit      = ((ulong)1L) << num3;
        existenceBit = ((ulong)1L) << num4;
    }
    private void DeleteServerOptionFlag(Option option, ServerOptionFlag serverOptionFlag)
    {
        ServerOption option2;
        ulong        num;
        ulong        num2;

        this.GetServerOptionFlagInfo(serverOptionFlag, out option2, out num, out num2);
        ulong uLongOption = NetCache.Get().GetULongOption(option2);

        if ((uLongOption & num2) != 0L)
        {
            bool prevVal = (uLongOption & num) != 0L;
            uLongOption &= ~num2;
            NetCache.Get().SetULongOption(option2, uLongOption);
            this.RemoveListeners(option, prevVal);
        }
    }
    private void BuildServerOptionFlagMap(Map <string, Option> options)
    {
        this.m_serverOptionFlagMap = new Map <Option, ServerOptionFlag>();
        IEnumerator enumerator = Enum.GetValues(typeof(ServerOptionFlag)).GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                ServerOptionFlag current = (ServerOptionFlag)((int)enumerator.Current);
                if (current != ServerOptionFlag.LIMIT)
                {
                    string key = current.ToString();
                    if (!key.StartsWith("DEPRECATED"))
                    {
                        Option option;
                        if (!options.TryGetValue(key, out option))
                        {
                            Debug.LogError(string.Format("Options.BuildServerOptionFlagMap() - ServerOptionFlag {0} is not mirrored in the Option enum", current));
                        }
                        else
                        {
                            this.m_serverOptionFlagMap.Add(option, current);
                        }
                    }
                }
            }
        }
        finally
        {
            IDisposable disposable = enumerator as IDisposable;
            if (disposable == null)
            {
            }
            disposable.Dispose();
        }
    }
예제 #6
0
 public void DeleteServerOptionFlag(Triton.Game.Mapping.Option option, ServerOptionFlag serverOptionFlag)
 {
     object[] objArray1 = new object[] { option, serverOptionFlag };
     base.method_8("DeleteServerOptionFlag", objArray1);
 }
예제 #7
0
 public bool HasServerOptionFlag(ServerOptionFlag serverOptionFlag)
 {
     object[] objArray1 = new object[] { serverOptionFlag };
     return(base.method_11 <bool>("HasServerOptionFlag", objArray1));
 }
예제 #8
0
 public ServerOptions(ServerOptionFlag optionFlag, uint property)
 {
     SetOptions(optionFlag, property);
 }
예제 #9
0
 public void SetOptions(ServerOptionFlag optionFlag, uint property)
 {
     m_data.Set(optionFlag, property);
 }