internal static void AcquireCompany(CompanyTask task) { //var nicheType = (task as CompanyTaskExploreMarket).NicheType; //var niche = NicheUtils.GetNicheEntity(gameContext, nicheType); //niche.AddResearch(1); }
public static GameEntity GetTaskContainer(GameContext gameContext, CompanyTask companyTask) { var tasks = GetTimedActions(gameContext); var task = Array.Find(tasks, t => t.timedAction.CompanyTask.Equals(companyTask)); return(task); }
public static TimedActionComponent GetTask(GameContext gameContext, CompanyTask companyTask) { var tasks = GetTimedActions(gameContext); var task = Array.Find(tasks, t => t.timedAction.CompanyTask.Equals(companyTask)); return(task?.timedAction); }
internal static void ExploreMarket(CompanyTask task, GameContext gameContext) { var nicheType = (task as CompanyTaskExploreMarket).NicheType; var niche = Markets.Get(gameContext, nicheType); niche.AddResearch(1); }
internal static void TestCampaign(CompanyTask task, GameContext gameContext) { var t = task as CompanyTaskMarketingTestCampaign; var c = Companies.Get(gameContext, t.CompanyId); Marketing.AddClients(c, 100); }
public static GameEntity[] GetTasks(GameContext gameContext, CompanyTask taskType) { // TODO: add filtering tasks, which are done by other players! GameEntity[] gameEntities = Cooldowns.GetTasks(gameContext); return(Array.FindAll(gameEntities, e => e.timedAction.CompanyTask == taskType)); }
public static void AddTask(GameContext gameContext, CompanyTask companyTask, int duration) { var t = AddTimedAction(gameContext, companyTask, duration); if (t != null) { t.isTask = true; } }
internal static void UpgradeFeature(CompanyTask task, GameContext gameContext) { var t = (task as CompanyTaskUpgradeFeature); var product = Companies.Get(gameContext, t.CompanyId); product.features.features[t.ProductImprovement]++; product.features.Count++; }
internal static void RegularCampaign(CompanyTask task, GameContext gameContext) { var t = task as CompanyTaskMarketingRegularCampaign; var c = Companies.Get(gameContext, t.CompanyId); var clients = Marketing.GetAudienceGrowth(c, gameContext); Marketing.AddClients(c, clients); }
public static void AddCooldown(GameContext gameContext, CompanyTask task, int duration) { var t = AddTimedAction(gameContext, task, duration); if (t != null) { ProcessTask(t.timedAction, gameContext); t.isCooldown = true; } }
public static TimedActionComponent GetTask(GameContext gameContext, CompanyTask taskType) { GameEntity[] tasks = GetTasks(gameContext, taskType); if (tasks.Length == 0) { return(null); } return(tasks[0].timedAction); }
internal static void BrandingCampaign(CompanyTask task, GameContext gameContext) { var t = task as CompanyTaskBrandingCampaign; var c = Companies.Get(gameContext, t.CompanyId); Marketing.AddBrandPower(c, Balance.BRAND_CAMPAIGN_BRAND_POWER_GAIN); var clients = Marketing.GetAudienceGrowth(c, gameContext); Marketing.AddClients(c, clients); }
public void ReplaceTimedAction(bool newIsCompleted, CompanyTask newCompanyTask, int newStartTime, int newDuration, int newEndTime) { var index = GameComponentsLookup.TimedAction; var component = (TimedActionComponent)CreateComponent(index, typeof(TimedActionComponent)); component.isCompleted = newIsCompleted; component.CompanyTask = newCompanyTask; component.StartTime = newStartTime; component.Duration = newDuration; component.EndTime = newEndTime; ReplaceComponent(index, component); }
public static void ProcessTask(CompanyTask task, GameContext gameContext) { switch (task.CompanyTaskType) { case CompanyTaskType.ExploreMarket: ExploreMarket(task, gameContext); break; case CompanyTaskType.ExploreCompany: ExploreCompany(task, gameContext); break; case CompanyTaskType.AcquiringCompany: AcquireCompany(task); break; case CompanyTaskType.ReleasingApp: ReleaseApp(task); break; } }
internal static GameEntity AddTimedAction(GameContext gameContext, CompanyTask companyTask, int duration) { if (HasTask(gameContext, companyTask)) { return(null); } var e = gameContext.CreateEntity(); var start = ScheduleUtils.GetCurrentDate(gameContext); e.AddTimedAction(false, companyTask, start, duration, start + duration); return(e); }
public TaskWindow(IList <Product> pl, CompanyTask ct = null) { InitializeComponent(); ProductList = pl; ProductInput.ItemsSource = pl.Select(x => x.Name); CreatedAtInput.SelectedDate = ct?.CreatedAt ?? DateTime.Now; if (ct != null) { Data = ct; NameInput.Text = ct.Name; DescriptionInput.Text = ct.Description; DeadlineInput.SelectedDate = ct.Deadline; FinishedInput.IsChecked = ct.Finished; if (ct.ProductID != null) { ProductInput.SelectedIndex = pl.Select(x => x.ID).ToList().IndexOf((int)ct.ProductID); } } }
private void AcceptButton_Click(object sender, RoutedEventArgs e) { try { int?index = null; if (ProductInput.SelectedIndex != -1) { index = ProductList.ElementAt(ProductInput.SelectedIndex).ID; } if (DeadlineInput.SelectedDate == null) { throw new ArgumentException("You must specify a deadline."); } Data = new CompanyTask(NameInput.Text.Trim(), DescriptionInput.Text.Trim(), (DateTime)DeadlineInput.SelectedDate, index, (bool)FinishedInput.IsChecked); DialogResult = true; Close(); } catch (Exception ex) { WarningBox.Show(ex.Message); } }
internal static void ExploreCompany(CompanyTask task, GameContext gameContext) { var c = Companies.Get(gameContext, task.CompanyId); c.AddResearch(1); }
public override bool EqualsExactly(CompanyTask obj) { return((obj as CompanyTaskUpgradeFeature).ProductImprovement == ProductImprovement); }
public override bool EqualsExactly(CompanyTask obj) { return(NicheType == (obj as CompanyTaskExploreMarket).NicheType); }
internal static void ReleaseApp(CompanyTask task) { }
public static bool IsCanStartBrandingCampaign(GameEntity product, GameContext gameContext, CompanyTask task, long cost) { //Companies.IsEnoughResources(product, cost) && return(!Cooldowns.HasTask(gameContext, task)); }
private string GetDescriptionByTask(CompanyTask taskType) { return(taskType.CompanyTaskType.ToString()); }
public bool Equals(CompanyTask obj) { return(CompanyTaskType == obj.CompanyTaskType && CompanyId == obj.CompanyId && EqualsExactly(obj)); }
public static TimedActionComponent GetTask(GameContext gameContext, CompanyTask companyTask) { var task = GetTaskContainer(gameContext, companyTask); return(task?.timedAction); }
public virtual bool EqualsExactly(CompanyTask obj) => true;
bool HasTask(CompanyTask taskType) { // TODO return(ScheduleUtils.GetTask(Q, taskType) != null); }
public static bool HasTask(GameContext gameContext, CompanyTask companyTask) { var task = GetTask(gameContext, companyTask); return(task != null); }
public static bool CanUpgradeFeature(ProductFeature improvement, GameEntity product, GameContext gameContext, CompanyTask task) { return(HasFreeImprovements(product) && !Cooldowns.HasCooldown(gameContext, task)); }
public static bool HasCooldown(GameContext gameContext, CompanyTask task) { return(HasTask(gameContext, task)); }