コード例 #1
0
	void Awake() {
		
		controllerCamera = Camera.mainCamera;
		
		//Setup Messenger
		Messenger.AddListener(InputManager.kMegatileCapMet, 			OnOpenMenu);
		Messenger<Vector3>.AddListener(InputManager.kRightClickedTile, 	OnCloseMenu);
		Messenger.AddListener(kClose,									OnCloseMenu);
		
		//Setup GUIGroup
		menuGroup = new GUIContainer(controllerCamera.pixelRect,false);
		menuGroup.anchor.Set(GUIAnchor.BottomCenter);  
		
		GameGUIManager.AddGUIObject(menuGroup);
		
		//Setup Transitions and State Machine
		Transition<TileSelectionMenu> goToOptions = new Transition<TileSelectionMenu>(this, states["Options"]);
		Transition<TileSelectionMenu> closeMenu = new Transition<TileSelectionMenu>(this, states["Waiting"]);
		
		states["Waiting"].AddTransition(goToOptions);
		states["Options"].AddTransition(closeMenu);
		
		goToOptions.InitFromExpression	( "{ TransitionBehavior_OnEvent openMenu( OpenMenu ); } openMenu");
		closeMenu.InitFromExpression	( "{ TransitionBehavior_OnEvent closeMenu( CloseMenu ); } closeMenu");
		
		behaviour.ChangeState( states["Waiting"], this );
	}
コード例 #2
0
ファイル: LoginGUI.cs プロジェクト: wids-eria/tf_client
	protected virtual void	InitBehaviors() {		
		Transition<LoginGUI> loginToSelectWorld = new Transition<LoginGUI>( this, selectWorldState );
		Transition<LoginGUI> selectWorldToLogin = new Transition<LoginGUI>( this, loginState );
		Transition<LoginGUI> createWorldToSelectWorld = new Transition<LoginGUI>( this, selectWorldState );
		Transition<LoginGUI> selectClassToWaitingToEnterGame = new Transition<LoginGUI>( this, waitingToEnterGame );
		Transition<LoginGUI> createWorldToSelectClass = new Transition<LoginGUI>( this, selectClassState );
		
		loginState.AddTransition( loginToSelectWorld );
		selectWorldState.AddTransition( selectWorldToLogin );
		selectClassState.AddTransition( selectClassToWaitingToEnterGame );
		
		loginToSelectWorld.InitFromExpression( "{ TransitionBehavior_OnState isLoggedIn( LoggedIn ); } isLoggedIn" );
		selectWorldToLogin.InitFromExpression( "{ TransitionBehavior_OnState isLoggedIn( LoggedIn ); } !isLoggedIn" );
		createWorldToSelectWorld.InitFromExpression( "{ TransitionBehavior_OnEvent onCancel( OnCancelCreateGame ); } onCancel" );
		createWorldToSelectClass.InitFromExpression( "{ TransitionBehavior_OnEvent onSelectClass( OnSelectClass ); } onSelectClass" );
		selectClassToWaitingToEnterGame.InitFromExpression( "{ TransitionBehavior_OnEvent onJoinGame( OnJoinGame ); } onJoinGame" );
		
#if FOR_GLS
		Transition<LoginGUI> selectWorldToSelectClass = new Transition<LoginGUI>( this, selectClassState );
		Transition<LoginGUI> selectClassToSelectWorld = new Transition<LoginGUI>( this, selectWorldState );

		selectWorldState.AddTransition( selectWorldToSelectClass );
		selectClassState.AddTransition( selectClassToSelectWorld );
		
		selectWorldToSelectClass.InitFromExpression( "{ TransitionBehavior_OnEvent onCreateGame( OnCreateGame ); TransitionBehavior_OnEvent onJoinGame( OnJoinGame ); } onCreateGame | onJoinGame" );
		selectClassToSelectWorld.InitFromExpression( "{ TransitionBehavior_OnEvent onCancel( OnCancelSelectClass ); } onCancel" );
#else
		Transition<LoginGUI> selectWorldToCreateWorld = new Transition<LoginGUI>( this, createGameState );
		Transition<LoginGUI> selectClassToCreateWorld = new Transition<LoginGUI>( this, createGameState );
		selectWorldState.AddTransition( selectWorldToCreateWorld );
		createGameState.AddTransition( createWorldToSelectWorld );
		createGameState.AddTransition( createWorldToSelectClass );
		selectClassState.AddTransition( selectClassToCreateWorld );
		selectWorldToCreateWorld.InitFromExpression( "{ TransitionBehavior_OnEvent onCreateGame( OnCreateGame ); } onCreateGame" );
		selectClassToCreateWorld.InitFromExpression( "{ TransitionBehavior_OnEvent onCancel( OnCancelSelectClass ); } onCancel" );
#endif

		behavior.ChangeState( loginState, this );
	}