private void SetPickUp(string description, Loader loader, Material stub)
        {
            string[] pickUpParams = description.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Point    targetPoint  = new Point(int.Parse(pickUpParams[2]), int.Parse(pickUpParams[2]));
            Cell     cell         = map[targetPoint];
            PickUp   pickUp;

            switch (pickUpParams[1])
            {
            case "armor": pickUp = new MoreArmorItem(cell.Position); break;

            case "arrow": pickUp = new MoreArrowsItem(cell.Position); break;

            case "turn":
                pickUp = new MovementAbilityItem(cell.Position); break;

            default: pickUp = null; break;
            }
            pickUp.AddMeshObjects(loader.LoadMeshesFromObject(pickUpParams[4], stub));
            pickUp["Stand"].IsMoveable = false;
            cell.Unit       = Unit.Item;
            cell.UnitObject = pickUp;
            pickUps.Add(pickUp);
            map[targetPoint] = cell;
        }
Esempio n. 2
0
        public void MovementAbilityTest()
        {
            PickUp movement = new MovementAbilityItem(Vector4.Zero);

            movement.ChangeStates(archer);

            Assert.AreEqual(movement.Up, archer.TurnCount);
        }