protected override void DoApply(Character source, ActionProduct action, BaseObject target)
 {
     foreach (Operation op in _operations)
     {
         op.Perform(_list, source, target);
     }
 }
 protected override void DoApply(ActionProduct action)
 {
     foreach (Operation op in _operations)
     {
         op.Perform(_list);
     }
 }
Пример #3
0
 public virtual bool TryApply(Characters.Character source, ActionProduct action, IEffect effect)
 {
     return(effect.TryApply(source, action, this));
 }
Пример #4
0
 public void NotifyActionHandled(ActionProduct action)
 {
     OnActionHandledEvent?.Invoke(action);
 }
Пример #5
0
 public virtual bool TryApply(BaseObject source, ActionProduct action, IEffect effect)
 {
     return(effect.TryApply(source, action, this));
 }
Пример #6
0
 public virtual bool TryApply(ActionProduct action, IEffect effect)
 {
     return(effect.TryApply(action, this));
 }
Пример #7
0
 public virtual bool DispatchTryApply(ActionProduct action, IEffect effect, BaseObject target)
 {
     return(target.TryApply(this, action, effect));
 }
Пример #8
0
 public Product(RepeatModifier resource, BaseObject target) : base(resource, target)
 {
     _action   = resource._action.Create();
     _resource = resource;
     Game.Instance.Clock.OnTickedHandler += OnTicked;
 }
Пример #9
0
        public static void Pagination(ActionPagination a, ActionProduct b)
        {
            ProductBusiness productBus = new ProductBusiness();

            switch (a)
            {
            case ActionPagination.Previus:
                ProductState.pagination.next  = true;
                ProductState.pagination.skip -= ProductState.pagination.limit;
                break;

            case ActionPagination.Next:
                ProductState.pagination.previus = true;
                ProductState.pagination.skip   += ProductState.pagination.limit;
                break;

            case ActionPagination.Load:
                break;

            case ActionPagination.Import:
                break;

            case ActionPagination.Delete:
                if (ProductState.pagination.total == ProductState.pagination.skip + 1 && ProductState.pagination.skip > 0)
                {
                    ProductState.pagination.skip -= ProductState.pagination.limit;
                }
                break;

            case ActionPagination.Create:
                break;

            case ActionPagination.FindProduct:
                ProductState.pagination.skip = 0;
                break;

            default: break;
            }
            List <Product> products = null;

            switch (b)
            {
            case ActionProduct.FilterByCategory:
                var result = productBus.getProductsByCategoryId(ProductState.pagination.skip, ProductState.pagination.limit, ProductState.categoryId);
                products = result.products;
                ProductState.pagination.total = result.count;
                CalPagination();
                break;

            case ActionProduct.GetAll:
                result   = productBus.getAll(ProductState.pagination.skip, ProductState.pagination.limit);
                products = result.products;
                ProductState.pagination.total = result.count;
                CalPagination();
                break;

            case ActionProduct.Reload:
                ProductState.pagination.skip = 0;
                result   = productBus.getAll(ProductState.pagination.skip, ProductState.pagination.limit);
                products = result.products;
                ProductState.pagination.total = result.count;
                CalPagination();
                break;

            case ActionProduct.FilterByName:
                result   = productBus.getProductsByName(ProductState.pagination.skip, ProductState.pagination.limit, ProductState.name);
                products = result.products;
                ProductState.pagination.total = result.count;
                CalPagination();
                break;

            case ActionProduct.FilterByCategoryAndName:
                result   = productBus.getProductsByCategoryIdAndName(ProductState.pagination.skip, ProductState.pagination.limit, ProductState.name, ProductState.categoryId);
                products = result.products;
                ProductState.pagination.total = result.count;
                CalPagination();
                break;

            default:
                break;
            }
            ProductState.productsState.Clear();
            for (int i = 0; i < products.Count; i++)
            {
                ProductState.productsState.Add(products[i]);
            }
        }