// 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 }
/// <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()); }
/// <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()); }
/// <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(); }
/// <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); }
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()); }
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()); }
/// <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)); } }
/// <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)); } }
internal static CVar RegisterInternal(string name, object value, string help, CVarFlags flags) { CVars.Add(new DynamicCVar(name, value, flags, help)); return(CVars.Last()); }
public void Add(CVar cvar) { CVars.Add(cvar); }