Пример #1
0
        string updateActionBySys(interfaceOfEngine.tryCatchAction actionDo, OrderToReturnBySystem c, string operateKey)
        {
            string conditionNotReason;

            if (actionDo.conditionsOk(c, out conditionNotReason))
            {
                List <string> notifyMsg = new List <string>();
                lock (that.PlayerLock)
                {
                    if (that._Players.ContainsKey(operateKey))
                    {
                        if (that._Players[operateKey].Bust)
                        {
                            var player = that._Players[operateKey];
                            var car    = that._Players[operateKey].getCar();
                            switch (car.state)
                            {
                            case CarState.waitOnRoad:
                            {
                                if (actionDo.carAbilitConditionsOk(player, car, c))
                                {
                                    car.setState(player, ref notifyMsg, CarState.returning);
                                    setReturn(new returnning()
                                        {
                                            c            = "returnning",
                                            changeType   = returnning.ChangeType.BeforeTax,
                                            key          = player.Key,
                                            returningOjb = player.returningOjb,
                                            target       = car.targetFpIndex
                                        });
                                }
                            }; break;
                            }
                        }
                    }
                }

                for (var i = 0; i < notifyMsg.Count; i += 2)
                {
                    var url     = notifyMsg[i];
                    var sendMsg = notifyMsg[i + 1];
                    //Console.WriteLine($"url:{url}");
                    if (!string.IsNullOrEmpty(url))
                    {
                        Startup.sendMsg(url, sendMsg);
                    }
                }
                return("");
            }
            else
            {
                return(conditionNotReason);
            }
        }
Пример #2
0
 internal string OrderToReturn(OrderToReturn otr)
 {
     if (otr.c == "OrderToReturn")
     {
         //   return this.
         return(this.updateAction(this, otr, otr.Key));
     }
     else if (otr.c == "OrderToReturnBySystem")
     {
         OrderToReturnBySystem otrbs = (OrderToReturnBySystem)otr;
         return(this.updateActionBySys(this, otrbs, otrbs.Key));
     }
     else
     {
         throw new Exception($"{otr.c}__没有注册!!!");
     }
     //throw new NotImplementedException();
 }