예제 #1
0
        /// <summary>
        ///  进入登录状态,显示引导界面
        /// </summary>
        /// <param name="e"></param>
        /// <param name="lastState"></param>
        public override void Enter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Game> .State lastState)
        {
//			var control = Client.UIControllerManager.Instance.GetController<Client.UI.UILoginController>();
//			control.setVisible(true);
            var control = Client.UIControllerManager.Instance.GetController <Client.UI.UIStartGuildWindowController> ();

            control.setVisible(true);
        }
예제 #2
0
        /// <summary>
        ///  进入当前状态,显示进内圈的卡牌
        /// </summary>
        /// <param name="e"></param>
        /// <param name="lastState"></param>
        public override void Enter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State lastState)
        {
            var func = (e as UpGradeEvent).lpfnUpGradeToInner;

            func();

            CardManager.Instance.OpenCard((int)SpecialCardType.UpGradType);
        }
예제 #3
0
        /// <summary>
        ///  显示选择角色界面
        /// </summary>
        /// <param name="e"></param>
        /// <param name="lastState"></param>
        protected override void _OnEnter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Game> .State lastState)
        {
//			var control = Client.UIControllerManager.Instance.GetController<Client.UI.UISelectRoleWindowController>();
//			control.setVisible(true);
            var control = Client.UIControllerManager.Instance.GetController <Client.UI.UIChooseRoleWindowController>();

            control.setVisible(true);
        }
예제 #4
0
        public override void Enter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State lastState)
        {
            Console.WriteLine("Enter WalkState");
            VirtualServer.Instance.Send_NewWalkState();
            float walkTime = _Content.players [_Content.CurrentPlayerIndex].RollPoints * _walkTimeUnity;

            _timer = new Counter(walkTime);
        }
예제 #5
0
        /// <summary>
        ///  进入状态,显示游戏大厅界面
        /// </summary>
        /// <param name="e"></param>
        /// <param name="lastState"></param>
        protected override void _OnEnter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Game> .State lastState)
        {
//			VirtualServer.Instance.Dispose();
//			Client.Unit.BattleController.Instance.Dispose();
//			SceneManager.Instance.Send_RequestEnterScene(0, null);
            var gameHalll = UIControllerManager.Instance.GetController <Client.UI.UIGameHallWindowController> ();

            gameHalll.setVisible(true);
        }
예제 #6
0
        public override void Enter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State lastState)
        {
            _lpfnWalk = (e as WalkEvent).lpfnWalk;

            var controller = UIControllerManager.Instance.GetController <Client.UI.UIBattleController>();

            if (null != controller)
            {
                controller.HideRollAnimation();
            }
        }
예제 #7
0
        /// <summary>
        /// 接受事件,切换状态
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        protected override Core.FSM.FiniteStateMachine <Game> .State _DoEvent(Core.FSM.Event e)
        {
            switch ((FSMEventType)e.ID)
            {
            case FSMEventType.GameHallEvent:
                return(new GameHallState(_Content));

            default:
                break;
            }
            return(this);
        }
예제 #8
0
        /// <summary>
        ///  接受事件,切换状态
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        protected override Core.FSM.FiniteStateMachine <Room> .State _DoEvent(Core.FSM.Event e)
        {
            switch ((FSMEventType)e.ID)
            {
            case FSMEventType.SelectEvent:
                return(new SelectState(_Content));

            default:
                break;
            }

            return(this);
        }
예제 #9
0
        /// <summary>
        ///  进入状态,显示游戏大厅界面
        /// </summary>
        /// <param name="e"></param>
        /// <param name="lastState"></param>
        protected override void _OnEnter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Game> .State lastState)
        {
            //base._OnEnter (e, lastState);

            //VirtualServer.Instance.Dispose();
            //Client.Unit.BattleController.Instance.Dispose();
            //SceneManager.Instance.Send_RequestEnterScene(0, null);

            //Audio.AudioManager.Instance.StartMusic();
            var gameHalll = UIControllerManager.Instance.GetController <Client.UI.UIGameHallWindowController> ();

            gameHalll.setVisible(true);
            //Audio.AudioManager.Instance.StartMusic();
            // Console.Error.WriteLine("woqule,进入游戏大厅案例");
        }
예제 #10
0
        /// <summary>
        ///  退出当前状态时,ui界面掷筛子
        /// </summary>
        /// <param name="e"></param>
        /// <param name="nextState"></param>
        protected override void _OnExit(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State nextState)
        {
            // ytf0927 所有掷色子都可以看到
            var controller = UIControllerManager.Instance.GetController <Client.UI.UIBattleController> ();

            if (null != controller)
            {
                if (null != _Content.CurrentPointsArr)
                {
                    controller.Re_RequestRollArrs(_Content.CurrentPointsArr);
                }
                else
                {
                    controller.Re_RequestRoll(_Content.CurrentPoints);
                }
            }
            return;
//            if (_Content.CurrentPlayerIndex == 0)
//            {
//                var controller = UIControllerManager.Instance.GetController<Client.UI.UIBattleController> ();
//			    if (null != controller)
//			    {
//					if(null != _Content.CurrentPointsArr)
//					{
//
//						controller.Re_RequestRollArrs (_Content.CurrentPointsArr);
//					}
//					else
//					{
//						controller.Re_RequestRoll (_Content.CurrentPoints);
//					}
//			    }
//            }
//			else
//			{
//				var playerInfor= PlayerManager.Instance.Players[_Content.CurrentPlayerIndex];
//				if (null != playerInfor)
//				{
//					if (playerInfor.isThreeRoll == true)
//					{
//						playerInfor.isThreeRoll = false;
//					}
//				}
//			}
        }
예제 #11
0
        /// <summary>
        ///  退出当前状态时,ui界面掷筛子
        /// </summary>
        /// <param name="e"></param>
        /// <param name="nextState"></param>
        protected override void _OnExit(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State nextState)
        {
            // ytf0927 所有掷色子都可以看到
            var controller = UIControllerManager.Instance.GetController <Client.UI.UIBattleController> ();

            if (null != controller)
            {
                if (null != _Content.CurrentPointsArr)
                {
                    controller.Re_RequestRollArrs(_Content.CurrentPointsArr);
                }
                else
                {
                    controller.Re_RequestRoll(_Content.CurrentPoints);
                }
            }
            return;
        }
예제 #12
0
        /// <summary>
        ///  接受事件,切换状态
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        protected override Core.FSM.FiniteStateMachine <Game> .State _DoEvent(Core.FSM.Event e)
        {
            switch ((FSMEventType)e.ID)
            {
            case FSMEventType.SelectRoleEvent:            //单机选择角色
                return(new SelectRoleState(_Content));

            case FSMEventType.LoadingStateEvent:            // loading状态
                return(new LoadingState(_Content));

            case FSMEventType.LoginEvent:            //登录
                return(new LoginState(_Content));

//			case FSMEventType.NetSelectRoleEvent:
//				return new NetSelectRoleState (_Content);
            default:
                break;
            }
            return(this);
        }
예제 #13
0
        /// <summary>
        /// 处理掷筛子数据,单机版随机点数,网络版读取后台数据,掷筛子的个数
        /// </summary>
        /// <param name="e"></param>
        /// <param name="lastState"></param>
        public override void Enter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State lastState)
        {
            Console.WriteLine("Enter RollState");
            int points = MathUtility.Random(1, 6);

            var arr         = new int[] { 0, 0, 0 };
            var isThreeRoll = false;
            var heroInfor   = PlayerManager.Instance.Players[Client.Unit.BattleController.Instance.CurrentPlayerIndex];

            if (heroInfor.isThreeRoll == true)
            {
                var tmpArr = new int[] { 0, 0, 0, 0, 0, 0, 0 };

                points      = 0;
                isThreeRoll = true;
                //单机模式掷两个筛子arr.Length
                for (var i = 0; i < 2; i++)
                {
                    var tmpPoint = MathUtility.Random(1, 6);

                    while (tmpArr[tmpPoint] == 1)
                    {
                        tmpPoint = MathUtility.Random(1, 6);
                    }
                    tmpArr[tmpPoint] = 1;
                    arr[i]           = tmpPoint;
                    points          += tmpPoint;
                }
            }
            //如果是联机玩家
            if (GameModel.GetInstance.isPlayNet == true)
            {
                var tmparr = GameModel.GetInstance.curRollPoints;
                if (tmparr.Count == 3)
                {
                    points = 0;

                    for (var i = 0; i < arr.Length; i++)
                    {
                        points += tmparr[i];
                        arr[i]  = tmparr[i];
                    }
                    isThreeRoll           = true;
                    heroInfor.isThreeRoll = true;
                    //Console.Error.WriteLine("当前三个筛子的点数和是:"+ points.ToString());
                }
                else
                {
                    isThreeRoll           = false;
                    heroInfor.isThreeRoll = false;
                    points = tmparr[0];
                    //Console.Error.WriteLine("当前的点数是:"+points.ToString());
                }
            }
            //points = 18;
            _Content.players[_Content.CurrentPlayerIndex].RollPoints = points;
            heroInfor.AddRollPoint(points);
            if (isThreeRoll == true)
            {
                VirtualServer.Instance.Send_NewRollState(points, arr);
            }
            else
            {
                VirtualServer.Instance.Send_NewRollState(points);
            }

            _timer = new Counter(0.58f);
        }
예제 #14
0
 protected override void _OnExit(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State nextState)
 {
 }
예제 #15
0
 /// <summary>
 ///  进入玩家胜利状态,打开胜利界面卡牌
 /// </summary>
 /// <param name="e"></param>
 /// <param name="lastState"></param>
 public override void Enter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State lastState)
 {
     CardManager.Instance.OpenCard((int)SpecialCardType.SuccessType);
 }
예제 #16
0
 protected override void _OnExit(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Game> .State nextState)
 {
     //base._OnExit (e, nextState);
 }
예제 #17
0
 protected override void _OnExit(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Game> .State nextState)
 {
     GameModel.GetInstance.DeleteSelectScene();
 }
예제 #18
0
 public override void Enter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State lastState)
 {
     _lpfnWalk = (e as WalkEvent).lpfnWalk;
 }
예제 #19
0
 protected override void _OnExit(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State nextState)
 {
     Console.WriteLine("Exit WalkState");
 }
예제 #20
0
 /// <summary>
 ///  进入掷筛子的状态,调用的函数
 /// </summary>
 /// <param name="e"></param>
 /// <param name="lastState"></param>
 public override void Enter(Core.FSM.Event e, Core.FSM.FiniteStateMachine <Room> .State lastState)
 {
 }