コード例 #1
0
ファイル: FishOrderController.cs プロジェクト: japhet98/FMS
 public void DeleteFishOrder(FishOrder order)
 {
     order = _db.FishOrders.FirstOrDefault(cust => cust.orderId == order.orderId);
     if (order != null)
     {
         _db.Entry(order).State = EntityState.Deleted;
         _db.SaveChanges();
     }
     else
     {
         throw new Exception("FishOrder Id cannot be found");
     }
 }
コード例 #2
0
        /// <summary>
        /// Constructs an order from the orderTag against the given target,
        /// and assigns it to all selected actors
        /// </summary>
        public void IssueOrder(CommandType orderTag, NeolithicObject target)
        {
            var actors = selected.Select(go => go.GetComponent <ActorController>()).Where(a => a != null);

            foreach (var actor in actors)
            {
                BaseOrder newOrder = null;
                switch (orderTag)
                {
                case CommandType.ChopWood:
                case CommandType.MineGold:
                case CommandType.MineStone:
                case CommandType.Forage:
                    newOrder = new HarvestFromReservoirOrder(actor, target);
                    break;

                case CommandType.ChuckWood:
                    newOrder = new TransmuteOrder(actor, target, ResourceKind.Wood, ResourceKind.Gold);
                    break;

                case CommandType.Meditate:
                    newOrder = new MeditateOrder(actor, target);
                    break;

                case CommandType.Hunt:
                    newOrder = new HuntOrder(actor, target.GetComponentInParent <Herd>());
                    break;

                case CommandType.Fish:
                    newOrder = new FishOrder(actor, target);
                    break;

                case CommandType.Construct:
                    newOrder = new ConstructOrder(actor, target);
                    break;

                case CommandType.TearDown:
                    newOrder = new TearDownOrder(actor, target);
                    break;

                case CommandType.ForestGarden:
                    var prefab = (GameObject)Resources.Load("Buildings/ForestGarden");
                    if (prefab == null)
                    {
                        throw new InvalidOperationException("Can't find prefab");
                    }
                    newOrder = new UpgradeReservoirOrder(actor, target, prefab);
                    break;

                default:
                    throw new InvalidOperationException("Unrecognized order tag " + orderTag);
                }

                Factory.InjectObject(newOrder);
                if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
                {
                    actor.EnqueueOrder(newOrder);
                }
                else
                {
                    actor.OverrideOrder(newOrder);
                }
            }
        }
コード例 #3
0
ファイル: FishOrderController.cs プロジェクト: japhet98/FMS
 public void UpdateFishOrder(FishOrder order)
 {
     order = _db.FishOrders.FirstOrDefault(cust => cust.orderId == order.orderId);
     _db.Entry(order).State = EntityState.Modified;
     _db.SaveChanges();
 }
コード例 #4
0
ファイル: FishOrderController.cs プロジェクト: japhet98/FMS
 public void AddFishOrder(FishOrder order)
 {
     _db.FishOrders.Add(order);
     _db.SaveChanges();
 }