protected override void OnConstruct() { base.OnConstruct(); _logLines = new string[GetMaxLines()]; _vm = new ScriptVm(); _vm.ShowLineInfo(false); OnRegisterFunctions(_vm); _onDevConsoleId = "DeveloperConsole".GetUiActionGroupId(); _markup = MarkupContainer.CreateMarkup(MarkupSchema); _markup.AttachTheme(Resources.Load <MarkupTheme> (MarkupTheme)); _markup.CreateVisuals(); _markup.GetCanvas().sortingOrder = short.MaxValue; _markup.gameObject.SetActive(false); _logScroll = _markup.GetNamedNode(MarkupScrollViewName).GetComponent <ScrollRect> ().content; _logScroll.pivot = new Vector2(0.5f, 0f); _logText = _markup.GetNamedNode(MarkupLogTextName).GetComponent <Text> (); _logText.horizontalOverflow = HorizontalWrapMode.Overflow; _logText.verticalOverflow = VerticalWrapMode.Overflow; var inputTr = _markup.GetNamedNode(MarkupInputName); var offset = inputTr.offsetMax; offset.x = -CloseButtonWidth; inputTr.offsetMax = offset; _inputField = inputTr.GetComponent <InputField> (); Singleton.Get <UnityEventBus> ().Subscribe <UiInputEndActionData> (OnInputEnd); Singleton.Get <UnityEventBus> ().Subscribe <UiClickActionData> (OnClose); }
protected override void OnAttachHostFunctions(ScriptVm vm) { base.OnAttachHostFunctions(vm); // Registering our custom methods for access from scripts. vm.RegisterHostFunction("test_sqrt", OnSqrt); vm.RegisterHostFunction("test_echo", OnTest); }
ScriptVar OnSqrt(ScriptVm vm) { var count = vm.GetParamsCount(); var v = vm.GetParamById(0); if (count < 1 || !v.IsNumber) { vm.SetRuntimeError("(nValue) parameter required"); return(new ScriptVar()); } return(new ScriptVar(Mathf.Sqrt(v.AsNumber))); }
ScriptVar OnTest(ScriptVm vm) { var count = vm.GetParamsCount(); if (count != 1) { vm.SetRuntimeError("test_echo function requires only one parameter"); return(new ScriptVar()); } var v = vm.GetParamById(0); Debug.Log("OnTest callback called with parameter: " + v.AsString); return(v); }
public async Task <IActionResult> Save(int id, [FromBody] ScriptVm scriptVm) { Script script = await _db.Scripts.SingleOrDefaultAsync(s => s.Id == id); if (script == null) { return(NotFound()); } if (script.UserId != _userManager.GetUserId(User)) { return(Forbid()); } script.Text = scriptVm.Text; script.ModifiedOn = DateTime.Now; script.VerifiedOn = null; await _db.SaveChangesAsync(); return(Json(_mapper.Map <Script, ScriptVm>(script))); }
public async Task <IActionResult> Create([FromBody] ScriptVm scriptVm) { GameData.Assignment assignment = _gameData.Threads.SingleOrDefault(t => t.AssignmentId == scriptVm.AssignmentId)?.Assignment; if (assignment == null) { return(NotFound()); } Script script = new Script { UserId = _userManager.GetUserId(User), AssignmentId = assignment.Id, ModifiedOn = DateTime.Now, Name = scriptVm.Name, Text = assignment.Template }; await _db.Scripts.AddAsync(script); await _db.SaveChangesAsync(); return(Json(_mapper.Map <Script, ScriptVm>(script))); }
public IActionResult ScriptsGenarate(ScriptVm aa) { if (HttpContext.Session.GetString("UserRole") == "2") { var a = _context.BusSchedules.AsNoTracking().Where(s => s.BusId == aa.BusId).Include(cp => cp.Bus).FirstOrDefault(); var ss = _context.TicketReservations. Include(s => s.Passenger).Include(ab => ab.BusSchedule).ToList(); var paseenger = _context.Passengers.AsNoTracking().ToList(); var Query = from t in _context.TicketReservations.Include(x => x.BusSchedule).ThenInclude(y => y.Bus) .Include(m => m.BusSchedule.Place). Include(s => s.Passenger).ToList() /*/*.Include(ab => ab.BusSchedule)/*where*/ //t.Date.Day == aa.Date.Day //&& t.Date.Month == aa.Date.Month //&& t.Date.Year == aa.Date.Year where t.PassengerId > 1 && t.Date.Month == aa.Date.Month && t.Date.Year == aa.Date.Year && t.Date.Day == aa.Date.Day && t.BusSchedule.BusId == aa.BusId group t by t.PassengerId into groupPassenger let temp = ( from val in groupPassenger select new { Name = val.Passenger.Name, Mobile = val.Passenger.Mobile, Seat = val.SeatNumber, Statring = val.BusSchedule.Place.PlaceName, BusName = val.BusSchedule.Bus.CoachName, } ) select temp; if (Query.Count() == 0) { ViewBag.SMS = "No Data"; return(RedirectToAction("Scripts")); } var Destinaio0n = _context.Places.Where(s => s.PlaceId == a.Destination).FirstOrDefault(); ViewBag.Destinaion = Destinaio0n.PlaceName; var sent = new List <ScriptVm>(); foreach (var item in Query) { var str = new List <string>(); ScriptVm scriptVm = new ScriptVm(); int abc = 1; foreach (var v in item) { if (abc == 1) { scriptVm = new ScriptVm(); } scriptVm.Name = v.Name; scriptVm.Mobile = v.Mobile; scriptVm.Route = v.Statring; scriptVm.BusName = v.BusName; str.Add(v.Seat); abc++; } scriptVm.Seat = str; sent.Add(scriptVm); } return(View(sent)); } else { return(RedirectToAction("Index", "Home")); } }
//---------------------------------------------------------------------------------------------------------------------- public Parser(ScriptVm vm, Scanner scanner) { _scanner = scanner; Vars = new Vars(vm); }
/// <summary> /// Should be implemented for custom functions processing at console. /// For registering functions - use _vm.RegisterHostFunction() method. /// </summary> /// <param name="vm">Script engine instance.</param> protected abstract void OnRegisterFunctions(ScriptVm vm);