public RGB Convert(HSM input) { double x = Math.Cos(input.H); double w = 41.0.SquareRoot() * input.S * x; double a = .0, b = .0, c = .0; a = 3.0 / 41.0 * input.S * x; b = input.M; c = 4.0 / 861.0 * (861.0 * input.S.Power(2) * (1.0 - x.Power(2))).SquareRoot(); var R = a + b - c; a = w; b = 23.0 * input.M; c = 19.0 * R; var G = (a + b - c) / 4.0; a = 11 * R; b = 9.0 * input.M; c = w; var B = (a - b - c) / 2.0; return(new RGB(new Vector(R, G, B).Coerce(0, 1))); }
public HitResourcegroup(string HitPath, string EVTPath, string HSMPath) { HitResource = new Hit(File.Open(HitPath, FileMode.Open, FileAccess.Read, FileShare.Read)); Events = new EVT(File.Open(EVTPath, FileMode.Open, FileAccess.Read, FileShare.Read)); if (HSMPath != "") { Symbols = new HSM(HSMPath); } }
public void TestRates() { if (_FuelFlowRate > _AirFlowRate) { HSM.AsyncDispatch(new QEvent("FuelInMixture")); } else { HSM.AsyncDispatch(new QEvent("FuelDissipated")); } }
private static void HarassMenu() { HSM = Menu.AddSubMenu("骚扰"); HSM.Add("Q", new CheckBox("使用 Q")); HSM.Add("QMana", new Slider("最低 % 蓝量 Q", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("W", new CheckBox("使用 W")); HSM.Add("extW", new CheckBox("延长 W (W 接近)", false)); HSM.Add("AutoW", new CheckBox("骚扰后自动 W2")); HSM.Add("WMana", new Slider("最低 % 蓝量 W", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("E", new CheckBox("使用 E", false)); HSM.Add("EMana", new Slider("最低 % 蓝量 E", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("Auto", new KeyBind("自动骚扰按键开关", false, KeyBind.BindTypes.PressToggle, 'N')); }
private static void HarassMenu() { HSM = Menu.AddSubMenu("Harass"); HSM.Add("Q", new CheckBox("Kullan Q")); HSM.Add("QMana", new Slider("en az mana yüzde Q", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("W", new CheckBox("Kullan W")); HSM.Add("extW", new CheckBox("Gelişmiş W (Gapcloser için W)", false)); HSM.Add("AutoW", new CheckBox("Dürtmeden sonra otomatik W2")); HSM.Add("WMana", new Slider("en az mana yüzde W", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("E", new CheckBox("Kullan E", false)); HSM.Add("EMana", new Slider("en az mana yüzde E", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("Auto", new KeyBind("Otomatik Dürtme", false, KeyBind.BindTypes.PressToggle, 'N')); }
private static void HarassMenu() { HSM = Menu.AddSubMenu("Harass"); HSM.Add("Q", new CheckBox("Use Q")); HSM.Add("QMana", new Slider("Min mana % to Q", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("W", new CheckBox("Use W")); HSM.Add("extW", new CheckBox("Extended W (W to gapclose)", false)); HSM.Add("AutoW", new CheckBox("Auto W2 after harass")); HSM.Add("WMana", new Slider("Min mana % to W", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("E", new CheckBox("Use E", false)); HSM.Add("EMana", new Slider("Min mana % to E", 40, 0, 100)); HSM.AddSeparator(); HSM.Add("Auto", new KeyBind("Auto harass", false, KeyBind.BindTypes.PressToggle, 'N')); }
private HITResourceGroup LoadHitGroup(string HITPath, string EVTPath, string HSMPath) { var events = new EVT(EVTPath); var hitfile = new HITFile(HITPath); HSM hsmfile = null; if (HSMPath != null) { hsmfile = new HSM(HSMPath); } return(new HITResourceGroup() { evt = events, hit = hitfile, hsm = hsmfile }); }
public void Init() { //somewhat different from TSO audio - need to scan content for .hot files, then load them all //hot contains EVT, tracks, hitlists and patches... //...which are added to our global database. WAVSounds.Init(); MP3Sounds.Init(); XASounds.Init(); UTKSounds.Init(); var FilePattern = new Regex(@".*\.hot"); List <string> matchedFiles = new List <string>(); foreach (var file in ContentManager.TS1AllFiles) { if (FilePattern.IsMatch(file.Replace('\\', '/'))) { matchedFiles.Add(file); } } foreach (var file in matchedFiles) { //load associated HIT, HSM var cFile = Path.Combine(ContentManager.TS1BasePath, file); var bPath = cFile.Substring(0, cFile.Length - 4); //path without .hot extension var hsm = new HSM(PathCaseTools.Insensitive(bPath + ".hsm")); var hit = new HITFile(PathCaseTools.Insensitive(bPath + ".hit")); var hot = new Hot(cFile, hsm); var group = new HITResourceGroup() { hsm = hsm, hit = hit, hot = hot }; foreach (var trk in hot.Tracks) { if (TracksById.ContainsKey(trk.Key) && TracksById[trk.Key].SubroutineID != trk.Value.SubroutineID) { } TracksById[trk.Key] = trk.Value; } foreach (var patch in hot.Patches) { if (PatchesById.ContainsKey(patch.Key) && patch.Value.Filename != PatchesById[patch.Key].Filename) { } PatchesById[patch.Key] = patch.Value; } foreach (var hls in hot.Hitlists) { if (HitlistsById.ContainsKey(hls.Key) && HitlistsById[hls.Key].IDs.Count != hls.Value.IDs.Count) { } HitlistsById[hls.Key] = hls.Value; } foreach (var evt in hot.Events) { _Events[evt.Key] = new HITEventRegistration() { Name = evt.Value.Name, EventType = (FSO.Files.HIT.HITEvents)evt.Value.EventType, TrackID = evt.Value.TrackID, ResGroup = group }; } } var musics = Events.Where(x => x.Value.EventType == HITEvents.kSetMusicMode).Select(x => x.Key + ": " + x.Value.TrackID).ToList(); var stations = Events.Where(x => x.Value.EventType == HITEvents.kTurnOnTV).Select(x => x.Key + ": " + x.Value.TrackID.ToString()).ToList(); //.Select(x => x.Key + ": " + new string(new char[] { (char)(x.Value.TrackID & 0xFF), (char)((x.Value.TrackID >> 8) & 0xFF), (char)((x.Value.TrackID >> 16) & 0xFF), (char)((x.Value.TrackID >> 24) & 0xFF) })).ToList(); }
void StartLater() { m_Hsm = GameObject.FindGameObjectWithTag("GameController").GetComponent <HSM>(); InitStateMap(); }