예제 #1
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
 }
예제 #2
0
    public void CmdStartTrade(string playerId)
    {
        Player thisPlayer   = playerBehaviour.GetPlayer();
        Player targetPlayer = GameManager.Instance.GetPlayerById(playerId);

        PlayerTradeManager tradeManager = PlayerTradeManager.Instance;

        // Start a trade if there is no trade occuring right now.
        if (!tradeManager.trading)
        {
            tradeManager.trading    = true;
            tradeManager.offererId  = thisPlayer.GetId();
            tradeManager.receiverId = targetPlayer.GetId();
        }
    }
예제 #3
0
    public void CmdAttemptTrade()
    {
        PlayerTradeManager tradeManager = PlayerTradeManager.Instance;

        if (tradeManager.ShouldTradeResolve())
        {
            // Give everyone the resources they need
            Player receiver = GameManager.Instance.GetPlayerById(tradeManager.receiverId);
            Player offerer  = GameManager.Instance.GetPlayerById(tradeManager.offererId);

            offerer.AddResources(tradeManager.receiverLumber, tradeManager.receiverWool, tradeManager.receiverGrain, tradeManager.receiverBrick, tradeManager.receiverOre);
            receiver.AddResources(tradeManager.offererLumber, tradeManager.offererWool, tradeManager.offererGrain, tradeManager.offererBrick, tradeManager.offererOre);

            offerer.RemoveResources(tradeManager.offererLumber, tradeManager.offererWool, tradeManager.offererGrain, tradeManager.offererBrick, tradeManager.offererOre);
            receiver.RemoveResources(tradeManager.receiverLumber, tradeManager.receiverWool, tradeManager.receiverGrain, tradeManager.receiverBrick, tradeManager.receiverOre);

            PlayerTradeManager.Instance.ResetTrade();
        }

        GameManager.Instance.SetDirtyBit(0b11111111);
    }
예제 #4
0
    public void CmdCancelTrade()
    {
        PlayerTradeManager tradeManager = PlayerTradeManager.Instance;

        tradeManager.ResetTrade();
    }