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; }
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; }
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); }
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; } //------------------------------------------------------------------------------------------------- } //------------------------------------------------------------ }
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(); }); }
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; }
private static ArgumentException MomentTypeMarbleCountMismatchException(IReadOnlyCollection <string> marbles, MomentType momentType) { return(new ArgumentException($"MomentType '{momentType}' and number of marbles '{marbles.Count}' do not match")); }
public void SetMomentType(MomentType momenttype) { //设置卡牌发动时机; _stage = momenttype; }