Ejemplo n.º 1
0
 public void NotifyObservers(TradeActions tradAction)
 {
     foreach (ITradeObserver observer in _statObservers)
     {
         observer.OnNewTradeActivity(this, tradAction);
     }
 }
        public void RemoveTrade(TradeActions tradeAction, PlayerTrade trade)
        {
            if (tradeAction == TradeActions.TradeAccepted)
            {
                LeanTween.moveLocalX(arrow.gameObject, 43, 0.3f).setEase(LeanTweenType.easeInOutQuad);
                LeanTween.moveLocalX(counterMove.gameObject, 90, 0.5f).setEase(LeanTweenType.easeInQuad);
                counterMove.color = ColorPalette.current.GetPlayerColor(trade.ReceivingPlayerTags);
                LeanTween.rotateLocal(counterMove.gameObject,
                                      new Vector3(0, 0, GlobalMethods.GetDirectionRotation(trade.DirectionCounterOffer)), 0);

                LeanTween.color(GetComponent <Image>().rectTransform, new Color32(120, 224, 143, 255), 0.5f)
                .setEase(LeanTweenType.easeInOutBounce).setRepeat(3).setRecursive(false).setOnComplete(() =>
                {
                    LeanTween.moveLocalX(gameObject, -400, 0.4f).setEase(LeanTweenType.easeInQuad).setOnComplete(() => Destroy(gameObject));
                });
            }
            else
            {
                LeanTween.color(GetComponent <Image>().rectTransform, new Color32(229, 80, 57, 255), 0.5f)
                .setEase(LeanTweenType.easeInOutBounce).setRepeat(3).setRecursive(false).setOnComplete(() =>
                {
                    LeanTween.moveLocalX(gameObject, -400, 0.4f).setEase(LeanTweenType.easeInQuad).setOnComplete(() => Destroy(gameObject));
                });
            }
        }
        protected override void OnTradeBtn(Button button, TradeActions tradeAction, Direction direction)
        {
            switch (tradeAction)
            {
            case TradeActions.TradeRejected:
                foreach (KeyValuePair <PlayerTrade, GameObject> element in ElementDictionary)
                {
                    if (element.Key.TradeID == button.GetComponent <IncomingTradeElement>().GetTradeId())
                    {
                        element.Key.RejectTrade(PlayerController);
                        return;
                    }
                }

                break;

            case TradeActions.TradeAccepted:
                foreach (KeyValuePair <PlayerTrade, GameObject> element in ElementDictionary)
                {
                    if (element.Key.TradeID == button.GetComponent <IncomingTradeElement>().GetTradeId())
                    {
                        element.Key.AcceptTrade(direction, PlayerController);
                        return;
                    }
                }
                break;

            default:
                return;
            }
        }
Ejemplo n.º 4
0
 //Notify Methods
 public void TradeActionNotify(Button b, TradeActions action, Direction counterOffer)
 {
     if (OnTradeAction != null)
     {
         OnTradeAction(b, action, counterOffer);
     }
 }
Ejemplo n.º 5
0
        public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction)
        {
            if (playerTrade.ReceivingPlayerTags == _playerController.playerTag)
            {
                switch (tradeAction)
                {
                case TradeActions.TradeOffered:
                    AddIncomingTrade(playerTrade);
                    break;

                default:
                    RemoveIncomingTrade(playerTrade);
                    break;
                }
            }

            if (playerTrade.OfferingPlayerTags == _playerController.playerTag)
            {
                switch (tradeAction)
                {
                case TradeActions.TradeOffered:
                    AddOutgoingTrade(playerTrade);
                    break;

                default:
                    RemoveOutgoingTrade(playerTrade);
                    break;
                }
            }
        }
Ejemplo n.º 6
0
        /*
         * Class specific methods
         */
        public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction)
        {
            if (tradeAction == TradeActions.TradeOffered)
            {
                return;
            }

            MyNetworkedAgent.OnNewTradeActivity(playerTrade, tradeAction);
        }
Ejemplo n.º 7
0
 public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction)
 {
     if (tradeAction == TradeActions.TradeOffered)
     {
         AddTradeElement(playerTrade);
     }
     else
     {
         RemoveTradeElement(playerTrade, tradeAction);
     }
 }
Ejemplo n.º 8
0
        private void RemoveTradeElement(PlayerTrade trade, TradeActions tradeAction)
        {
            if (_trades.All(item => item.TradeID != trade.TradeID))
            {
                return;
            }

            _trades.Remove(trade);
            GameObject go = _tradeDictionary[trade];

            _tradeDictionary.Remove(trade);

            go.GetComponent <ObserverTradeElement>().RemoveTrade(tradeAction, trade);
        }
Ejemplo n.º 9
0
        private void OnTradeBtn(Button b, TradeActions action, Direction counterOffer)
        {
            PlayerTrade playerTrade = null;

            foreach (KeyValuePair <PlayerTrade, Button> valuePair in _incomingTradeDictionary)
            {
                if (valuePair.Value == b)
                {
                    playerTrade = valuePair.Key;
                }
            }

            foreach (KeyValuePair <PlayerTrade, Button> valuePair in _outgoingTradeDictionary)
            {
                if (valuePair.Value == b)
                {
                    playerTrade = valuePair.Key;
                }
            }

            if (playerTrade == null)
            {
                throw new Exception("We got a problem bois...");
            }


            switch (action)
            {
            case TradeActions.TradeRejected:
                playerTrade.RejectTrade(_playerController);
                break;

            case TradeActions.TradeAccepted:
                playerTrade.AcceptTrade(counterOffer, _playerController);
                break;

            case TradeActions.TradeCanceled:
                playerTrade.CancelTrade(_playerController.playerTag);
                break;

            case TradeActions.TradeCanceledByGameHandler:
                playerTrade.CancelTrade(GameHandler.Current);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(action), action, null);
            }
        }
        public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction)
        {
            if (playerTrade.OfferingPlayerTags == _playerController.playerTag)
            {
                switch (tradeAction)
                {
                case TradeActions.TradeOffered:
                    AddElement(playerTrade);
                    break;

                default:
                    RemoveElement(playerTrade);
                    break;
                }
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Communicating new trade updates to all
        /// </summary>
        /// <param name="trade"></param>
        /// <param name="tradeAction"></param>
        public void OnNewTradeActivity(PlayerTrade trade, TradeActions tradeAction)
        {
            /*
             * When i contact the agent and tell it there is a change in one of the trades
             * it will find the trade and apply the change. This will in turn notify the local networkgamehandler,
             * which will contact all players with the new change, which will do the exact same. Basically it will just
             * loop forever. This if statement prevents that
             */
            if (_processingNewTradeAction)
            {
                _processingNewTradeAction = false;
                return;
            }

            photonView.RPC("RPC_OnNewTradeActivity", RpcTarget.Others, trade.TradeID, tradeAction, trade.OfferingPlayerTags, trade.ReceivingPlayerTags, trade.DirectionCounterOffer);
        }
Ejemplo n.º 12
0
        public static string Type2Text(TradeActions value)
        {
            switch (value)
            {
            case TradeActions.Accumulate: return(Languages.Libs.GetString("accumulateAction"));

            case TradeActions.Buy: return(Languages.Libs.GetString("buyAction"));

            case TradeActions.Select: return(Languages.Libs.GetString("selectAction"));

            case TradeActions.Sell: return(Languages.Libs.GetString("sellAction"));

            case TradeActions.ClearAll: return(Languages.Libs.GetString("clearAllAction"));

            default: return("<" + Languages.Libs.GetString("select") + ">");
            }
        }
Ejemplo n.º 13
0
 public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction)
 {
     if (tradeAction == TradeActions.TradeOffered)
     {
         _nrOfTrades++;
     }
     //Type | Time | ID | offering player | receiving player | direction | Status | Counter Offer (If Available)
     _textWriter.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7}",
                           "Trade",
                           GetTimeReadable(),
                           playerTrade.TradeID,
                           playerTrade.OfferingPlayerTags,
                           playerTrade.ReceivingPlayerTags,
                           playerTrade.DirectionOffer,
                           tradeAction,
                           playerTrade.DirectionCounterOffer);
 }
Ejemplo n.º 14
0
        public void RPC_OnNewTradeActivity(int tradeId, TradeActions tradeAction, PlayerTags offeringPlayer, PlayerTags receivingPlayer, Direction counterMove)
        {
            print($"Received: {tradeId}, {tradeAction}, {offeringPlayer}, {receivingPlayer}, {counterMove}");
            _processingNewTradeAction = true;

            foreach (PlayerTrade trade in gameHandler.GetTrades())
            {
                if (trade.TradeID == tradeId)
                {
                    switch (tradeAction)
                    {
                    case TradeActions.TradeOffered:
                        //Will not happen
                        break;

                    case TradeActions.TradeRejected:
                        trade.RejectTrade(gameHandler.GetPlayerController(receivingPlayer));
                        break;

                    case TradeActions.TradeAccepted:
                        trade.AcceptTrade(counterMove, gameHandler.GetPlayerController(receivingPlayer));
                        break;

                    case TradeActions.TradeCanceled:
                        trade.CancelTrade(offeringPlayer);
                        break;

                    case TradeActions.TradeCanceledByGameHandler:
                        trade.CancelTrade(gameHandler);
                        break;

                    default:
                        throw new ArgumentOutOfRangeException(nameof(tradeAction), tradeAction, null);
                    }

                    return;
                }
            }
        }
Ejemplo n.º 15
0
 public static string Type2Text(TradeActions value)
 {
     switch (value)
     {
         case TradeActions.Accumulate: return Languages.Libs.GetString("accumulateAction");
         case TradeActions.Buy: return Languages.Libs.GetString("buyAction");
         case TradeActions.Select: return Languages.Libs.GetString("selectAction");
         case TradeActions.Sell: return Languages.Libs.GetString("sellAction");
         case TradeActions.ClearAll: return Languages.Libs.GetString("clearAllAction");
         default: return "<" + Languages.Libs.GetString("select") + ">";
     }
 }
Ejemplo n.º 16
0
 public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 17
0
 protected abstract void OnTradeBtn(Button arg1, TradeActions arg2, Direction arg3);
Ejemplo n.º 18
0
 public abstract void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction);
Ejemplo n.º 19
0
        protected void SendTradeEmail(int TradeId, TradeActions Operation, int Recipient)
        {
            // fetch trade contents
            string TeamAAssetts = SqlHelper.ExecuteScalar(
                System.Configuration.ConfigurationManager.AppSettings["ConnectionString"],
                "spGetTradeAssetts",
                m_TradeId,
                1).ToString();

            string TeamBAssetts = SqlHelper.ExecuteScalar(
                System.Configuration.ConfigurationManager.AppSettings["ConnectionString"],
                "spGetTradeAssetts",
                m_TradeId,
                2).ToString();

            // fetch trade information
            DataSet dc = SqlHelper.ExecuteDataset(
                System.Configuration.ConfigurationManager.AppSettings["ConnectionString"],
                "spGetTradeInfo",
                m_TradeId);
            string TeamA = dc.Tables[0].Rows[0]["TeamAName"].ToString();
            string TeamB = dc.Tables[0].Rows[0]["TeamBName"].ToString();
            string Conditional = dc.Tables[0].Rows[0]["Conditional"].ToString();
            string Comments = dc.Tables[0].Rows[0]["Comments"].ToString();
            Comments = Comments.Replace(Environment.NewLine, @"<br />");

            // form email contents
            string subject = "";
            string body = "<font face=calibri>";

            // Subject
            string sendingTeam = (m_TeamAId == Recipient) ? TeamB : TeamA;
            switch (Operation)
            {
                case TradeActions.Announce:
                    subject = "Official League Trade Announcement";
                    break;
                case TradeActions.Confirm:
                    subject = "Trade confirmed by " + sendingTeam;
                    break;
                case TradeActions.Propose:
                    subject = "Trade proposed by " + sendingTeam;
                    break;
                case TradeActions.Reject:
                    subject = "Trade rejected by " + sendingTeam;
                    break;
            }

            // Content
            string Contents =
                "<table border=0 width=415px><tr><td>"
                + SupportFunctions.CreateTradeContentHtml(TeamAAssetts, TeamBAssetts, TeamA, TeamB)
                + "</td></tr></table>";

            if (Operation == TradeActions.Propose)
            {
                body += sendingTeam + " proposed a trade with you: <br /><br />";
                body += Contents;
                body += "<br /> Conditional Information: <br />";
                body += Conditional;
                body += "<br /><br /> Comments: <br />";
                body += Comments;
                body += "<br /><br /> Please respond via the league site.";
            }
            else if (Operation == TradeActions.Reject)
            {
                body += sendingTeam + " rejected the following trade with you: <br /><br />";
                body += Contents;
                body += "<br /> Conditional Information: <br />";
                body += Conditional;
                body += "<br /><br /> Comments: <br />";
                body += Comments;
            }
            else if (Operation == TradeActions.Announce)
            {
                body += TeamA + " and " + TeamB + " have completed a trade:<br /><br />";
                body += Contents;
                body += "<br /> Conditional Information: <br />";
                body += Conditional;
            }
            else if (Operation == TradeActions.Confirm)
            {
                body += sendingTeam + " confirmed a trade with you: <br /><br />";
                body += Contents;
                body += "<br /> Conditional Information: <br />";
                body += Conditional;
                body += "<br /><br /> Comments: <br />";
                body += Comments;
                body += "<br /><br /> Please respond via the league site.";
            }

            body += "</font>";
            // flush email
            if (Operation == TradeActions.Announce)
            {
                mailer.sendSynchronousLeagueMail(
                    subject,
                    body,
                    true,
                    Page.User.Identity.Name);

                mailer.sendSynchronousPrivateMail(
                    subject,
                    body,
                    true,
                    Page.User.Identity.Name,
                    System.Configuration.ConfigurationManager.AppSettings["OCAddress"],
                    System.Configuration.ConfigurationManager.AppSettings["FromAddress"]);
            }
            else
            {
                string toEmail = SqlHelper.ExecuteScalar(
                    System.Configuration.ConfigurationManager.AppSettings["ConnectionString"],
                    "spGetTeamEmail",
                    Recipient).ToString();

                string fromEmail = SqlHelper.ExecuteScalar(
                    System.Configuration.ConfigurationManager.AppSettings["ConnectionString"],
                    "spGetTeamEmail",
                    (Recipient == m_TeamAId) ? m_TeamBId : m_TeamAId).ToString();

                mailer.sendSynchronousPrivateMail(
                    subject,
                    body,
                    true,
                    Page.User.Identity.Name,
                    toEmail,
                    fromEmail);
            }
        }