private Unit9 GetUnitToPurchase(AbilityId itemId) { if (GameManager.GameMode == GameMode.Turbo) { return(this.owner); } var flags = itemId.GetShopFlags(); if ((this.GetUnitShopFlags(this.owner) & flags) != 0) { return(this.owner); } var courier = EntityManager9.Units.FirstOrDefault(x => x.IsCourier && x.IsAlly(this.owner) && x.IsAlive); if (courier == null) { return(null); } if ((this.GetUnitShopFlags(courier) & flags) != 0) { return(courier); } return(null); }
private Unit9 GetUnitToPurchase(AbilityId itemId) { if (GameManager.GameMode == GameMode.Turbo) { return(this.owner); } var itemFlags = itemId.GetShopFlags(); var ownerShopFlags = this.GetUnitShopFlags(this.owner); //if (this.prioritizeSideShop && ownerShopFlags == ShopFlags.None && (itemFlags & ShopFlags.Side) != 0) //{ // return null; //} if (!this.nearShop) { ownerShopFlags |= ShopFlags.Base; } if ((ownerShopFlags & itemFlags) != 0) { return(this.owner); } if (this.nearShop) { return(null); } var courier = EntityManager9.Units.FirstOrDefault(x => x.IsCourier && x.IsAlly(this.owner) && x.IsAlive); if (courier == null) { return(null); } if ((this.GetUnitShopFlags(courier) & itemFlags) != 0) { return(courier); } return(null); }