Exemple #1
0
    public void SetPosition(Vector2Int newPosition, ScenarioState state)
    {
        _position = newPosition;

        ItemData itemData = state.GetItemInPosition(newPosition);

        if (itemData == null || itemData.CollectionType != ItemCollectionType.OnStep)
        {
            return;
        }

        state.CollectItem(itemData, this);
    }
Exemple #2
0
    public static void CollectFinishMoveItems(this ScenarioState state)
    {
        List <EntityData> allEntities = state.GetAllEntities();

        for (int i = 0; i < allEntities.Count; i++)
        {
            EntityData entity = allEntities[i];

            ItemData itemAtEntityPosition = state.GetItemInPosition(entity.Position);

            if (itemAtEntityPosition == null)
            {
                continue;
            }

            state.CollectItem(itemAtEntityPosition, entity);
        }
    }
Exemple #3
0
 public static bool DoesPositionContainItemWhere(this ScenarioState state, Vector2Int position, Predicate <ItemData> predicate)
 {
     return(state.DoesPositionContainItem(position) &&
            predicate(state.GetItemInPosition(position)));
 }