private Card _cardOfKickTheDoorAtPresent;   //当前抽到的踢门牌;
 //--------------------------------------------------------------------------
 public Debuff_CreatEventOne(MomentType momenttype = MomentType.None, int eventID = 1, FunctionObjectType functionobjecttype = FunctionObjectType.None)
 {
     _eventStage                 = momenttype;         //事件发动阶段;
     _eventID                    = eventID;            //事件ID;
     _functionObject             = functionobjecttype; //事件作用对象;
     _fatherCard                 = null;               //初始无父类卡牌;
     _cardOfKickTheDoorAtPresent = null;
 }
Esempio n. 2
0
 private Card _cardOfThePlayAtPresent;       //当前玩家出的卡牌;
 //--------------------------------------------------------------------------
 public Magic_CreatEvent(MomentType momenttype = MomentType.None, int eventID = 3, FunctionObjectType functionobjecttype = FunctionObjectType.None)
 {
     _eventStage             = momenttype;         //事件发动阶段;
     _eventID                = eventID;            //事件ID;
     _functionObject         = functionobjecttype; //事件作用对象;
     _fatherCard             = null;               //初始无父类卡牌;
     _cardOfThePlayAtPresent = null;
 }
Esempio n. 3
0
 private Card _cardOfThePlayAtPresent;       //当前打出的卡牌;
 //--------------------------------------------------------------------------
 public PushAttackEnemyCards(MomentType momenttype = MomentType.None, int eventID = 4, FunctionObjectType functionobjecttype = FunctionObjectType.None)
 {
     _eventStage             = momenttype;         //事件发动阶段;
     _eventID                = eventID;            //事件ID;
     _functionObject         = functionobjecttype; //事件作用对象;
     _fatherCard             = null;               //初始无父类卡牌;
     _cardOfThePlayAtPresent = null;
 }
 private Card _cardOfKickTheDoorAtPresent;   //当前抽到的踢门牌;
 //--------------------------------------------------------------------------
 public GetMonsterCardAndPushItToList(MomentType momenttype = MomentType.None, int eventID = 5, FunctionObjectType functionobjecttype = FunctionObjectType.None)
 {
     _eventStage                 = momenttype;         //事件发动阶段;
     _eventID                    = eventID;            //事件ID;
     _functionObject             = functionobjecttype; //事件作用对象;
     _fatherCard                 = null;               //初始无父类卡牌;
     _cardOfKickTheDoorAtPresent = null;
 }
 private Card _cardOfKickTheDoorAtPresent;   //当前抽到的踢门牌;
 //--------------------------------------------------------------------------
 public ChangeMomentType_CombatPhase(MomentType momenttype = MomentType.None, int eventID = 7, FunctionObjectType functionobjecttype = FunctionObjectType.None)
 {
     _eventStage                 = momenttype;         //事件发动阶段;
     _eventID                    = eventID;            //事件ID;
     _functionObject             = functionobjecttype; //事件作用对象;
     _fatherCard                 = null;               //初始无父类卡牌;
     _cardOfKickTheDoorAtPresent = null;
 }
        private string _name;           //名字;

        //----------------------------------------------------------------
        public MomentTypeAtPresent_Listenner(string name)
        {
            _name       = name;
            _momentType = MomentType.None;
            _double     = MomentType.None;
            //加入订阅者容器内部;
            CoreDataObserver.GetInstance().AddListenner(this);
        }
 public MomentTypeAtPresent_Listenner()
 {
     //..........
     _name       = "MomentTypeAtPresent_Listenner";
     _momentType = MomentType.None;
     _double     = MomentType.None;
     //加入订阅者容器内部;
     CoreDataObserver.GetInstance().AddListenner(this);
 }
Esempio n. 8
0
        public void SetMomentTypeAtPresent(MomentType momenttype)
        {
            //设置当前的游戏阶段;
            _momentTypeAtPresent = momenttype;

            //------------------------------------------------------------
            //通知观察者;
            Notify();
            //------------------------------------------------------------
        }
        //----------------------------------------------------------------
        //事件组合器;
        public override void Update()
        {
            //事件处理;
            //------------------------------------------------------------
            _double = CoreDataObserver.GetInstance().GetMomentTypeAtPresent();//获取当前的状态;
            if (_double != _momentType)
            {
                _momentType = _double;//触发了新的状态;
                //------------------------------------------------------------------------------------------------
                //Do something:
                //Put event;
                switch (_momentType)
                {
                case MomentType.KickTheDoor:
                    Debug.Log("MomentTypeAtPresent_Listenner");
                    EventQueue.GetInstance().PushEventForSecondqueue(EventFactory.GetInstance().GetEvent("SetACardOfKickTheDoor"));    //投递事件;
                    //----------------------------------------------------------------------------------------
                    //当前为踢门牌阶段;
                    //从踢门牌堆中获取一张卡牌;
                    //.............
                    //......
                    //...
                    //----------------------------------------------------------------------------------------
                    break;

                case MomentType.FreePhase:
                    //----------------------------------------------------------------------------------------
                    //当前为自由阶段;(抽到的踢门牌不为怪兽卡)
                    Console.WriteLine("当前为自由阶段,在此阶段你可以做任何想做的事情,阶段持续时间为10S,时间结束后,强制结束你的回合");

                    //----------------------------------------------------------------------------------------
                    break;

                case MomentType.CombatPhase:
                    //----------------------------------------------------------------------------------------
                    //当前为战斗阶段;(怪兽List不为空的时候)
                    Console.WriteLine("当前为战斗阶段");

                    //----------------------------------------------------------------------------------------
                    break;

                //----------------------------------------------------------------------------------------
                default:
                    break;
                }

                //-------------------------------------------------------------------------------------------------
            }



            //------------------------------------------------------------
        }
Esempio n. 10
0
        private TurnToStateType _turnToState; //求助状态;

        //.......
        //----------------------------------------------------------------
        private CoreDataObserver()
        {
            //------------------------------------------------------------
            _listennerList = new List <Base_Listenner>();
            Debug.Log(_listennerList.Count);
            _cardOfKickTheDoorAtPresent = null;
            _cardOfThePlayAtPresent     = null;
            _mySelf                    = null;
            _isYouRound                = false;              //是否为自己回合;
            _attackEnemyCards          = new Queue <Card>(); //对敌人释放的卡片;
            _momentTypeAtPresent       = MomentType.None;    //当前所属的游戏阶段;
            _cardOfTheMonsterAtPresent = new List <Card>();
            //.........
            //.....
            //...

            //------------------------------------------------------------
        }
 public SingleMomentPlot(ReportNode rp)
     : base(rp)
 {
     AddMenuItem("Statistics", "Mean", delegate
     {
         momenttype = MomentType.Mean;
         Plot();
     });
     AddMenuItem("Statistics", "Variance", delegate
     {
         momenttype = MomentType.Variance;
         Plot();
     });
     AddMenuItem("Statistics", "Third Moment", delegate
     {
         momenttype = MomentType.ThirdMoment;
         Plot();
     });
 }
Esempio n. 12
0
        private Moment(int time, string[] marbles, MomentType momentType)
        {
            if (marbles == null)
            {
                throw new ArgumentNullException(nameof(marbles));
            }

            if (momentType == MomentType.Empty && marbles.Length != 0)
            {
                throw MomentTypeMarbleCountMismatchException(marbles, momentType);
            }
            if (momentType == MomentType.Single && marbles.Length != 1)
            {
                throw MomentTypeMarbleCountMismatchException(marbles, momentType);
            }
            if ((momentType == MomentType.OrderedGroup || momentType == MomentType.UnorderedGroup) && marbles.Length <= 1)
            {
                throw MomentTypeMarbleCountMismatchException(marbles, momentType);
            }
            Time    = time;
            Marbles = marbles;
            Type    = momentType;
        }
Esempio n. 13
0
 private static ArgumentException MomentTypeMarbleCountMismatchException(IReadOnlyCollection <string> marbles, MomentType momentType)
 {
     return(new ArgumentException($"MomentType '{momentType}' and number of marbles '{marbles.Count}' do not match"));
 }
Esempio n. 14
0
 public void SetMomentType(MomentType momenttype)
 {
     //设置卡牌发动时机;
     _stage = momenttype;
 }