示例#1
0
    private void MessageReceived(IRemoteConnection sender, string message)
    {
        messageCount++;


        if (message.StartsWith(MessagePrefix.MAP))
        {
            MapMessage mapMessage = new MapMessage();
            mapMessage.DeserializeArguments(message.Remove(0, MessagePrefix.MAP.Length));
            MapMessages.Enqueue(mapMessage);
        }
        else if (message.StartsWith(MessagePrefix.BANK))
        {
            BankMessage bankMessage = new BankMessage();
            bankMessage.DeserializeArguments(message.Remove(0, MessagePrefix.BANK.Length));
            BankMessages.Enqueue(bankMessage);
        }
        else if (message.StartsWith(MessagePrefix.CAMERA))
        {
            Debug.Log("received " + message);
            CameraMessage camMessage = new CameraMessage();
            camMessage.DeserializeArguments(message.Remove(0, MessagePrefix.CAMERA.Length));
            CameraMessages.Enqueue(camMessage);
        }
    }
示例#2
0
        public IHttpActionResult BankSMS(BankMessage bankMessage)
        {
            BankService bnkService = new BankService();

            try
            {
                List <Transaction> allBankSms = bnkService.saveTransactKeyValues(bankMessage);

                var transactionDetails = bnkService.addTransactions(allBankSms);
                return(Ok(new
                {
                    IsSuccessful = true,
                    Result = "Transaction Details Added Successfully"
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(JsonConvert.SerializeObject(new
                {
                    IsSuccessful = false,
                    ErrorMessage = "Error encountered while inserting transactions",
                    Error = e
                })));
            }
        }
        public List <Transaction> saveTransactKeyValues(BankMessage bankMessage)
        {
            var Transactions = new List <Transaction>();

            for (int i = 0; i < bankMessage.BankMessageArray.Length; i++)
            {
                var result = BankTransact(bankMessage.BankMessageArray[i], i, bankMessage.BankMessageDateArray[i]);

                if (result.transactionType == "")
                {
                    continue;
                }
                else
                {
                    Transactions.Add(new Transaction
                    {
                        amounts         = result.amounts,
                        balance         = result.balance,
                        transactionDate = result.transactionDate,
                        transactionType = result.transactionType,
                        descrption      = result.descrption
                    });
                }
            }
            return(Transactions);
        }
示例#4
0
        /// <summary>
        /// </summary>
        /// <param name="client">
        /// </param>
        /// <returns>
        /// </returns>
        public static BankMessage Create(IZoneClient client)
        {
            BankMessage bank = new BankMessage()
                               {
                                   Identity = client.Character.Identity,
                                   BankSlots =
                                       client.Character.BaseInventory.Pages[(int)IdentityType.Bank]
                                       .ToInventoryArray()
                               };

            return bank;
        }
示例#5
0
        /// <summary>
        /// </summary>
        /// <param name="client">
        /// </param>
        /// <returns>
        /// </returns>
        public static BankMessage Create(IZoneClient client)
        {
            BankMessage bank = new BankMessage()
            {
                Identity  = client.Character.Identity,
                BankSlots =
                    client.Character.BaseInventory.Pages[(int)IdentityType.Bank]
                    .ToInventoryArray()
            };

            return(bank);
        }
示例#6
0
        /// <summary>
        /// </summary>
        /// <param name="self">
        /// </param>
        /// <param name="caller">
        /// </param>
        /// <param name="target">
        /// </param>
        /// <param name="arguments">
        /// </param>
        /// <returns>
        /// </returns>
        public override bool Execute(
            INamedEntity self,
            INamedEntity caller,
            IInstancedEntity target,
            MessagePackObject[] arguments)
        {
            IZoneClient client      = ((ICharacter)self).Client;
            BankMessage bankmessage = OpenBank.Create(client);

            client.Character.Send(bankmessage);
            return(true);
        }
示例#7
0
文件: MapModule.cs 项目: zril/Coma
        public override void Update(TimeSpan elapsed)
        {
            if (GameModel.Instance.BodyPlayer != null || GameModel.Instance.SoulPlayer != null)
            {
                if (!GameModel.Instance.BodyCamInit && GameModel.Instance.BodyPlayer != null)
                {
                    var camMessage = new CameraMessage(GameModel.Instance.BodyMap.Start.X, GameModel.Instance.BodyMap.Start.Y);
                    GlobalServer.Instance.SendMessage(GameModel.Instance.BodyPlayer.Id, camMessage.ToString());
                    GameModel.Instance.BodyCamInit = true;
                }

                if (!GameModel.Instance.SoulCamInit && GameModel.Instance.SoulPlayer != null)
                {
                    var camMessage = new CameraMessage(GameModel.Instance.SoulMap.Start.X, GameModel.Instance.SoulMap.Start.Y);
                    GlobalServer.Instance.SendMessage(GameModel.Instance.SoulPlayer.Id, camMessage.ToString());
                    GameModel.Instance.SoulCamInit = true;
                }

                ResetTiles(PlayerType.BODY);
                ResetTiles(PlayerType.SOUL);

                UpdateTiles(PlayerType.BODY);
                UpdateTiles(PlayerType.SOUL);

                ResolveDestructions(PlayerType.BODY);
                ResolveDestructions(PlayerType.SOUL);

                if (GameModel.Instance.BodyPlayer != null)
                {
                    MapMessage bodyMessage = new MapMessage(GameModel.Instance.BodyMap.GetTiles());
                    GlobalServer.Instance.SendMessage(GameModel.Instance.BodyPlayer.Id, bodyMessage.ToString());
                }

                if (GameModel.Instance.SoulPlayer != null)
                {
                    MapMessage soulMessage = new MapMessage(GameModel.Instance.SoulMap.GetTiles());
                    GlobalServer.Instance.SendMessage(GameModel.Instance.SoulPlayer.Id, soulMessage.ToString());
                }
            }

            BankMessage bankMessage = new BankMessage(GameModel.Instance.Bank.Cells, GameModel.Instance.Bank.Nutrients, GameModel.Instance.Bank.Thoughts, GameModel.Instance.Bank.Ideas);

            if (GameModel.Instance.BodyPlayer != null)
            {
                GlobalServer.Instance.SendMessage(GameModel.Instance.BodyPlayer.Id, bankMessage.ToString());
            }
            if (GameModel.Instance.SoulPlayer != null)
            {
                GlobalServer.Instance.SendMessage(GameModel.Instance.SoulPlayer.Id, bankMessage.ToString());
            }
        }
示例#8
0
 IEnumerator GeneralMessagesCoroutine()
 {
     while (true)
     {
         while (Global.Instance.BankMessages.Count > 0)
         {
             BankMessage bankMessage = Global.Instance.BankMessages.Dequeue();
             SetBank(bankMessage.Cells, bankMessage.Nutrients, bankMessage.Thoughts, bankMessage.Ideas);
         }
         while (Global.Instance.CameraMessages.Count > 0)
         {
             CameraMessage cameraMessage = Global.Instance.CameraMessages.Dequeue();
             GetComponent <InputControl>().MoveCamera(cameraMessage.X, cameraMessage.Y);
         }
         yield return(null);
     }
 }