コード例 #1
0
    private bool CanPlace(IPlaceable placeable, Position position, Position3D position3D)
    {
        if (position3D == null)
        {
            return(false);
        }

        if (!placeable.CanPlace(position, this))
        {
            return(false);
        }

        List <IPlaceable> overlappingContent = GetContent(position);

        if (overlappingContent == null)
        {
            return(false);
        }
        foreach (IPlaceable currentOccupant in overlappingContent)
        {
            if (!placeable.CanColocate(placeable))
            {
                return(false);
            }
        }
        return(true);
    }