Esempio n. 1
0
        // Host_InitLocal
        private void InitialiseLocal( )
        {
            InititaliseCommands( );

            if (Cvars.SystemTickRate == null)
            {
                Cvars.SystemTickRate = CVars.Add("sys_ticrate", 0.05);
                Cvars.Developer      = CVars.Add("developer", false);
                Cvars.FrameRate      = CVars.Add("host_framerate", 0.0); // set for slow motion
                Cvars.HostSpeeds     = CVars.Add("host_speeds", false);  // set for running times
                Cvars.ServerProfile  = CVars.Add("serverprofile", false);
                Cvars.FragLimit      = CVars.Add("fraglimit", 0, ClientVariableFlags.Server);
                Cvars.TimeLimit      = CVars.Add("timelimit", 0, ClientVariableFlags.Server);
                Cvars.TeamPlay       = CVars.Add("teamplay", 0, ClientVariableFlags.Server);
                Cvars.SameLevel      = CVars.Add("samelevel", false);
                Cvars.NoExit         = CVars.Add("noexit", false, ClientVariableFlags.Server);
                Cvars.Skill          = CVars.Add("skill", 1);      // 0 - 3
                Cvars.Deathmatch     = CVars.Add("deathmatch", 0); // 0, 1, or 2
                Cvars.Coop           = CVars.Add("coop", false);
                Cvars.Pausable       = CVars.Add("pausable", true);
                Cvars.Temp1          = CVars.Add("temp1", 0);
            }

            FindMaxClients( );

            Time = 1.0;         // so a think at time 0 won't get called
        }
Esempio n. 2
0
        /// <summary>
        /// Registers a new console variable that will update the user defined float.
        /// </summary>
        /// <param name="name">console variable name</param>
        /// <param name="value">reference to the memory that will be updated</param>
        /// <param name="help">help text that is shown when you use <paramref name="name"/> ? in the console</param>
        /// <param name="flags"></param>
        /// <returns>Newly null if failed, new CVar instance if successful</returns>
        public static CVar RegisterFloat(string name, ref float value, string help = "", CVarFlags flags = CVarFlags.None)
        {
            NativeCVarMethods.RegisterCVarFloat(name, ref value, value, flags, help);

            CVars.Add(new ByRefCVar(name));

            return(CVars.Last());
        }
Esempio n. 3
0
        /// <summary>
        /// Registers a new console variable that references a value.
        /// </summary>
        /// <param name="name">The name of the console variable.</param>
        /// <param name="value">Reference to the memory that will be updated.</param>
        /// <param name="help">
        /// Help text that is shown when you use <paramref name="name" />? in the console.
        /// </param>
        /// <param name="flags">A set of flags to assign to the variable.</param>
        /// <returns>Null if failed, new <see cref="CVar"/> instance if successful.</returns>
        public static CVar RegisterInt(string name, ref int value, string help = "", CVarFlags flags = CVarFlags.None)
        {
            Native.ConsoleInterop.RegisterCVarInt(name, ref value, value, flags, help);

            CVars.Add(new ByRefCVar(name));

            return(CVars.Last());
        }
Esempio n. 4
0
        /// <summary>
        ///     Reset the local data.
        /// </summary>
        public void Reset()
        {
            CVars.Clear();
            CVars.Add("tv_nochat", "0");
            CVars.Add("joy_autoaimdampen", "0");
            CVars.Add("name", _details.Name);
            CVars.Add("cl_interp_ratio", "2");
            CVars.Add("tv_listen_voice_indices", "0");
            CVars.Add("cl_predict", "0");
            CVars.Add("cl_updaterate", "30");
            CVars.Add("cl_showhelp", "1");
            CVars.Add("steamworks_sessionid_lifetime_client", "0");
            CVars.Add("cl_mouselook", "1");
            CVars.Add("steamworks_sessionid_client", "0");
            CVars.Add("dota_mute_cobroadcasters", "0");
            CVars.Add("voice_loopback", "0");
            CVars.Add("dota_player_initial_skill", "0");
            CVars.Add("cl_lagcompensation", "1");
            CVars.Add("closecaption", "0");
            CVars.Add("cl_language", "english");
            CVars.Add("english", "1");
            CVars.Add("cl_class", "default");
            CVars.Add("snd_voipvolume", "1");
            CVars.Add("snd_musicvolume", "1");
            CVars.Add("cl_cmdrate", "30");
            CVars.Add("net_maxroutable", "1200");
            CVars.Add("cl_team", "default");
            CVars.Add("rate", "80000");
            CVars.Add("cl_predictweapons", "1");
            CVars.Add("cl_interpolate", "1");
            CVars.Add("cl_interp", "0.05");
            CVars.Add("dota_camera_edgemove", "1");
            CVars.Add("snd_gamevolume", "1");
            CVars.Add("cl_spec_mode", "1");

            Classes.Clear();
            ClassesByName.Clear();
            SendTables.Clear();
            FlatTables.Clear();
            Properties.Clear();
            Slots.Clear();
            Strings.Clear();
            StringsIndex.Clear();

            Created.Clear();
            Deleted.Clear();
        }
Esempio n. 5
0
        /// <summary>
        /// Retrieve a console variable by name - not case sensitive
        /// </summary>
        /// <param name="name">The name of the CVar to retrieve</param>
        /// <returns>null if not found, CVar instance if successful</returns>
        public static CVar Get(string name)
        {
            CVar cvar = CVars.FirstOrDefault(var => var.Name.Equals(name));

            if (cvar != default(CVar))
            {
                return(cvar);
            }

            if (NativeCVarMethods.HasCVar(name))
            {
                CVars.Add(new ExternalCVar(name));

                return(CVars.Last());
            }

            return(null);
        }
Esempio n. 6
0
        internal static CVar Register(CVarAttribute attribute, MemberInfo memberInfo, string value)
        {
            if (attribute.Name == null)
            {
                attribute.Name = memberInfo.Name;
            }

            NativeCVarMethods.RegisterCVarString(attribute.Name, value, (string)attribute.DefaultValue ?? string.Empty, attribute.Flags, attribute.Help);

            if (memberInfo.MemberType == MemberTypes.Field)
            {
                CVars.Add(new StaticCVarField(attribute, memberInfo as FieldInfo));
            }
            else
            {
                CVars.Add(new StaticCVarProperty(attribute, memberInfo as PropertyInfo));
            }

            return(CVars.Last());
        }
Esempio n. 7
0
        internal static CVar Register(CVarAttribute attribute, MemberInfo memberInfo, ref float value)
        {
            if (attribute.Name == null)
            {
                attribute.Name = memberInfo.Name;
            }

            NativeCVarMethods.RegisterCVarFloat(attribute.Name, ref value, System.Convert.ToSingle(attribute.DefaultValue), attribute.Flags, attribute.Help);

            if (memberInfo.MemberType == MemberTypes.Field)
            {
                CVars.Add(new StaticCVarField(attribute, memberInfo as FieldInfo));
            }
            else
            {
                CVars.Add(new StaticCVarProperty(attribute, memberInfo as PropertyInfo));
            }

            return(CVars.Last());
        }
Esempio n. 8
0
        /// <summary>
        /// Sets or Adds a CVar.
        /// </summary>
        /// <typeparam name="T">The datatype of the cvar.</typeparam>
        /// <param name="name">The cvar's name.</param>
        /// <param name="value">The cvar's value.</param>
        public static void SetCVar <T>(string name, T value)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            if (CVars.ContainsKey(name))
            {
                CVars[name] = new CVar(CVars[name].dtype, value);
            }
            else
            {
                CVars.Add(name, new CVar(typeof(T), value));
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Adds a CVar.
        /// </summary>
        /// <typeparam name="T">The datatype of the cvar.</typeparam>
        /// <param name="name">The cvar's name.</param>
        /// <param name="value">The cvar's value.</param>
        public static void AddCVar <T>(string name, T value)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            if (CVars.ContainsKey(name))
            {
                throw new Exception(String.Format("CVar \"{0}\" already exists!", name));
            }
            else
            {
                CVars.Add(name, new CVar(typeof(T), value));
            }
        }
Esempio n. 10
0
        internal static CVar RegisterInternal(string name, object value, string help, CVarFlags flags)
        {
            CVars.Add(new DynamicCVar(name, value, flags, help));

            return(CVars.Last());
        }
Esempio n. 11
0
 public void Add(CVar cvar)
 {
     CVars.Add(cvar);
 }