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; } }
//Notify Methods public void TradeActionNotify(Button b, TradeActions action, Direction counterOffer) { if (OnTradeAction != null) { OnTradeAction(b, action, counterOffer); } }
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; } } }
/* * Class specific methods */ public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction) { if (tradeAction == TradeActions.TradeOffered) { return; } MyNetworkedAgent.OnNewTradeActivity(playerTrade, tradeAction); }
public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction) { if (tradeAction == TradeActions.TradeOffered) { AddTradeElement(playerTrade); } else { RemoveTradeElement(playerTrade, tradeAction); } }
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); }
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; } } }
/// <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); }
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") + ">"); } }
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); }
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; } } }
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") + ">"; } }
public void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction) { throw new NotImplementedException(); }
protected abstract void OnTradeBtn(Button arg1, TradeActions arg2, Direction arg3);
public abstract void OnNewTradeActivity(PlayerTrade playerTrade, TradeActions tradeAction);
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); } }