/// <summary> /// Initializes a new instance of the <see cref="PlayerService"/> class. /// </summary> /// <param name="clientLurker">The lurker.</param> public PlayerService(ClientLurker clientLurker) { if (clientLurker != null) { this._clientLurker = clientLurker; this._clientLurker.PlayerLevelUp += this.Lurker_PlayerLevelUp; this._clientLurker.PlayerJoined += this.AddExternalPlayer; this._clientLurker.PlayerLeft += this.AddExternalPlayer; } this._playerBank = new PlayerBank(); if (!File.Exists(this.FilePath)) { using (var file = File.Create(this.FilePath)) { } this.Save(); } else { try { this._playerBank.ReadJsonFile(this.FilePath); this.CleanExternalPlayers(); } catch { File.Delete(this.FilePath); } } }
public void ClearGoodsAndCurrency() { foreach (BarterGoods good in PlayerGoods) { good.Clear(); } foreach (BarterGoods good in CharacterGoods) { good.Clear(); } if (PlayerBank != null && PlayerGoodsBank != null) { PlayerBank.Absorb(PlayerGoodsBank); } if (CharacterBank != null && CharacterGoodsBank != null) { CharacterBank.Absorb(CharacterGoodsBank); } PlayerGoodsBank.Clear(); CharacterGoodsBank.Clear(); TotalValueCharacterGoods = 0; TotalValuePlayerGoods = 0; BaseValueCharacterGoods = 0; BaseValuePlayerGoods = 0; RefreshAction.SafeInvoke(); }
private void Start() { //Seeks in the Bank Script the num of coins and Writes in the coins Text space in the top right corner Bank = FindObjectOfType <PlayerBank>(); numOfCoinsText.text = "Coins: " + Bank.numOfPlayerCoins.ToString(); UpdateTracksImage(); UpdateCarsImage(); }
// Start is called before the first frame update void Start() { bank = PlayerBank.Get(nation); col = GetComponent <Collider>(); foreach (var t in soldiers) { t.action = () => { Train(t); }; } }
private void Start() { bank = PlayerBank.Get(GetComponent <Nation>()); }
// Use this for initialization void Awake() { instance = this; }
protected IEnumerator MakeTradeoverTime() { Debug.Log("Starting to make trade"); var loadStart = GUILoading.LoadStart(GUILoading.Mode.SmallInGame); while (loadStart.MoveNext()) { yield return(null); } GUILoading.ActivityInfo = "Making Trade... " + CharacterGoods.Count.ToString() + " character goods going to player"; //give stuff to player... foreach (BarterGoods good in CharacterGoods) { foreach (KeyValuePair <WIStack, int> goodPair in good) { if (goodPair.Key.HasTopItem) { Debug.Log("Adding " + goodPair.Key.TopItem.FileName + " to player inventory..."); } var addItem = PlayerInventory.AddItems(goodPair.Key, goodPair.Value); while (addItem.MoveNext()) { yield return(null); } } yield return(null); } //wait a tick... yield return(null); //give stuff to character... foreach (BarterGoods good in PlayerGoods) { foreach (KeyValuePair <WIStack, int> goodPair in good) { var enumerator = CharacterInventory.AddItems(goodPair.Key, goodPair.Value); while (enumerator.MoveNext()) { yield return(null); } } } //TODO determine what counts as a 'successful use' BarterManager.Use(true); PlayerBank.Absorb(CharacterGoodsBank); CharacterBank.Absorb(PlayerGoodsBank); ClearGoodsAndCurrency(); MadeTradeThisSession = true; Player.Get.AvatarActions.ReceiveAction(AvatarAction.BarterMakeTrade, WorldClock.AdjustedRealTime); var loadFinish = GUILoading.LoadFinish(); while (loadFinish.MoveNext()) { yield return(null); } Debug.Log("Finished making trade"); mMakingTrade = false; yield break; }