code_uitexturewidget.cs 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // UITextureWidget application source code
  2. using System;
  3. using AtomicEngine;
  4. public class code_uitexturewidget : CSComponent {
  5. public void Setup( UIWidget layout )
  6. {
  7. var dest = new AtomicEngine.Vector<AtomicEngine.UIWidget>();
  8. layout.SearchWidgetClass( "TBButton", dest );
  9. for (var ii = 0; ii < dest.Size; ii++) {
  10. dest[ii].SubscribeToEvent<WidgetEvent> (dest [ii], HandleUitexturewidgetEvent );
  11. }
  12. var cache = GetSubsystem<ResourceCache>();
  13. UITextureWidget mytexturewidget = new UITextureWidget();
  14. mytexturewidget.SetId( "UITextureWidgetDemo");
  15. Texture2D mytex = new Texture2D();
  16. if ( !mytex.Equals(null) ) {
  17. mytex = cache.GetResource<Texture2D>("Textures/planet.jpg");
  18. mytexturewidget.SetTexture(mytex);
  19. }
  20. mytexturewidget.SubscribeToEvent<WidgetEvent> ( mytexturewidget, HandleUitexturewidgetEvent );
  21. UILayoutParams lpx = new UILayoutParams();
  22. lpx.SetWidth (256);
  23. lpx.SetHeight(256);
  24. lpx.SetMinWidth(256);
  25. lpx.SetMinHeight(256);
  26. lpx.SetMaxWidth (256);
  27. lpx.SetMaxHeight(256);
  28. mytexturewidget.SetLayoutParams(lpx);
  29. UIWidget lower = layout.GetWidget("uitexturewidgetlower");
  30. UIWidget mysvc = layout.GetWidget("uitwcontainer");
  31. mysvc.AddChildBefore( mytexturewidget, lower);
  32. UILayout lo1 = new UILayout();
  33. mysvc.AddChildBefore(lo1, lower);
  34. UIButton b1 = new UIButton();
  35. b1.SetId( "uitexturewidgetch1");
  36. b1.SetText("Change texture to new build");
  37. lo1.AddChild(b1);
  38. b1.SubscribeToEvent<WidgetEvent> ( b1, HandleUitexturewidgetEvent );
  39. UIButton b2 = new UIButton();
  40. b2.SetId( "uitexturewidgetch2");
  41. b2.SetText("Change texture to colorwheel");
  42. lo1.AddChild(b2);
  43. b2.SubscribeToEvent<WidgetEvent> ( b2, HandleUitexturewidgetEvent );
  44. UIButton b3 = new UIButton();
  45. b3.SetId( "uitexturewidgetch3");
  46. b3.SetText("Change texture to planet");
  47. lo1.AddChild(b3);
  48. b3.SubscribeToEvent<WidgetEvent> ( b3, HandleUitexturewidgetEvent );
  49. }
  50. private static void HandleUitexturewidgetEvent( WidgetEvent ev )
  51. {
  52. UIWidget widget = (UIWidget)ev.Target;
  53. if ( widget.Equals(null)) return;
  54. if ( ev.Type == UI_EVENT_TYPE.UI_EVENT_TYPE_CLICK) {
  55. if (widget.GetId() == "uitexturewidgetcode" ) {
  56. AtomicMain.AppLog( "UITextureWidget support : " + widget.GetId() + " was pressed " );
  57. AtomicMain.ViewCode ( "Components/code_uitexturewidget.cs", widget.GetParent() );
  58. }
  59. if (widget.GetId() == "uitexturewidgetlayout" ) {
  60. AtomicMain.AppLog( "UITextureWidget support : " + widget.GetId() + " was pressed ");
  61. AtomicMain.ViewCode ( "Scenes/layout_uitexturewidget.ui.txt", widget.GetParent() );
  62. }
  63. if (widget.GetId() == "uitexturewidgetch1" ) {
  64. AtomicMain.AppLog( "UITextureWidget support : " + widget.GetId() + " was pressed ");
  65. var cache = GetSubsystem<ResourceCache>();
  66. UITextureWidget tw = (UITextureWidget)widget.FindWidget("UITextureWidgetDemo");
  67. tw.SetTexture( cache.GetResource<Texture2D>("Textures/newbuilddetected_header.jpg") );
  68. }
  69. if (widget.GetId() == "uitexturewidgetch2" ) {
  70. AtomicMain.AppLog( "UITextureWidget support : " + widget.GetId() + " was pressed ");
  71. var cache = GetSubsystem<ResourceCache>();
  72. UITextureWidget tw = (UITextureWidget)widget.FindWidget("UITextureWidgetDemo");
  73. tw.SetTexture( cache.GetResource<Texture2D>("Textures/HSV21.png") );
  74. }
  75. if (widget.GetId() == "uitexturewidgetch3" ) {
  76. AtomicMain.AppLog( "UITextureWidget support : " + widget.GetId() + " was pressed ");
  77. var cache = GetSubsystem<ResourceCache>();
  78. UITextureWidget tw = (UITextureWidget)widget.FindWidget("UITextureWidgetDemo");
  79. tw.SetTexture( cache.GetResource<Texture2D>("Textures/planet.jpg") );
  80. }
  81. }
  82. }
  83. }