예제 #1
0
        public void DoTrade(TradeData trade)
        {
            OtherPlayerState ai = RandomAI();

            if (ai == OtherPlayerState.Trade)
            {
            }
            else if (ai == OtherPlayerState.Yes)
            {
                trade.RequestSender.ChangeItemCount(trade.ItemsToTrade);

                for (int i = 0; i < GlobalVariables.MaxItemNumber; i++)
                {
                    trade.ItemsToTrade[i].Count *= -1;
                }

                trade.RequestReceiver.ChangeItemCount(trade.ItemsToTrade);
            }
            else
            {
            }        // ai == OtherPlayerState.No

            GameManager.Instance.SendTradeResult(ai);
            Callback();
        }
예제 #2
0
        public void DoTrade(TradeData trade)
        {
            OtherPlayerState ai = RandomAI();

            if (ai == OtherPlayerState.Trade)
            {
                LogManager.Instance.UserDebug(LogColor.Orange, GetType().ToString(), "재협상");
            }
            else if (ai == OtherPlayerState.Yes)
            {
                LogManager.Instance.UserDebug(LogColor.Orange, GetType().ToString(), "거래 성공");
                trade.RequestSender.ChangeItemCount(trade.ItemsToTrade);

                for (int i = 0; i < GlobalVariables.MaxItemNumber; i++)
                {
                    trade.ItemsToTrade[i].Count *= -1;
                }

                trade.RequestReceiver.ChangeItemCount(trade.ItemsToTrade);
            }
            else // ai == OtherPlayerState.No
            {
                LogManager.Instance.UserDebug(LogColor.Orange, GetType().ToString(), "거래 실패");
            }

            LogManager.Instance.UserDebug(LogColor.Orange, GetType().ToString(), "거래 종료");
            GameManager.Instance.SendTradeResult(ai);
            //Callback(); // 필요 없을듯?
        }
예제 #3
0
        public void RecieveTradeData(OtherPlayerState state)
        {
            Debug.Log("컨트롤러에서 상태 받아옴");

            if (state == OtherPlayerState.Yes)
            {
                aIText[AiNumber].text = OtherPlayerState.Yes.ToString();
                tradePopUp.SetActive(true);
                tradeSuccessText.SetActive(true);
            }
            else
            {
                aIText[AiNumber].text = OtherPlayerState.No.ToString();
                tradePopUp.SetActive(true);
                tradeNoText.SetActive(true);
            }
        }
예제 #4
0
 public void RecieveTradeResult(OtherPlayerState state)
 {
     tradeUI.GetComponentInChildren <UITradeCard>().RecieveTradeData(state);
 }
예제 #5
0
 /// <summary>
 /// 거래 결과를 전달합니다.
 /// </summary>
 public void SendTradeResult(OtherPlayerState otherPlayerState)
 {
     UIManager.Instance.RecieveTradeResult(otherPlayerState);
 }