void ManageChannels(GameEntity product) { if (Marketing.IsNeedsMoreMarketersForCampaign(product)) { TryHireWorker(product, WorkerRole.Marketer); if (Marketing.IsNeedsMoreMarketersForCampaign(product)) { return; } } // TODO COPIED FROM MarketingChannelController.cs //var channels = Markets.GetAffordableMarketingChannels(product, gameContext); var channels = Markets.GetMaintainableMarketingChannels(product, gameContext) .Where(c => !Marketing.IsActiveInChannel(product, c.ID)) .OrderByDescending(c => c.Batch) .Take(8); if (!channels.Any()) { return; } var channel = channels.First(); var task = TeamTaskChannelActivity.FromChannel(channel); // new TeamTaskChannelActivity(channelId, Marketing.GetChannelCost(product, channelId)); Teams.AddTeamTask(product, ScheduleUtils.GetCurrentDate(gameContext), gameContext, 0, task); }
public override void Execute() { var channelId = ChannelInfo.ID; var product = Flagship; var payer = MyCompany; if (Marketing.IsActiveInChannel(product, channelId)) { Debug.Log("Is active already"); return; } if (Marketing.IsNeedsMoreMarketersForCampaign(product)) { NotificationUtils.AddSimplePopup(Q, "Hire more marketers!"); return; } var task = TeamTaskChannelActivity.FromChannel(ChannelInfo); // new TeamTaskChannelActivity(channelId, Marketing.GetChannelCost(product, channelId)); var cost = Teams.GetTaskCost(product, task, Q); /*if (Companies.IsEnoughResources(payer, cost)) * {*/ if (Teams.AddTeamTask(product, CurrentIntDate, Q, 0, task)) { Animate(Visuals.Negative($"-{Format.Money(cost)}")); } //} }
public override void Execute() { var channel = MarketingChannelView.channel; var company = Flagship; var relay = FindObjectOfType <FlagshipRelayInCompanyView>(); var channelId = channel.ID; var task = new TeamTaskChannelActivity(channelId, Marketing.GetChannelCost(company, channelId)); relay.AddPendingTask(task); var channelList = FindObjectOfType <MarketingChannelsListView>(); if (channelList != null) { // view render to recalculate features count channelList.ViewRender(); if (channelList.count == 0) { CloseModal("Marketing"); } MarketingChannelView.ViewRender(); } }
public override void Execute() { ScheduleUtils.ResumeGame(Q); var features = Markets.GetAffordableMarketingChannels(Flagship, Q); var channel = features.First(); var task = new TeamTaskChannelActivity(channel.ID, (long)channel.costPerAd); Teams.AddTeamTask(Flagship, CurrentIntDate, Q, 0, task); }