Пример #1
0
    public override void GetTargeter(Character _character)
    {
        SpaceContextualActions.Clear();


        for (int i = 0; i < TilePawnIsOn.neighbors.Count; i++)
        {
            if (TilePawnIsOn.neighbors[i].TargetableOnTile is AICharacter)
            {
                customer = (AICharacter)TilePawnIsOn.neighbors[i].TargetableOnTile;
                // for(int j = 0; j < _character.cariedObjects.Count; j++)
                //{
                //    if(_character.cariedObjects[j] is Food)
                //    {
                //        PlayercontrolledCharacter givingCharacter = (PlayercontrolledCharacter)_character;
                //        SpaceContextualActions.Add(new GiveItem(TilePawnIsOn,givingCharacter, j));
                //    }
                //}

                if (!customer.OrderHasBeenTaken)
                {
                    SpaceContextualActions.Add(new TakeOrder(_character, customer));
                }
            }
        }
    }
Пример #2
0
    public override void GetTargeter(Character character)
    {
        if (character is PlayercontrolledCharacter)
        {
            PlayercontrolledCharacter temp = (PlayercontrolledCharacter)character;

            SetName();
            SpaceContextualActions.Clear();
            SpaceContextualActions.Add(new TradeItemCommand(temp, this)); //PickUpItem(this, character, 0));
        }
    }
Пример #3
0
    public override void GetTargeter(Character character)
    {
        SpaceContextualActions.Clear();

        if (character is PlayercontrolledCharacter)
        {
            PlayercontrolledCharacter giver = (PlayercontrolledCharacter)character;
            if (character.cariedObjects.Count > 0)
            {
                //SpaceContextualActions.Add(new TradeItemCommand(giver, this)); // Make a serve food
            }
        }
    }
Пример #4
0
    public override void GetTargeter(Character character)
    {
        SpaceContextualActions.Clear();

        if (character is PlayercontrolledCharacter)
        {
            PlayercontrolledCharacter temp     = (PlayercontrolledCharacter)character;
            List <iCaryable>          heldFood = new List <iCaryable>();
            for (int i = 0; i < character.cariedObjects.Count; i++)
            {
                // if (character.cariedObjects[i] is Supply)
                // {
                // Supply supply = (Supply)character.cariedObjects[i];
                //heldFood.Add(supply.FoodThisSupplyMakes);
                // }

                if (character.cariedObjects[i] is Food)
                {
                    Food food = (Food)character.cariedObjects[i];
                    heldFood.Add(food);
                }
            }

            heldFood.AddRange(cariedObjects);
            for (int j = 0; j < recipiesThatCanBeCreated.Count; j++)
            {
                if (recipiesThatCanBeCreated[j].CanCraftFood(heldFood))
                {
                    SpaceContextualActions.Add(new CraftFood(this, character, recipiesThatCanBeCreated[j]));
                }
            }

            if (cariedObjects.Count > 0)
            {
                SpaceContextualActions.Add(new TradeItemCommand(temp, this));
            }
        }
    }
Пример #5
0
 public override void GetTargeter(Character character)
 {
     SpaceContextualActions.Clear();
     SpaceContextualActions.Add(new Exit(character));
 }