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

◆ Add()

void OnSelected::Add ( string message,
bool isReload = false )
protected

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

350{
351 protected static ScriptConsoleEnfScriptTab m_Instance;
352 protected int m_EnscriptHistoryRow;
353 protected int m_EnscriptHistoryRowServer;
356 protected PluginLocalEnscriptHistory m_ModuleLocalEnscriptHistory;
357 protected PluginLocalEnscriptHistoryServer m_ModuleLocalEnscriptHistoryServer;
358 protected MultilineEditBoxWidget m_EnfScriptEdit;
359 protected ButtonWidget m_EnfScriptRun;
360 protected ButtonWidget m_EnfScriptClear;
361 protected TextListboxWidget m_ScriptOutputListbox;
362 protected bool m_AllowScriptOutput;
363 protected int m_RunColor;
364
366
367 override void InitializeTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent = null)
368 {
369 super.InitializeTab(root, console, button, parent);
370
371 m_Instance = this;
372 m_ModuleLocalEnscriptHistory = PluginLocalEnscriptHistory.Cast(GetPlugin(PluginLocalEnscriptHistory));
373 m_ModuleLocalEnscriptHistoryServer = PluginLocalEnscriptHistoryServer.Cast(GetPlugin(PluginLocalEnscriptHistoryServer));
376 m_EnfScriptEdit = MultilineEditBoxWidget.Cast(root.FindAnyWidget("MultilineEditBoxWidget0"));
377 m_EnfScriptRun = ButtonWidget.Cast(root.FindAnyWidget("RunButton"));
378 m_EnfScriptClear = ButtonWidget.Cast(root.FindAnyWidget("ClearButton"));
379 m_ScriptOutputListbox = TextListboxWidget.Cast(root.FindAnyWidget("ScriptOutputListbox"));
380 m_RunColor = m_EnfScriptRun.GetColor();
381 }
382
384 {
385 m_Instance = null;
386 }
387
388 override void OnSelected()
389 {
390 int index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
391 if (m_EnscriptConsoleHistory.IsValidIndex(index))
392 {
393 string text = m_EnscriptConsoleHistory.Get(index);
394 m_EnfScriptEdit.SetText(text);
395 }
397 }
398
399 static void PrintS(string message)
400 {
401 Print(message);
402 if (m_Instance)
403 m_Instance.Add(message);
404 }
405
406 static void PrintS(bool message)
407 {
408 PrintS(message.ToString());
409 }
410
411 static void PrintS(int message)
412 {
413 PrintS(message.ToString());
414 }
415
416 static void PrintS(float message)
417 {
418 PrintS(message.ToString());
419 }
420
421 static void PrintS(vector message)
422 {
423 PrintS(message.ToString());
424 }
425
426 static void PrintS(Object message)
427 {
428 PrintS(message.ToString());
429 }
430
431
432 void Add(string message, bool isReload = false)
433 {
434 if (message != string.Empty)
435 {
437 {
438 if (!isReload)
439 m_ScriptOutputHistory.Insert(message);
440 m_ScriptOutputListbox.AddItem(String(message), NULL, 0);
441 m_ScriptOutputListbox.EnsureVisible(m_ScriptOutputListbox.GetNumItems());
442 }
443 }
444 }
445
446 protected void Clear(bool clearFile = false)
447 {
448 if(clearFile)
450 m_ScriptOutputListbox.ClearItems();
451 }
452
453
454
455 protected void ReloadScriptOutput()
456 {
457 m_ScriptOutputListbox.ClearItems();
458 m_AllowScriptOutput = true;
459 foreach ( string s: m_ScriptOutputHistory)
460 {
461 Add(s, true);
462 }
463 m_AllowScriptOutput = false;
464 }
465
466 void HistoryBack()
467 {
468
470 }
471
472 void HistoryForward()
473 {
475 }
476
477 protected void RunEnscript()
478 {
479 #ifdef DEVELOPER
480 string code;
481 m_EnfScriptEdit.GetText(code);
482 string codeNoReplace = code;
483 _player = PlayerBase.Cast(g_Game.GetPlayer());
484 m_AllowScriptOutput = true;
485 code.Replace("Print(","ScriptConsoleEnfScriptTab.PrintS(");
486 code.Replace("Print (","ScriptConsoleEnfScriptTab.PrintS(");
487 bool success = g_Game.ExecuteEnforceScript("void scConsMain() \n{\n" + code + "\n}\n", "scConsMain");
488 m_AllowScriptOutput = false;
489 ColorRunButton(success);
490
491 m_EnscriptConsoleHistory.Insert(codeNoReplace);
492 m_ModuleLocalEnscriptHistory.AddNewLine(codeNoReplace);
493 #endif
494 }
495
496 protected void ColorRunButton(bool success)
497 {
498 if (success)
499 {
500 m_EnfScriptRun.SetColor(ARGB(255,0,255,0));
501 }
502 else
503 {
504 m_EnfScriptRun.SetColor(ARGB(255,255,0,0));
505 }
506 g_Game.GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(ResetRunButtonColor,600);
507 }
508
509 protected void ResetRunButtonColor()
510 {
511 m_EnfScriptRun.SetColor(m_RunColor);
512 }
513
514 protected void RunEnscriptServer()
515 {
516 string code;
517 m_EnfScriptEdit.GetText(code);
519 m_ModuleLocalEnscriptHistoryServer.AddNewLine(code);
521 g_Game.RPCSingleParam(g_Game.GetPlayer(), ERPCs.DEV_RPC_SERVER_SCRIPT, CachedObjectsParams.PARAM1_STRING, true, g_Game.GetPlayer().GetIdentity());
522 }
523
524 protected void EnscriptHistoryBack()
525 {
526 int history_index;
527 if (m_EnfScriptEdit)
528 {
530 history_index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
531 if (history_index > -1)
532 {
533 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistory.Get(history_index));
534 }
536 }
537 }
538
539
540 protected void EnscriptHistoryForward()
541 {
542 if (m_EnfScriptEdit)
543 {
544 int history_index;
546 history_index = m_EnscriptConsoleHistory.Count() - m_EnscriptHistoryRow - 1;
547 if (history_index < m_EnscriptConsoleHistory.Count())
548 {
549 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistory.Get(history_index));
550 }
552 }
553 }
554
555 override void OnRPCEx(int rpc_type, ParamsReadContext ctx)
556 {
557 super.OnRPCEx(rpc_type, ctx);
558 #ifdef DIAG_DEVELOPER
559 switch (rpc_type)
560 {
561 case ERPCs.DEV_RPC_SERVER_SCRIPT_RESULT:
562 {
564 {
566 }
567 break;
568 }
569 }
570 #endif
571 }
572
573 override bool OnClick(Widget w, int x, int y, int button)
574 {
575 super.OnClick(w,x,y,button);
576 if (w == m_EnfScriptRun)
577 {
578 RunEnscript();
579 return true;
580 }
581 else if (w == m_EnfScriptClear)
582 {
583 m_ScriptOutputListbox.ClearItems();
584 m_ScriptOutputHistory.Clear();
585 return true;
586 }
587
588 return false;
589 }
590
591 override bool OnChange(Widget w, int x, int y, bool finished)
592 {
593 super.OnChange(w, x, y, finished);
594 return false;
595 }
596
597
598 override void Show(bool show, ScriptConsoleTabBase selectedHandler)
599 {
600 if (!show && (selectedHandler.Type() == ScriptConsoleEnfScriptTab || selectedHandler.Type() == ScriptConsoleEnfScriptServerTab))
601 {
602 //do nothing
603 }
604 else
605 {
606 m_Root.Show(show);
607 m_Root.Enable(show);
608 }
609 }
610
611}
612
613class ScriptConsoleEnfScriptServerTab : ScriptConsoleEnfScriptTab
614{
615 override void OnSelected()
616 {
618
620 if (m_EnscriptConsoleHistoryServer.IsValidIndex(index))
621 {
622 string text = m_EnscriptConsoleHistoryServer.Get(index);
623 m_EnfScriptEdit.SetText(text);
624 }
626 }
627
628 override protected void EnscriptHistoryBack()
629 {
630 int history_index;
631 if (m_EnfScriptEdit)
632 {
635 if (history_index > -1)
636 {
637 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistoryServer.Get(history_index));
638 }
640 }
641 }
642
643 override protected void EnscriptHistoryForward()
644 {
645 if (m_EnfScriptEdit)
646 {
647 int history_index;
648
651 if (history_index < m_EnscriptConsoleHistoryServer.Count())
652 {
653 m_EnfScriptEdit.SetText(m_EnscriptConsoleHistoryServer.Get(history_index));
654 }
656 }
657 }
658
659 override bool OnClick(Widget w, int x, int y, int button)
660 {
661 if (w == m_EnfScriptRun)
662 {
664 return true;
665 }
666 else if (w == m_EnfScriptClear)
667 {
668 m_ScriptOutputListbox.ClearItems();
669 m_ScriptOutputHistory.Clear();
670 return true;
671 }
672
673 return false;
674 }
675}
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