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

◆ RunEnscript()

void OnSelected::RunEnscript ( )
protected

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

391{
392 protected static ScriptConsoleEnfScriptTab m_Instance;
393 protected int m_EnscriptHistoryRow;
394 protected int m_EnscriptHistoryRowServer;
397 protected PluginLocalEnscriptHistory m_ModuleLocalEnscriptHistory;
398 protected PluginLocalEnscriptHistoryServer m_ModuleLocalEnscriptHistoryServer;
399 protected MultilineEditBoxWidget m_EnfScriptEdit;
400 protected ButtonWidget m_EnfScriptRun;
401 protected ButtonWidget m_EnfScriptClear;
402 protected TextListboxWidget m_ScriptOutputListbox;
403 protected bool m_AllowScriptOutput;
404 protected int m_RunColor;
405
407
408 void ScriptConsoleEnfScriptTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent = null)
409 {
410 m_Instance = this;
411 m_ModuleLocalEnscriptHistory = PluginLocalEnscriptHistory.Cast(GetPlugin(PluginLocalEnscriptHistory));
412 m_ModuleLocalEnscriptHistoryServer = PluginLocalEnscriptHistoryServer.Cast(GetPlugin(PluginLocalEnscriptHistoryServer));
415 m_EnfScriptEdit = MultilineEditBoxWidget.Cast(root.FindAnyWidget("MultilineEditBoxWidget0"));
416 m_EnfScriptRun = ButtonWidget.Cast(root.FindAnyWidget("RunButton"));
417 m_EnfScriptClear = ButtonWidget.Cast(root.FindAnyWidget("ClearButton"));
418 m_ScriptOutputListbox = TextListboxWidget.Cast(root.FindAnyWidget("ScriptOutputListbox"));
419 m_RunColor = m_EnfScriptRun.GetColor();
420 }
421
423 {
424 m_Instance = null;
425 }
426
427 override void OnSelected()
428 {
429 int index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
430 if (m_EnscriptConsoleHistory.IsValidIndex(index))
431 {
432 string text = m_EnscriptConsoleHistory.Get(index);
433 m_EnfScriptEdit.SetText(text);
434 }
436 }
437
438 static void PrintS(string message)
439 {
440 Print(message);
441 if (m_Instance)
442 m_Instance.Add(message);
443 }
444
445 static void PrintS(bool message)
446 {
447 PrintS(message.ToString());
448 }
449
450 static void PrintS(int message)
451 {
452 PrintS(message.ToString());
453 }
454
455 static void PrintS(float message)
456 {
457 PrintS(message.ToString());
458 }
459
460 static void PrintS(vector message)
461 {
462 PrintS(message.ToString());
463 }
464
465 static void PrintS(Object message)
466 {
467 PrintS(message.ToString());
468 }
469
470
471 void Add(string message, bool isReload = false)
472 {
473 if (message != string.Empty)
474 {
476 {
477 if (!isReload)
478 m_ScriptOutputHistory.Insert(message);
479 m_ScriptOutputListbox.AddItem(String(message), NULL, 0);
480 m_ScriptOutputListbox.EnsureVisible(m_ScriptOutputListbox.GetNumItems());
481 }
482 }
483 }
484
485 protected void Clear(bool clearFile = false)
486 {
487 if(clearFile)
489 m_ScriptOutputListbox.ClearItems();
490 }
491
492
493
494 protected void ReloadScriptOutput()
495 {
496 m_ScriptOutputListbox.ClearItems();
497 m_AllowScriptOutput = true;
498 foreach ( string s: m_ScriptOutputHistory)
499 {
500 Add(s, true);
501 }
502 m_AllowScriptOutput = false;
503 }
504
505 void HistoryBack()
506 {
507
509 }
510
511 void HistoryForward()
512 {
514 }
515
516 protected void RunEnscript()
517 {
518 #ifdef DEVELOPER
519 string code;
520 m_EnfScriptEdit.GetText(code);
521 string codeNoReplace = code;
523 m_AllowScriptOutput = true;
524 code.Replace("Print(","ScriptConsoleEnfScriptTab.PrintS(");
525 code.Replace("Print (","ScriptConsoleEnfScriptTab.PrintS(");
526 bool success = GetGame().ExecuteEnforceScript("void scConsMain() \n{\n" + code + "\n}\n", "scConsMain");
527 m_AllowScriptOutput = false;
528 ColorRunButton(success);
529
530 m_EnscriptConsoleHistory.Insert(codeNoReplace);
531 m_ModuleLocalEnscriptHistory.AddNewLine(codeNoReplace);
532 #endif
533 }
534
535 protected void ColorRunButton(bool success)
536 {
537 if (success)
538 {
539 m_EnfScriptRun.SetColor(ARGB(255,0,255,0));
540 }
541 else
542 {
543 m_EnfScriptRun.SetColor(ARGB(255,255,0,0));
544 }
546 }
547
548 protected void ResetRunButtonColor()
549 {
550 m_EnfScriptRun.SetColor(m_RunColor);
551 }
552
553 protected void RunEnscriptServer()
554 {
555 string code;
556 m_EnfScriptEdit.GetText(code);
558 m_ModuleLocalEnscriptHistoryServer.AddNewLine(code);
560 GetGame().RPCSingleParam(GetGame().GetPlayer(), ERPCs.DEV_RPC_SERVER_SCRIPT, CachedObjectsParams.PARAM1_STRING, true, GetGame().GetPlayer().GetIdentity());
561 }
562
563 protected void EnscriptHistoryBack()
564 {
565 int history_index;
566 if (m_EnfScriptEdit)
567 {
569 history_index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
570 if (history_index > -1)
571 {
572 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistory.Get(history_index));
573 }
575 }
576 }
577
578
579 protected void EnscriptHistoryForward()
580 {
581 if (m_EnfScriptEdit)
582 {
583 int history_index;
585 history_index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
586 if (history_index < m_EnscriptConsoleHistory.Count())
587 {
588 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistory.Get(history_index));
589 }
591 }
592 }
593
594 override void OnRPCEx(int rpc_type, ParamsReadContext ctx)
595 {
596 super.OnRPCEx(rpc_type, ctx);
597 #ifdef DIAG_DEVELOPER
598 switch (rpc_type)
599 {
600 case ERPCs.DEV_RPC_SERVER_SCRIPT_RESULT:
601 {
603 {
605 }
606 break;
607 }
608 }
609 #endif
610 }
611
612 override bool OnClick(Widget w, int x, int y, int button)
613 {
614 super.OnClick(w,x,y,button);
615 if (w == m_EnfScriptRun)
616 {
617 RunEnscript();
618 return true;
619 }
620 else if (w == m_EnfScriptClear)
621 {
622 m_ScriptOutputListbox.ClearItems();
623 m_ScriptOutputHistory.Clear();
624 return true;
625 }
626
627 return false;
628 }
629
630 override bool OnChange(Widget w, int x, int y, bool finished)
631 {
632 super.OnChange(w, x, y, finished);
633 return false;
634 }
635
636
637 override void Show(bool show, ScriptConsoleTabBase selectedHandler)
638 {
639 if (!show && (selectedHandler.Type() == ScriptConsoleEnfScriptTab || selectedHandler.Type() == ScriptConsoleEnfScriptServerTab))
640 {
641 //do nothing
642 }
643 else
644 {
645 m_Root.Show(show);
646 m_Root.Enable(show);
647 }
648 }
649
650}
651
652class ScriptConsoleEnfScriptServerTab : ScriptConsoleEnfScriptTab
653{
654 override void OnSelected()
655 {
657 if (m_EnscriptConsoleHistoryServer.IsValidIndex(index))
658 {
659 string text = m_EnscriptConsoleHistoryServer.Get(index);
660 m_EnfScriptEdit.SetText(text);
661 }
663 }
664
665 override protected void EnscriptHistoryBack()
666 {
667 int history_index;
668 if (m_EnfScriptEdit)
669 {
672 if (history_index > -1)
673 {
674 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistoryServer.Get(history_index));
675 }
677 }
678 }
679
680 override protected void EnscriptHistoryForward()
681 {
682 if (m_EnfScriptEdit)
683 {
684 int history_index;
685
688 if (history_index < m_EnscriptConsoleHistoryServer.Count())
689 {
690 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistoryServer.Get(history_index));
691 }
693 }
694 }
695
696 override bool OnClick(Widget w, int x, int y, int button)
697 {
698 if (w == m_EnfScriptRun)
699 {
701 return true;
702 }
703 else if (w == m_EnfScriptClear)
704 {
705 m_ScriptOutputListbox.ClearItems();
706 m_ScriptOutputHistory.Clear();
707 return true;
708 }
709
710 return false;
711 }
712
713}
void Show()
Определения DayZGame.c:162
ERPCs
Определения ERPCs.c:2
Empty
Определения Hand_States.c:14
Icon x
Icon y
PlayerBase GetPlayer()
Определения ModifierBase.c:51
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:316
PlayerBase _player
Определения QuickBarBase.c:18
static ref RadialMenu m_Instance
Определения RadialMenu.c:55
ref TStringArray m_EnscriptConsoleHistoryServer
Определения ScriptConsoleEnfScriptTab.c:270
int m_EnscriptHistoryRowServer
Определения ScriptConsoleEnfScriptTab.c:268
override void OnRPCEx(int rpc_type, ParamsReadContext ctx)
Определения ScriptConsoleEnfScriptTab.c:468
ButtonWidget m_EnfScriptClear
Определения ScriptConsoleEnfScriptTab.c:275
ScriptConsoleEnfScriptTab ScriptConsoleTabBase OnSelected()
Определения ScriptConsoleEnfScriptTab.c:265
void ResetRunButtonColor()
Определения ScriptConsoleEnfScriptTab.c:422
void Add(string message, bool isReload=false)
Определения ScriptConsoleEnfScriptTab.c:345
void HistoryForward()
Определения ScriptConsoleEnfScriptTab.c:385
TextListboxWidget m_ScriptOutputListbox
Определения ScriptConsoleEnfScriptTab.c:276
void ScriptConsoleEnfScriptTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent=null)
Определения ScriptConsoleEnfScriptTab.c:282
bool m_AllowScriptOutput
Определения ScriptConsoleEnfScriptTab.c:277
static ref TStringArray m_ScriptOutputHistory
Определения ScriptConsoleEnfScriptTab.c:280
int m_RunColor
Определения ScriptConsoleEnfScriptTab.c:278
static void PrintS(string message)
Определения ScriptConsoleEnfScriptTab.c:312
void RunEnscriptServer()
Определения ScriptConsoleEnfScriptTab.c:427
void ~ScriptConsoleEnfScriptTab()
Определения ScriptConsoleEnfScriptTab.c:296
override bool OnClick(Widget w, int x, int y, int button)
Определения ScriptConsoleEnfScriptTab.c:486
PluginLocalEnscriptHistoryServer m_ModuleLocalEnscriptHistoryServer
Определения ScriptConsoleEnfScriptTab.c:272
void Clear(bool clearFile=false)
Определения ScriptConsoleEnfScriptTab.c:359
void ReloadScriptOutput()
Определения ScriptConsoleEnfScriptTab.c:368
ButtonWidget m_EnfScriptRun
Определения ScriptConsoleEnfScriptTab.c:274
void EnscriptHistoryBack()
Определения ScriptConsoleEnfScriptTab.c:437
override bool OnChange(Widget w, int x, int y, bool finished)
Определения ScriptConsoleEnfScriptTab.c:504
void RunEnscript()
Определения ScriptConsoleEnfScriptTab.c:390
int m_EnscriptHistoryRow
Определения ScriptConsoleEnfScriptTab.c:267
void HistoryBack()
Определения ScriptConsoleEnfScriptTab.c:379
PluginLocalEnscriptHistory m_ModuleLocalEnscriptHistory
Определения ScriptConsoleEnfScriptTab.c:271
ref TStringArray m_EnscriptConsoleHistory
Определения ScriptConsoleEnfScriptTab.c:269
void ColorRunButton(bool success)
Определения ScriptConsoleEnfScriptTab.c:409
MultilineEditBoxWidget m_EnfScriptEdit
Определения ScriptConsoleEnfScriptTab.c:273
void EnscriptHistoryForward()
Определения ScriptConsoleEnfScriptTab.c:453
Widget m_Root
Определения SizeToChild.c:91
proto native void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
proto native bool ExecuteEnforceScript(string expression, string mainFnName)
Delevoper only: Executes Enforce Script expression, if there is an error, is printed into the script ...
static ref Param1< bool > PARAM1_BOOL
Определения UtilityClasses.c:12
static ref Param1< string > PARAM1_STRING
Определения UtilityClasses.c:14
static void ClearLogs()
Определения Debug.c:557
Определения Debug.c:2
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
override void OnSelected()
Определения ScriptConsoleEnfScriptTab.c:38
override bool OnClick(Widget w, int x, int y, int button)
Определения ScriptConsoleEnfScriptTab.c:223
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:106
Serializer ParamsReadContext
Определения gameplay.c:15
proto native CGame GetGame()
proto void Print(void var)
Prints content of variable to console/log.
array< string > TStringArray
Определения EnScript.c:685
string String(string s)
Helper for passing string expression to functions with void parameter. Example: Print(String("Hello "...
Определения EnScript.c:339
proto int Replace(string sample, string replace)
Replace all occurrances of 'sample' in 'str' by 'replace'.
const int CALL_CATEGORY_SYSTEM
Определения tools.c:8
WorkspaceWidget Widget
Defined in code.
int ARGB(int a, int r, int g, int b)
Определения proto.c:322