private void Awake() { if (Instance == null) { Instance = this; } }
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(); } }
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); }
public void CmdCancelTrade() { PlayerTradeManager tradeManager = PlayerTradeManager.Instance; tradeManager.ResetTrade(); }