DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ RunEnscript()

void OnSelected::RunEnscript ( )
protected

См. определение в файле ScriptConsoleEnfScriptTab.c строка 394

395{
396 protected static ScriptConsoleEnfScriptTab m_Instance;
397 protected int m_EnscriptHistoryRow;
398 protected int m_EnscriptHistoryRowServer;
401 protected PluginLocalEnscriptHistory m_ModuleLocalEnscriptHistory;
402 protected PluginLocalEnscriptHistoryServer m_ModuleLocalEnscriptHistoryServer;
403 protected MultilineEditBoxWidget m_EnfScriptEdit;
404 protected ButtonWidget m_EnfScriptRun;
405 protected ButtonWidget m_EnfScriptClear;
406 protected TextListboxWidget m_ScriptOutputListbox;
407 protected bool m_AllowScriptOutput;
408 protected int m_RunColor;
409
411
412 override void InitializeTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent = null)
413 {
414 super.InitializeTab(root, console, button, parent);
415
416 m_Instance = this;
417 m_ModuleLocalEnscriptHistory = PluginLocalEnscriptHistory.Cast(GetPlugin(PluginLocalEnscriptHistory));
418 m_ModuleLocalEnscriptHistoryServer = PluginLocalEnscriptHistoryServer.Cast(GetPlugin(PluginLocalEnscriptHistoryServer));
421 m_EnfScriptEdit = MultilineEditBoxWidget.Cast(root.FindAnyWidget("MultilineEditBoxWidget0"));
422 m_EnfScriptRun = ButtonWidget.Cast(root.FindAnyWidget("RunButton"));
423 m_EnfScriptClear = ButtonWidget.Cast(root.FindAnyWidget("ClearButton"));
424 m_ScriptOutputListbox = TextListboxWidget.Cast(root.FindAnyWidget("ScriptOutputListbox"));
425 m_RunColor = m_EnfScriptRun.GetColor();
426 }
427
429 {
430 m_Instance = null;
431 }
432
433 override void OnSelected()
434 {
435 int index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
436 if (m_EnscriptConsoleHistory.IsValidIndex(index))
437 {
438 string text = m_EnscriptConsoleHistory.Get(index);
439 m_EnfScriptEdit.SetText(text);
440 }
442 }
443
444 static void PrintS(string message)
445 {
446 Print(message);
447 if (m_Instance)
448 m_Instance.Add(message);
449 }
450
451 static void PrintS(bool message)
452 {
453 PrintS(message.ToString());
454 }
455
456 static void PrintS(int message)
457 {
458 PrintS(message.ToString());
459 }
460
461 static void PrintS(float message)
462 {
463 PrintS(message.ToString());
464 }
465
466 static void PrintS(vector message)
467 {
468 PrintS(message.ToString());
469 }
470
471 static void PrintS(Object message)
472 {
473 PrintS(message.ToString());
474 }
475
476
477 void Add(string message, bool isReload = false)
478 {
479 if (message != string.Empty)
480 {
482 {
483 if (!isReload)
484 m_ScriptOutputHistory.Insert(message);
485 m_ScriptOutputListbox.AddItem(String(message), NULL, 0);
486 m_ScriptOutputListbox.EnsureVisible(m_ScriptOutputListbox.GetNumItems());
487 }
488 }
489 }
490
491 protected void Clear(bool clearFile = false)
492 {
493 if(clearFile)
495 m_ScriptOutputListbox.ClearItems();
496 }
497
498
499
500 protected void ReloadScriptOutput()
501 {
502 m_ScriptOutputListbox.ClearItems();
503 m_AllowScriptOutput = true;
504 foreach ( string s: m_ScriptOutputHistory)
505 {
506 Add(s, true);
507 }
508 m_AllowScriptOutput = false;
509 }
510
511 void HistoryBack()
512 {
513
515 }
516
517 void HistoryForward()
518 {
520 }
521
522 protected void RunEnscript()
523 {
524 #ifdef DEVELOPER
525 string code;
526 m_EnfScriptEdit.GetText(code);
527 string codeNoReplace = code;
528 _player = PlayerBase.Cast(g_Game.GetPlayer());
529 m_AllowScriptOutput = true;
530 code.Replace("Print(","ScriptConsoleEnfScriptTab.PrintS(");
531 code.Replace("Print (","ScriptConsoleEnfScriptTab.PrintS(");
532 bool success = g_Game.ExecuteEnforceScript("void scConsMain() \n{\n" + code + "\n}\n", "scConsMain");
533 m_AllowScriptOutput = false;
534 ColorRunButton(success);
535
536 m_EnscriptConsoleHistory.Insert(codeNoReplace);
537 m_ModuleLocalEnscriptHistory.AddNewLine(codeNoReplace);
538 #endif
539 }
540
541 protected void ColorRunButton(bool success)
542 {
543 if (success)
544 {
545 m_EnfScriptRun.SetColor(ARGB(255,0,255,0));
546 }
547 else
548 {
549 m_EnfScriptRun.SetColor(ARGB(255,255,0,0));
550 }
551 g_Game.GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(ResetRunButtonColor,600);
552 }
553
554 protected void ResetRunButtonColor()
555 {
556 m_EnfScriptRun.SetColor(m_RunColor);
557 }
558
559 protected void RunEnscriptServer()
560 {
561 string code;
562 m_EnfScriptEdit.GetText(code);
564 m_ModuleLocalEnscriptHistoryServer.AddNewLine(code);
566 g_Game.RPCSingleParam(g_Game.GetPlayer(), ERPCs.DEV_RPC_SERVER_SCRIPT, CachedObjectsParams.PARAM1_STRING, true, g_Game.GetPlayer().GetIdentity());
567 }
568
569 protected void EnscriptHistoryBack()
570 {
571 int history_index;
572 if (m_EnfScriptEdit)
573 {
575 history_index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
576 if (history_index > -1)
577 {
578 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistory.Get(history_index));
579 }
581 }
582 }
583
584
585 protected void EnscriptHistoryForward()
586 {
587 if (m_EnfScriptEdit)
588 {
589 int history_index;
591 history_index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
592 if (history_index < m_EnscriptConsoleHistory.Count())
593 {
594 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistory.Get(history_index));
595 }
597 }
598 }
599
600 override void OnRPCEx(int rpc_type, ParamsReadContext ctx)
601 {
602 super.OnRPCEx(rpc_type, ctx);
603 #ifdef DIAG_DEVELOPER
604 switch (rpc_type)
605 {
606 case ERPCs.DEV_RPC_SERVER_SCRIPT_RESULT:
607 {
609 {
611 }
612 break;
613 }
614 }
615 #endif
616 }
617
618 override bool OnClick(Widget w, int x, int y, int button)
619 {
620 super.OnClick(w,x,y,button);
621 if (w == m_EnfScriptRun)
622 {
623 RunEnscript();
624 return true;
625 }
626 else if (w == m_EnfScriptClear)
627 {
628 m_ScriptOutputListbox.ClearItems();
629 m_ScriptOutputHistory.Clear();
630 return true;
631 }
632
633 return false;
634 }
635
636 override bool OnChange(Widget w, int x, int y, bool finished)
637 {
638 super.OnChange(w, x, y, finished);
639 return false;
640 }
641
642
643 override void Show(bool show, ScriptConsoleTabBase selectedHandler)
644 {
645 if (!show && (selectedHandler.Type() == ScriptConsoleEnfScriptTab || selectedHandler.Type() == ScriptConsoleEnfScriptServerTab))
646 {
647 //do nothing
648 }
649 else
650 {
651 m_Root.Show(show);
652 m_Root.Enable(show);
653 }
654 }
655
656}
657
658class ScriptConsoleEnfScriptServerTab : ScriptConsoleEnfScriptTab
659{
660 override void OnSelected()
661 {
663
665 if (m_EnscriptConsoleHistoryServer.IsValidIndex(index))
666 {
667 string text = m_EnscriptConsoleHistoryServer.Get(index);
668 m_EnfScriptEdit.SetText(text);
669 }
671 }
672
673 override protected void EnscriptHistoryBack()
674 {
675 int history_index;
676 if (m_EnfScriptEdit)
677 {
680 if (history_index > -1)
681 {
682 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistoryServer.Get(history_index));
683 }
685 }
686 }
687
688 override protected void EnscriptHistoryForward()
689 {
690 if (m_EnfScriptEdit)
691 {
692 int history_index;
693
696 if (history_index < m_EnscriptConsoleHistoryServer.Count())
697 {
698 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistoryServer.Get(history_index));
699 }
701 }
702 }
703
704 override bool OnClick(Widget w, int x, int y, int button)
705 {
706 if (w == m_EnfScriptRun)
707 {
709 return true;
710 }
711 else if (w == m_EnfScriptClear)
712 {
713 m_ScriptOutputListbox.ClearItems();
714 m_ScriptOutputHistory.Clear();
715 return true;
716 }
717
718 return false;
719 }
720}
override void Clear()
Определения ConstructionInfoIcons.c:41
DayZGame g_Game
Определения DayZGame.c:4074
void Show()
Определения DayZGame.c:171
ERPCs
Определения ERPCs.c:2
Empty
Определения Hand_States.c:14
Icon x
Icon y
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:326
PlayerBase _player
Определения QuickBarBase.c:18
static ref RadialMenu m_Instance
Определения RadialMenu.c:55
void ScriptConsole()
Определения ScriptConsole.c:114
ref TStringArray m_EnscriptConsoleHistoryServer
Определения ScriptConsoleEnfScriptTab.c:272
int m_EnscriptHistoryRowServer
Определения ScriptConsoleEnfScriptTab.c:270
override void OnRPCEx(int rpc_type, ParamsReadContext ctx)
Определения ScriptConsoleEnfScriptTab.c:472
ButtonWidget m_EnfScriptClear
Определения ScriptConsoleEnfScriptTab.c:277
ScriptConsoleEnfScriptTab ScriptConsoleTabBase OnSelected()
Определения ScriptConsoleEnfScriptTab.c:267
void ResetRunButtonColor()
Определения ScriptConsoleEnfScriptTab.c:426
void Add(string message, bool isReload=false)
Определения ScriptConsoleEnfScriptTab.c:349
void HistoryForward()
Определения ScriptConsoleEnfScriptTab.c:389
TextListboxWidget m_ScriptOutputListbox
Определения ScriptConsoleEnfScriptTab.c:278
bool m_AllowScriptOutput
Определения ScriptConsoleEnfScriptTab.c:279
static ref TStringArray m_ScriptOutputHistory
Определения ScriptConsoleEnfScriptTab.c:282
int m_RunColor
Определения ScriptConsoleEnfScriptTab.c:280
static void PrintS(string message)
Определения ScriptConsoleEnfScriptTab.c:316
void RunEnscriptServer()
Определения ScriptConsoleEnfScriptTab.c:431
void ~ScriptConsoleEnfScriptTab()
Определения ScriptConsoleEnfScriptTab.c:300
override bool OnClick(Widget w, int x, int y, int button)
Определения ScriptConsoleEnfScriptTab.c:490
PluginLocalEnscriptHistoryServer m_ModuleLocalEnscriptHistoryServer
Определения ScriptConsoleEnfScriptTab.c:274
void ReloadScriptOutput()
Определения ScriptConsoleEnfScriptTab.c:372
ButtonWidget m_EnfScriptRun
Определения ScriptConsoleEnfScriptTab.c:276
void EnscriptHistoryBack()
Определения ScriptConsoleEnfScriptTab.c:441
override bool OnChange(Widget w, int x, int y, bool finished)
Определения ScriptConsoleEnfScriptTab.c:508
void RunEnscript()
Определения ScriptConsoleEnfScriptTab.c:394
override void InitializeTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent=null)
Определения ScriptConsoleEnfScriptTab.c:284
int m_EnscriptHistoryRow
Определения ScriptConsoleEnfScriptTab.c:269
void HistoryBack()
Определения ScriptConsoleEnfScriptTab.c:383
PluginLocalEnscriptHistory m_ModuleLocalEnscriptHistory
Определения ScriptConsoleEnfScriptTab.c:273
ref TStringArray m_EnscriptConsoleHistory
Определения ScriptConsoleEnfScriptTab.c:271
void ColorRunButton(bool success)
Определения ScriptConsoleEnfScriptTab.c:413
MultilineEditBoxWidget m_EnfScriptEdit
Определения ScriptConsoleEnfScriptTab.c:275
void EnscriptHistoryForward()
Определения ScriptConsoleEnfScriptTab.c:457
Widget m_Root
Определения SizeToChild.c:91
static ref Param1< bool > PARAM1_BOOL
Определения UtilityClasses.c:12
static ref Param1< string > PARAM1_STRING
Определения UtilityClasses.c:14
static void ClearLogs()
Определения 3_Game/DayZ/tools/Debug.c:666
Определения 3_Game/DayZ/tools/Debug.c:2
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
override void OnSelected()
Определения ScriptConsoleEnfScriptTab.c:40
override bool OnClick(Widget w, int x, int y, int button)
Определения ScriptConsoleEnfScriptTab.c:225
proto bool Read(void value_in)
Определения EnWidgets.c:190
string ToString()
Определения EnConvert.c:3
proto string ToString(bool simple=true)
proto string ToString(bool beautify=true)
Vector to string.
Определения EnConvert.c:119
Serializer ParamsReadContext
Определения gameplay.c:15
proto void Print(void var)
Prints content of variable to console/log.
string String(string s)
Helper for passing string expression to functions with void parameter. Example: Print(String("Hello "...
Определения EnScript.c:339
class array< Class T > TStringArray
proto int Replace(string sample, string replace)
Replace all occurrances of 'sample' in 'str' by 'replace'.
proto string Get(int index)
Gets n-th character from string.
const int CALL_CATEGORY_SYSTEM
Определения 3_Game/DayZ/tools/tools.c:8
proto native void SetFocus(Widget w)
WorkspaceWidget Widget
Defined in code.
int ARGB(int a, int r, int g, int b)
Определения proto.c:322