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)}")); } //} }
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() { 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); }
public override void Execute() { ScheduleUtils.ResumeGame(Q); var features = Products.GetUpgradeableRetentionFeatures(Flagship); var task = new TeamTaskFeatureUpgrade(features.First()); Teams.AddTeamTask(Flagship, CurrentIntDate, Q, 0, task); //Cooldowns.AddTask(Q, new CompanyTaskUpgradeFeature(Flagship.company.Id, new NewProductFeature())) }
public override void OnItemSelected(int ind) { base.OnItemSelected(ind); var teamId = Items[ind].GetComponent <TeamView>().teamId; bool overloaded = Flagship.team.Teams[teamId].Tasks.Count >= 4; if (overloaded) { NotificationUtils.AddSimplePopup(Q, "This team is overloaded", "Choose another team"); return; } var relay = FindObjectOfType <FlagshipRelayInCompanyView>(); var task = relay.TeamTask; Teams.AddTeamTask(Flagship, CurrentIntDate, Q, teamId, task); relay.ChooseMainScreen(); if (task.IsFeatureUpgrade) { SoundManager.Play(Sound.ProgrammingTask); } if (task.IsHighloadTask) { SoundManager.Play(Sound.ServerTask); } if (task.IsMarketingTask) { SoundManager.Play(Sound.MarketingTask); } if (task.IsSupportTask) { SoundManager.Play(Sound.SupportTask); } Refresh(); }
public void AddPendingTask(TeamTask teamTask) { TeamTask = teamTask; //ScheduleUtils.PauseGame(Q); if (Teams.AddTeamTask(Flagship, CurrentIntDate, Q, 0, teamTask)) { if (teamTask.IsFeatureUpgrade) { SoundManager.Play(Sound.ProgrammingTask); } if (teamTask.IsMarketingTask) { //SoundManager.Play(Sound.MarketingTask); } if (teamTask.IsHighloadTask) { SoundManager.Play(Sound.ServerTask); } } }