@@ -8,11 +8,6 @@ namespace FairyGUI
88 /// </summary>
99 public class GButton : GComponent , IColorGear
1010 {
11- /// <summary>
12- /// The button will be in down status in these pages.
13- /// </summary>
14- public PageOption pageOption { get ; private set ; }
15-
1611 /// <summary>
1712 /// Play sound when button is clicked.
1813 /// </summary>
@@ -38,6 +33,7 @@ public class GButton : GComponent, IColorGear
3833 protected GObject _titleObject ;
3934 protected GObject _iconObject ;
4035 protected Controller _relatedController ;
36+ protected string _relatedPageId ;
4137
4238 ButtonMode _mode ;
4339 bool _selected ;
@@ -64,8 +60,6 @@ public class GButton : GComponent, IColorGear
6460
6561 public GButton ( )
6662 {
67- pageOption = new PageOption ( ) ;
68-
6963 sound = UIConfig . buttonSound ;
7064 soundVolumeScale = UIConfig . buttonSoundVolumeScale ;
7165 changeStateOnClick = true ;
@@ -254,12 +248,12 @@ public bool selected
254248 {
255249 if ( _selected )
256250 {
257- _relatedController . selectedPageId = pageOption . id ;
251+ _relatedController . selectedPageId = _relatedPageId ;
258252 if ( _relatedController . autoRadioGroupDepth )
259253 parent . AdjustRadioGroupDepth ( this , _relatedController ) ;
260254 }
261- else if ( _mode == ButtonMode . Check && _relatedController . selectedPageId == pageOption . id )
262- _relatedController . oppositePageId = pageOption . id ;
255+ else if ( _mode == ButtonMode . Check && _relatedController . selectedPageId == _relatedPageId )
256+ _relatedController . oppositePageId = _relatedPageId ;
263257 }
264258 }
265259
@@ -302,12 +296,26 @@ public Controller relatedController
302296 if ( value != _relatedController )
303297 {
304298 _relatedController = value ;
305- pageOption . controller = value ;
306- pageOption . Clear ( ) ;
299+ _relatedPageId = null ;
307300 }
308301 }
309302 }
310303
304+ /// <summary>
305+ ///
306+ /// </summary>
307+ public string relatedPageId
308+ {
309+ get
310+ {
311+ return _relatedPageId ;
312+ }
313+ set
314+ {
315+ _relatedPageId = value ;
316+ }
317+ }
318+
311319 /// <summary>
312320 /// Simulates a click on this button.
313321 /// 模拟点击这个按钮。
@@ -429,7 +437,7 @@ override public void HandleControllerChanged(Controller c)
429437 base . HandleControllerChanged ( c ) ;
430438
431439 if ( _relatedController == c )
432- this . selected = pageOption . id == c . selectedPageId ;
440+ this . selected = _relatedPageId == c . selectedPageId ;
433441 }
434442
435443 override protected void HandleGrayedChanged ( )
@@ -520,7 +528,7 @@ override public void Setup_AfterAdd(ByteBuffer buffer, int beginPos)
520528 iv = buffer . ReadShort ( ) ;
521529 if ( iv >= 0 )
522530 _relatedController = parent . GetControllerAt ( iv ) ;
523- pageOption . id = buffer . ReadS ( ) ;
531+ _relatedPageId = buffer . ReadS ( ) ;
524532
525533 str = buffer . ReadS ( ) ;
526534 if ( str != null )
@@ -642,7 +650,7 @@ private void __click()
642650 else
643651 {
644652 if ( _relatedController != null )
645- _relatedController . selectedPageId = pageOption . id ;
653+ _relatedController . selectedPageId = _relatedPageId ;
646654 }
647655 }
648656 }
0 commit comments