Exemplo n.º 1
0
        internal static void AcquireCompany(CompanyTask task)
        {
            //var nicheType = (task as CompanyTaskExploreMarket).NicheType;

            //var niche = NicheUtils.GetNicheEntity(gameContext, nicheType);
            //niche.AddResearch(1);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        internal static void ExploreMarket(CompanyTask task, GameContext gameContext)
        {
            var nicheType = (task as CompanyTaskExploreMarket).NicheType;

            var niche = Markets.Get(gameContext, nicheType);

            niche.AddResearch(1);
        }
Exemplo n.º 5
0
        internal static void TestCampaign(CompanyTask task, GameContext gameContext)
        {
            var t = task as CompanyTaskMarketingTestCampaign;

            var c = Companies.Get(gameContext, t.CompanyId);

            Marketing.AddClients(c, 100);
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        public static void AddTask(GameContext gameContext, CompanyTask companyTask, int duration)
        {
            var t = AddTimedAction(gameContext, companyTask, duration);

            if (t != null)
            {
                t.isTask = true;
            }
        }
Exemplo n.º 8
0
        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++;
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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;
            }
        }
Exemplo n.º 11
0
        public static TimedActionComponent GetTask(GameContext gameContext, CompanyTask taskType)
        {
            GameEntity[] tasks = GetTasks(gameContext, taskType);

            if (tasks.Length == 0)
            {
                return(null);
            }

            return(tasks[0].timedAction);
        }
Exemplo n.º 12
0
        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);
    }
Exemplo n.º 14
0
        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;
            }
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
 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);
         }
     }
 }
Exemplo n.º 17
0
 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);
     }
 }
Exemplo n.º 18
0
        internal static void ExploreCompany(CompanyTask task, GameContext gameContext)
        {
            var c = Companies.Get(gameContext, task.CompanyId);

            c.AddResearch(1);
        }
Exemplo n.º 19
0
 public override bool EqualsExactly(CompanyTask obj)
 {
     return((obj as CompanyTaskUpgradeFeature).ProductImprovement == ProductImprovement);
 }
Exemplo n.º 20
0
 public override bool EqualsExactly(CompanyTask obj)
 {
     return(NicheType == (obj as CompanyTaskExploreMarket).NicheType);
 }
Exemplo n.º 21
0
 internal static void ReleaseApp(CompanyTask task)
 {
 }
Exemplo n.º 22
0
 public static bool IsCanStartBrandingCampaign(GameEntity product, GameContext gameContext, CompanyTask task, long cost)
 {
     //Companies.IsEnoughResources(product, cost) &&
     return(!Cooldowns.HasTask(gameContext, task));
 }
Exemplo n.º 23
0
 private string GetDescriptionByTask(CompanyTask taskType)
 {
     return(taskType.CompanyTaskType.ToString());
 }
Exemplo n.º 24
0
 public bool Equals(CompanyTask obj)
 {
     return(CompanyTaskType == obj.CompanyTaskType && CompanyId == obj.CompanyId && EqualsExactly(obj));
 }
Exemplo n.º 25
0
        public static TimedActionComponent GetTask(GameContext gameContext, CompanyTask companyTask)
        {
            var task = GetTaskContainer(gameContext, companyTask);

            return(task?.timedAction);
        }
Exemplo n.º 26
0
 public virtual bool EqualsExactly(CompanyTask obj) => true;
Exemplo n.º 27
0
    bool HasTask(CompanyTask taskType)
    {
        // TODO

        return(ScheduleUtils.GetTask(Q, taskType) != null);
    }
Exemplo n.º 28
0
        public static bool HasTask(GameContext gameContext, CompanyTask companyTask)
        {
            var task = GetTask(gameContext, companyTask);

            return(task != null);
        }
Exemplo n.º 29
0
 public static bool CanUpgradeFeature(ProductFeature improvement, GameEntity product, GameContext gameContext, CompanyTask task)
 {
     return(HasFreeImprovements(product) && !Cooldowns.HasCooldown(gameContext, task));
 }
Exemplo n.º 30
0
 public static bool HasCooldown(GameContext gameContext, CompanyTask task)
 {
     return(HasTask(gameContext, task));
 }