protected bool IsOnScreen(Point topLeft) { return(ToolManager.IsOnScreen(topLeft)); }
public MovieZone(IMovie movie, IEmulator emulator, ToolManager tools, IMovieSession movieSession, int start, int length, string key = "") { _emulator = emulator; _tools = tools; _movieSession = movieSession; var lg = movie.LogGeneratorInstance(movieSession.MovieController); _targetController = movieSession.GenerateMovieController(); _targetController.SetFrom(_targetController); // Reference and create all buttons if (key == "") { key = lg.GenerateLogKey(); } key = key.Replace("LogKey:", "").Replace("#", ""); key = key.Substring(0, key.Length - 1); _inputKey = key; Length = length; _log = new string[length]; // Get a IController that only contains buttons in key. string[] keys = key.Split('|'); var d = new ControllerDefinition(); foreach (var k in keys) { if (_emulator.ControllerDefinition.BoolButtons.Contains(k)) { d.BoolButtons.Add(k); } else { d.Axes.Add(k, _emulator.ControllerDefinition.Axes[k]); } } _controller = movieSession.GenerateMovieController(d); var logGenerator = movieSession.Movie.LogGeneratorInstance(_controller); logGenerator.GenerateLogEntry(); // Reference and create all buttons. string movieKey = logGenerator.GenerateLogKey().Replace("LogKey:", "").Replace("#", ""); movieKey = movieKey.Substring(0, movieKey.Length - 1); if (key == movieKey) { for (int i = 0; i < length; i++) { _log[i] = movie.GetInputLogEntry(i + start); } } else { for (int i = 0; i < length; i++) { _controller.SetFrom(movie.GetInputState(i + start)); _log[i] = logGenerator.GenerateLogEntry(); } } }
public IEnumerable <Type> AvailableTools => _toolManager.AvailableTools.ToList(); // defensive copy in case ToolManager's implementation changes public ToolApi(ToolManager toolManager) => _toolManager = toolManager;
public MovieZone(IMovie movie, IEmulator emulator, ToolManager tools, int start, int length, string key = "") { _emulator = emulator; _tools = tools; var lg = movie.LogGeneratorInstance(); lg.SetSource(Global.MovieSession.MovieControllerAdapter); _targetController = new Bk2ControllerAdapter { Definition = _emulator.ControllerDefinition }; _targetController.LatchFromSource(_targetController); // Reference and create all buttons if (key == "") { key = lg.GenerateLogKey(); } key = key.Replace("LogKey:", "").Replace("#", ""); key = key.Substring(0, key.Length - 1); _inputKey = key; Length = length; _log = new string[length]; // Get a IController that only contains buttons in key. string[] keys = key.Split('|'); var d = new ControllerDefinition(); foreach (var k in keys) { if (_emulator.ControllerDefinition.BoolButtons.Contains(k)) { d.BoolButtons.Add(k); } else { d.FloatControls.Add(k); int rangeIndex = _emulator.ControllerDefinition.FloatControls.IndexOf(k); d.FloatRanges.Add(_emulator.ControllerDefinition.FloatRanges[rangeIndex]); } } _controller = new Bk2ControllerAdapter { Definition = d }; var logGenerator = new Bk2LogEntryGenerator(""); logGenerator.SetSource(_controller); logGenerator.GenerateLogEntry(); // Reference and create all buttons. string movieKey = logGenerator.GenerateLogKey().Replace("LogKey:", "").Replace("#", ""); movieKey = movieKey.Substring(0, movieKey.Length - 1); if (key == movieKey) { for (int i = 0; i < length; i++) { _log[i] = movie.GetInputLogEntry(i + start); } } else { for (int i = 0; i < length; i++) { _controller.LatchFromSource(movie.GetInputState(i + start)); _log[i] = logGenerator.GenerateLogEntry(); } } }